12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- From a9151b1a6abde8306c7b46ca52036b2dc9c1b76d Mon Sep 17 00:00:00 2001
- From: Artem Panfilov <panfilov.artyom@gmail.com>
- Date: Tue, 16 Apr 2019 12:02:05 +0300
- Subject: [PATCH] ext/pcre/config0.m4: add ac_cv_have_pcre2_jit variable
- The HAVE_PCRE_JIT_SUPPORT check uses AC_RUN_IFELSE, which is not
- available when cross-compiling. As a fallback, JIT support is enabled
- based on CPU architecture. However, this may be wrong,
- e.g. when the JIT the feature was not enabled in the pcre2 build.
- Add a cache variable for the PCRE JIT feature to make it possible to
- override the check.
- Backported from: 12ee246ae45889004fc2c099c04cfff1ce6e8848
- Signed-off-by: Artem Panfilov <panfilov.artyom@gmail.com>
- ---
- ext/pcre/config0.m4 | 56 +++++++++++++++++++++++----------------------
- 1 file changed, 29 insertions(+), 27 deletions(-)
- diff --git a/ext/pcre/config0.m4 b/ext/pcre/config0.m4
- index b9542f0113..f964429431 100644
- --- a/ext/pcre/config0.m4
- +++ b/ext/pcre/config0.m4
- @@ -53,35 +53,37 @@ PHP_ARG_WITH(pcre-jit,,[ --with-pcre-jit Enable PCRE JIT functionality
- AC_DEFINE(HAVE_PCRE, 1, [ ])
-
- if test "$PHP_PCRE_JIT" != "no"; then
- - AC_MSG_CHECKING([for JIT support in PCRE2])
- + AC_CACHE_CHECK([for JIT support in PCRE2], ac_cv_have_pcre2_jit, [
- AC_RUN_IFELSE([
- - AC_LANG_SOURCE([[
- - #include <pcre2.h>
- - #include <stdlib.h>
- - int main(void) {
- - uint32_t have_jit;
- - pcre2_config_8(PCRE2_CONFIG_JIT, &have_jit);
- - return !have_jit;
- - }
- - ]])], [
- - AC_MSG_RESULT([yes])
- - AC_DEFINE(HAVE_PCRE_JIT_SUPPORT, 1, [])
- - ],
- - [
- - AC_MSG_RESULT([no])
- - ],
- - [
- - AC_CANONICAL_HOST
- - case $host_cpu in
- - arm*|i[34567]86|x86_64|mips*|powerpc*|sparc)
- - AC_MSG_RESULT([yes])
- - AC_DEFINE(HAVE_PCRE_JIT_SUPPORT, 1, [])
- - ;;
- - *)
- - AC_MSG_RESULT([no])
- - ;;
- - esac
- + AC_LANG_SOURCE([[
- + #include <pcre2.h>
- + #include <stdlib.h>
- + int main(void) {
- + uint32_t have_jit;
- + pcre2_config_8(PCRE2_CONFIG_JIT, &have_jit);
- + return !have_jit;
- + }
- + ]])], [
- + ac_cv_have_pcre2_jit=yes
- + ],
- + [
- + ac_cv_have_pcre2_jit=no
- + ],
- + [
- + AC_CANONICAL_HOST
- + case $host_cpu in
- + arm*|i[34567]86|x86_64|mips*|powerpc*|sparc)
- + ac_cv_have_pcre2_jit=yes
- + ;;
- + *)
- + ac_cv_have_pcre2_jit=no
- + ;;
- + esac
- + ])
- ])
- + if test $ac_cv_have_pcre2_jit = yes; then
- + AC_DEFINE(HAVE_PCRE_JIT_SUPPORT, 1, [])
- + fi
- fi
-
- PHP_NEW_EXTENSION(pcre, php_pcre.c, no,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
- --
- 2.17.1
|