libpcre2: add it for newer vte

There are two major versions of the PCRE library. The newest version, PCRE2,
was released in 2015 and is at version 10.22.

The original, very widely deployed PCRE library, originally released in 1997,
is at version 8.40, and the API and feature set are stable, future releases
will be for bugfixes only. All new future features will be to PCRE2, not the
original PCRE 8.x series.

The newer vte depends on libpcre2, so add it.

(From OE-Core rev: f7165d379cb67c4d4918a8a3e9509d3d823d61da)

(From OE-Core rev: 69c4d94dd6b825c710c6e76fe77e5255ddd1183d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2017-02-09 19:42:02 -08:00 committed by Richard Purdie
parent d16219b754
commit 839568db9d
2 changed files with 121 additions and 0 deletions

View File

@ -0,0 +1,65 @@
Fix for cross compiling
Fixed:
| ./dftables src/pcre2_chartables.c
| make: ./dftables: Command not found
| make: *** [src/pcre2_chartables.c] Error 127
Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
diff --git a/Makefile.am b/Makefile.am
index 38f1d41..2bde083 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -298,9 +298,21 @@ bin_SCRIPTS = pcre2-config
## to copy a distributed set of tables that are defined for ASCII code. In this
## case, dftables is not needed.
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
+CCLD_FOR_BUILD = @CCLD_FOR_BUILD@
+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
+
if WITH_REBUILD_CHARTABLES
noinst_PROGRAMS += dftables
dftables_SOURCES = src/dftables.c
+
+dftables_LINK = $(CCLD_FOR_BUILD) -o $@
+dftables_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+
+src/dftables.o: $(srcdir)/src/dftables.c
+ $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $(srcdir)/src/dftables.c
+
src/pcre2_chartables.c: dftables$(EXEEXT)
rm -f $@
./dftables$(EXEEXT) $@
diff --git a/configure.ac b/configure.ac
index d7c57aa..d6eb0aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -59,6 +59,23 @@ then
fi
fi
+if test x"$cross_compiling" = xyes; then
+ CC_FOR_BUILD="${CC_FOR_BUILD-gcc}"
+ CCLD_FOR_BUILD="${CCLD_FOR_BUILD-gcc}"
+ CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD}"
+ LDFLAGS_FOR_BUILD="${LDFLAGS_FOR_BUILD}"
+else
+ CC_FOR_BUILD="${CC_FOR_BUILD-\$(CC)}"
+ CCLD_FOR_BUILD="${CCLD_FOR_BUILD-\$(CCLD)}"
+ CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD-\$(CFLAGS)}"
+ LDFLAGS_FOR_BUILD="${LDFLAGS_FOR_BUILD-\$(LDFLAGS)}"
+fi
+AC_ARG_VAR(CC_FOR_BUILD, [build system C compiler])
+AC_ARG_VAR(CCLD_FOR_BUILD, [build system C linker frontend])
+AC_ARG_VAR(CFLAGS_FOR_BUILD, [build system C compiler arguments])
+AC_ARG_VAR(LDFLAGS_FOR_BUILD, [build system C linker frontend arguments])
+
+
# Check for a 64-bit integer type
AC_TYPE_INT64_T

View File

@ -0,0 +1,56 @@
DESCRIPTION = "There are two major versions of the PCRE library. The \
newest version is PCRE2, which is a re-working of the original PCRE \
library to provide an entirely new API. The original, very widely \
deployed PCRE library's API and feature are stable, future releases \
will be for bugfixes only. All new future features will be to PCRE2, \
not the original PCRE 8.x series."
SUMMARY = "Perl Compatible Regular Expressions version 2"
HOMEPAGE = "http://www.pcre.org"
SECTION = "devel"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENCE;md5=ab9633efd38d6f799398df2c248b5aec"
SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \
file://pcre-cross.patch \
"
SRC_URI[md5sum] = "c0c02517938ee2b0d350d53edf450664"
SRC_URI[sha256sum] = "b2b44619f4ac6c50ad74c2865fd56807571392496fae1c9ad7a70993d018f416"
S = "${WORKDIR}/pcre2-${PV}"
PROVIDES += "pcre2"
DEPENDS += "bzip2 zlib"
BINCONFIG = "${bindir}/pcre2-config"
inherit autotools binconfig-disabled
EXTRA_OECONF = "\
--enable-newline-is-lf \
--enable-rebuild-chartables \
--with-link-size=2 \
--with-match-limit=10000000 \
"
# Set LINK_SIZE in BUILD_CFLAGS given that the autotools bbclass use it to
# set CFLAGS_FOR_BUILD, required for the libpcre build.
BUILD_CFLAGS =+ "-DLINK_SIZE=2 -I${B}/src"
CFLAGS += "-D_REENTRANT"
CXXFLAGS_append_powerpc = " -lstdc++"
export CCLD_FOR_BUILD ="${BUILD_CCLD}"
PACKAGES =+ "pcre2grep pcre2grep-doc pcre2test pcre2test-doc"
SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes"
SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs"
SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions"
SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs"
FILES_pcre2grep = "${bindir}/pcre2grep"
FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1"
FILES_pcre2test = "${bindir}/pcre2test"
FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1"
BBCLASSEXTEND = "native nativesdk"