Add libpcre from OE.dev

This commit is contained in:
Richard Purdie 2009-07-16 12:09:07 +01:00
parent 43e94412c4
commit d4d60b9ad9
2 changed files with 82 additions and 0 deletions

View File

@ -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) $@

View File

@ -0,0 +1,57 @@
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"
}
do_stage () {
autotools_stage_all
install -d ${STAGING_BINDIR_NATIVE}
install -m 0755 ${S}/dftables ${STAGING_BINDIR_NATIVE}/
}
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}/*"