aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/libpcre
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/libpcre
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/libpcre')
-rw-r--r--recipes/libpcre/files/pcre-cross.patch25
-rw-r--r--recipes/libpcre/libpcre-native_7.6.bb17
-rw-r--r--recipes/libpcre/libpcre_7.6.bb52
3 files changed, 94 insertions, 0 deletions
diff --git a/recipes/libpcre/files/pcre-cross.patch b/recipes/libpcre/files/pcre-cross.patch
new file mode 100644
index 0000000000..0626fb347a
--- /dev/null
+++ b/recipes/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/recipes/libpcre/libpcre-native_7.6.bb b/recipes/libpcre/libpcre-native_7.6.bb
new file mode 100644
index 0000000000..20a4bdb978
--- /dev/null
+++ b/recipes/libpcre/libpcre-native_7.6.bb
@@ -0,0 +1,17 @@
+SECTION = "unknown"
+require libpcre_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libpcre-${PV}"
+
+# NOTE: multiple providers are available (libpcre, libpcre-native);
+# NOTE: consider defining PREFERRED_PROVIDER_pcre
+PROVIDES = ""
+
+do_compile () {
+ # 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}"
+}
+
diff --git a/recipes/libpcre/libpcre_7.6.bb b/recipes/libpcre/libpcre_7.6.bb
new file mode 100644
index 0000000000..eb5af03db0
--- /dev/null
+++ b/recipes/libpcre/libpcre_7.6.bb
@@ -0,0 +1,52 @@
+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 = "r3"
+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 = ""
+
+LEAD_SONAME = "libpcre.so"
+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"
+}
+
+do_stage () {
+ oe_libinstall -a -so libpcre ${STAGING_LIBDIR}
+ oe_libinstall -a -so libpcreposix ${STAGING_LIBDIR}
+ install -m 0644 pcre.h ${STAGING_INCDIR}/
+ install -m 0644 pcreposix.h ${STAGING_INCDIR}/
+ install -d ${STAGING_BINDIR_NATIVE}
+ install -m 0755 ${S}/dftables ${STAGING_BINDIR_NATIVE}/
+}
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${bindir}/*"