diff options
Diffstat (limited to 'meta/recipes-support/libpcre')
-rw-r--r-- | meta/recipes-support/libpcre/files/pcre-cross.patch | 25 | ||||
-rw-r--r-- | meta/recipes-support/libpcre/libpcre_8.10.bb | 53 |
2 files changed, 78 insertions, 0 deletions
diff --git a/meta/recipes-support/libpcre/files/pcre-cross.patch b/meta/recipes-support/libpcre/files/pcre-cross.patch new file mode 100644 index 0000000000..0626fb347a --- /dev/null +++ b/meta/recipes-support/libpcre/files/pcre-cross.patch @@ -0,0 +1,25 @@ +To be upstreamable, this patch requires check for *_FOR_BUILD, otherwise +it needs to pass special variables. + +It would be nice to implement per-target compiler specification to +automake, as it is done for linker. + +Even better it would be nice to implement native build time targets in +automake. + +Index: pcre-7.6/Makefile.am +=================================================================== +--- pcre-7.6.orig/Makefile.am 2008-01-23 17:58:28.000000000 +0000 ++++ pcre-7.6/Makefile.am 2008-04-03 22:32:00.000000000 +0000 +@@ -147,6 +147,11 @@ + + noinst_PROGRAMS += dftables + dftables_SOURCES = dftables.c ++dftables_LINK = $(LINK_FOR_BUILD) -o $@ ++dftables_LDFLAGS = $(LDFLAGS_FOR_BUILD) ++ ++dftables.o: $(srcdir)/dftables.c ++ $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $(srcdir)/dftables.c + + pcre_chartables.c: dftables$(EXEEXT) + ./dftables$(EXEEXT) $@ diff --git a/meta/recipes-support/libpcre/libpcre_8.10.bb b/meta/recipes-support/libpcre/libpcre_8.10.bb new file mode 100644 index 0000000000..840d74a658 --- /dev/null +++ b/meta/recipes-support/libpcre/libpcre_8.10.bb @@ -0,0 +1,53 @@ +DESCRIPTION = "Perl-compatible regular expression library. PCRE has its own native \ +API, but a set of 'wrapper' functions that are based on the POSIX API \ +are also supplied in the library libpcreposix. Note that this just \ +provides a POSIX calling interface to PCRE; the regular expressions \ +themselves still follow Perl syntax and semantics. The header file for \ +the POSIX-style functions is called pcreposix.h." +SECTION = "devel" +PR = "r4" +LICENSE = "BSD" +SRC_URI = "${SOURCEFORGE_MIRROR}/pcre/pcre-${PV}.tar.bz2 \ + file://pcre-cross.patch;patch=1" +S = "${WORKDIR}/pcre-${PV}" + +PROVIDES = "pcre" + +inherit autotools binconfig + +PARALLEL_MAKE = "" + +CFLAGS_append = " -D_REENTRANT" +CXXFLAGS_powerpc += "-lstdc++" +EXTRA_OECONF = " --with-link-size=2 --enable-newline-is-lf --with-match-limit=10000000 --enable-rebuild-chartables --enable-utf8" + +do_compile () { + # stop libtool from trying to link with host libraries - fix from #33 + # this resolve build problem on amd64 - #1015 + if [ -e ${S}/${TARGET_SYS}-libtool ] ; then + sed -i 's:-L\$:-L${STAGING_LIBDIR} -L\$:' ${S}/${TARGET_SYS}-libtool + else + ln -sf ${S}/libtool ${S}/${TARGET_SYS}-libtool + sed -i 's:-L\$:-L${STAGING_LIBDIR} -L\$:' ${S}/${TARGET_SYS}-libtool + fi + + # The generation of dftables can lead to timestamp problems with ccache + # because the generated config.h seems newer. It is sufficient to ensure that the + # attempt to build dftables inside make will actually work (foo_FOR_BUILD is + # only used for this). + oe_runmake CC_FOR_BUILD="${BUILD_CC}" CFLAGS_FOR_BUILD="-DLINK_SIZE=2 -I${S}/include" LINK_FOR_BUILD="${BUILD_CC} -L${S}/lib" +} + +python populate_packages_prepend () { + pcre_libdir = bb.data.expand('${libdir}', d) + pcre_libdir_dbg = bb.data.expand('${libdir}/.debug', d) + do_split_packages(d, pcre_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'libpcre %s development package', extra_depends='${PN}-dev', allow_links=True) + do_split_packages(d, pcre_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'libpcre %s development package', extra_depends='${PN}-dev') + do_split_packages(d, pcre_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'libpcre %s development package', extra_depends='${PN}-dev') + do_split_packages(d, pcre_libdir, '^lib(.*)\.so\.*', 'lib%s', 'libpcre %s library', extra_depends='', allow_links=True) +} + +FILES_${PN} = "${libdir}/libpcre.so.*" +FILES_${PN}-dev += "${bindir}/*" + +BBCLASSEXTEND = "native" |