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