From cc91ee603c24429375ace5d4b55d85c396668c2e Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 4 Apr 2017 12:42:23 -0400 Subject: [PATCH] configure: ignore the REG_ENHANCED test when we use gnulib If we're using the bundled gnulib regex module, then assume REG_ENHANCED is not supported (since gnulib doesn't support it). This fixes https://savannah.gnu.org/bugs/?50714. --- configure.ac | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index f914fa8e..a2f94c4d 100644 --- a/configure.ac +++ b/configure.ac @@ -587,17 +587,26 @@ else fi fi -AC_CACHE_CHECK([for enhanced regular expression flag], nano_cv_flag_reg_extended, +AC_CACHE_CHECK([for enhanced regular expression flag], nano_cv_flag_reg_enhanced, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ #ifndef REG_ENHANCED error: No REG_ENHANCED support! #endif ]])], - [nano_cv_flag_reg_extended="REG_EXTENDED | REG_ENHANCED"], - [nano_cv_flag_reg_extended="REG_EXTENDED"])]) + [nano_cv_flag_reg_enhanced=yes], + [nano_cv_flag_reg_enhanced=no])]) +dnl The bundled gnulib regex module doesn't support REG_ENHANCED. +if test "$ac_use_included_regex" = "yes"; then + nano_cv_flag_reg_enhanced="no" +fi +if test "$nano_cv_flag_reg_enhanced" = "yes"; then + nano_reg_extended="REG_EXTENDED | REG_ENHANCED" +else + nano_reg_extended="REG_EXTENDED" +fi -AC_DEFINE_UNQUOTED(NANO_REG_EXTENDED, $nano_cv_flag_reg_extended, +AC_DEFINE_UNQUOTED(NANO_REG_EXTENDED, $nano_reg_extended, [Flag(s) to use to get the full range of extended regular expressions]) # Check for word-boundary support (/< and />). @@ -625,7 +634,7 @@ int main(void) size_t nmatch; regmatch_t pmatch; - if (regcomp(&r, "\\\\>", $nano_cv_flag_reg_extended|REG_NOSUB)) + if (regcomp(&r, "\\\\>", $nano_reg_extended|REG_NOSUB)) return 1; if (regexec(&r, "word boundary", nmatch, &pmatch, 0)) return 1;