diff options
-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" |