From: Jeff Lucovsky Date: Sat, 29 Aug 2020 14:58:54 +0000 (-0400) Subject: config/pcre: Improved support for cross-compiling X-Git-Tag: suricata-6.0.0-rc1~86 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e8db21ef3e6920ef502b0ad1c4ac5f822088dff;p=thirdparty%2Fsuricata.git config/pcre: Improved support for cross-compiling This commit changes the logic used to determine if pcre_jit_exec is available from a run-time to a compile-time check. --- diff --git a/configure.ac b/configure.ac index 93cfc27673..718dc6aeba 100644 --- a/configure.ac +++ b/configure.ac @@ -793,32 +793,33 @@ return 0; if test "x$pcre_jit_works" = "xyes"; then - AC_MSG_CHECKING(for PCRE JIT EXEC support usability) - AC_RUN_IFELSE([AC_LANG_PROGRAM([[ - #include - #include - ]], - [[ - const char *error; - int err_offset; - pcre *re = pcre_compile("(a|b|c|d)", 0, &error, &err_offset,NULL); - pcre_extra *study = pcre_study(re, PCRE_STUDY_JIT_COMPILE, &error); - if (study == NULL) - exit(EXIT_FAILURE); - pcre_jit_stack *stack = pcre_jit_stack_alloc(32*1024,40*1024); - if (stack == 0) - exit(EXIT_FAILURE); - int ret = pcre_jit_exec(re, study, "apple", 5, 0, 0, NULL, 0, stack); - if (ret != 0) - exit(EXIT_FAILURE); - exit(EXIT_SUCCESS); - ]])],[ pcre_jit_exec_works=yes ],[:] - ) - if test "x$pcre_jit_exec_works" != "xyes"; then + AC_MSG_CHECKING(for PCRE JIT exec availability) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [ + #include + #include + ], + [ + const char *error; + int err_offset; + pcre *re = pcre_compile("(a|b|c|d)", 0, &error, &err_offset,NULL); + pcre_extra *study = pcre_study(re, PCRE_STUDY_JIT_COMPILE, &error); + if (study == NULL) + exit(EXIT_FAILURE); + pcre_jit_stack *stack = pcre_jit_stack_alloc(32*1024,40*1024); + if (stack == 0) + exit(EXIT_FAILURE); + int ret = pcre_jit_exec(re, study, "apple", 5, 0, 0, NULL, 0, stack); + exit(ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE); + ])], + [pcre_jit_exec_available="yes" ], + [pcre_jit_exec_available="no" ]) + if test "x$pcre_jit_exec_available" != "xyes"; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) - AC_DEFINE([PCRE_HAVE_JIT_EXEC], [1], [Pcre with JIT compiler support enabled supporting pcre_jit_exec]) + AC_DEFINE([PCRE_HAVE_JIT_EXEC], [1], [PCRE with JIT compiler support enabled supporting pcre_jit_exec]) fi else AC_MSG_RESULT(no)