summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libpcre
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2019-02-27 18:33:55 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-02-28 13:35:27 +0000
commit9421abbbf8fd6ff7c67ac8186a17d1c26583be6f (patch)
tree556a7b5225f0cac4bf2a8e5411928927f76b82de /meta/recipes-support/libpcre
parentba84fbf2e59cdaae203b013125817155cb5aa41f (diff)
downloadopenembedded-core-9421abbbf8fd6ff7c67ac8186a17d1c26583be6f.tar.gz
libpcre: enable JIT
PCRE has an optional JIT for performance. Add a PACKAGECONFIG for this, enabled by default. Also add a patch so that auto-detection of JIT availablity, which is required to enable the JIT by default, works with out-of-tree builds. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/libpcre')
-rw-r--r--meta/recipes-support/libpcre/libpcre/out-of-tree.patch26
-rw-r--r--meta/recipes-support/libpcre/libpcre_8.43.bb4
2 files changed, 29 insertions, 1 deletions
diff --git a/meta/recipes-support/libpcre/libpcre/out-of-tree.patch b/meta/recipes-support/libpcre/libpcre/out-of-tree.patch
new file mode 100644
index 0000000000..687dcc034d
--- /dev/null
+++ b/meta/recipes-support/libpcre/libpcre/out-of-tree.patch
@@ -0,0 +1,26 @@
+In out-of-tree builds the #include fails because $srcdir isn't in the include path. Set CPPFLAGS so that it is.
+
+Upstream-Status: Submitted [https://bugs.exim.org/show_bug.cgi?id=2379]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+Index: configure.ac
+===================================================================
+--- a/configure.ac (revision 1749)
++++ b/configure.ac (working copy)
+@@ -159,6 +159,8 @@
+
+ if test "$enable_jit" = "auto"; then
+ AC_LANG(C)
++ SAVE_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS=-I$srcdir
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ #define SLJIT_CONFIG_AUTO 1
+ #include "sljit/sljitConfigInternal.h"
+@@ -165,6 +167,7 @@
+ #if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED)
+ #error unsupported
+ #endif]])], enable_jit=yes, enable_jit=no)
++ CPPFLAGS=$SAVE_CPPFLAGS
+ fi
+
+ # Handle --disable-pcregrep-jit (enabled by default)
diff --git a/meta/recipes-support/libpcre/libpcre_8.43.bb b/meta/recipes-support/libpcre/libpcre_8.43.bb
index e28615a8ba..08314efb9e 100644
--- a/meta/recipes-support/libpcre/libpcre_8.43.bb
+++ b/meta/recipes-support/libpcre/libpcre_8.43.bb
@@ -9,6 +9,7 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENCE;md5=91bee59d1b327eb1599b4c673e2fb3d1"
SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \
file://fix-pcre-name-collision.patch \
+ file://out-of-tree.patch \
file://run-ptest \
file://Makefile \
"
@@ -23,13 +24,14 @@ S = "${WORKDIR}/pcre-${PV}"
PROVIDES += "pcre"
DEPENDS += "bzip2 zlib"
-PACKAGECONFIG ??= "pcre8 unicode-properties"
+PACKAGECONFIG ??= "pcre8 unicode-properties jit"
PACKAGECONFIG[pcre8] = "--enable-pcre8,--disable-pcre8"
PACKAGECONFIG[pcre16] = "--enable-pcre16,--disable-pcre16"
PACKAGECONFIG[pcre32] = "--enable-pcre32,--disable-pcre32"
PACKAGECONFIG[pcretest-readline] = "--enable-pcretest-libreadline,--disable-pcretest-libreadline,readline,"
PACKAGECONFIG[unicode-properties] = "--enable-unicode-properties,--disable-unicode-properties"
+PACKAGECONFIG[jit] = "--enable-jit=auto,--disable-jit"
BINCONFIG = "${bindir}/pcre-config"