diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2017-02-09 19:42:02 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-02-23 12:29:12 -0800 |
commit | 69c4d94dd6b825c710c6e76fe77e5255ddd1183d (patch) | |
tree | 2be559944349ca92249da0eb5b5fe39e622a05c5 | |
parent | a8b476e7d6a5bf43cceb8c7b2610c9b66fe2f33e (diff) | |
download | openembedded-core-69c4d94dd6b825c710c6e76fe77e5255ddd1183d.tar.gz openembedded-core-69c4d94dd6b825c710c6e76fe77e5255ddd1183d.tar.bz2 openembedded-core-69c4d94dd6b825c710c6e76fe77e5255ddd1183d.zip |
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)
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>
-rw-r--r-- | meta/recipes-support/libpcre/libpcre2/pcre-cross.patch | 65 | ||||
-rw-r--r-- | meta/recipes-support/libpcre/libpcre2_10.22.bb | 56 |
2 files changed, 121 insertions, 0 deletions
diff --git a/meta/recipes-support/libpcre/libpcre2/pcre-cross.patch b/meta/recipes-support/libpcre/libpcre2/pcre-cross.patch new file mode 100644 index 0000000000..9516caf51a --- /dev/null +++ b/meta/recipes-support/libpcre/libpcre2/pcre-cross.patch @@ -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 + diff --git a/meta/recipes-support/libpcre/libpcre2_10.22.bb b/meta/recipes-support/libpcre/libpcre2_10.22.bb new file mode 100644 index 0000000000..1e00ed54d1 --- /dev/null +++ b/meta/recipes-support/libpcre/libpcre2_10.22.bb @@ -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" |