W dniu 07.10.2016 o 00:42, Ramsay Jones pisze: > On 06/10/16 20:18, Ævar Arnfjörð Bjarmason wrote: [...] >> But just to clarify, does anyone have any objection to making our >> configure.ac compile a C program to check for this sort of thing? >> Because that seems like the easiest solution to this class of problem. > > Err, you do know that we already do that, right? > > [see commit a1e3b669 ("autoconf: don't use platform regex if it lacks REG_STARTEND", 17-08-2010)] > > In fact, if you run the auto tools on cygwin, you get a different setting > for NO_REGEX than via config.mak.uname. Which is why I don't run configure > on cygwin. :-D > > [The issue is exposed by t7008-grep-binary.sh, where the cygwin native > regex library matches '.' in a pattern with the NUL character. ie the > test_expect_failure test passes.] Huh. So we have NO_REGEX support in ./configure, and people using Git on untypical architectures and systems *can* make use of it. It was just described wrongly, so in turn to have the more neutral description, the same as in Makefile, let's do this: -------- >8 ---------- >8 ------------- >8 ---------- >8 ---------- Subject: [PATCH] configure.ac: Improve description of NO_REGEX test The commit 2f8952250a changed description of NO_REGEX build config variable to be more neutral, and actually say that it is about support for REG_STARTEND. Change description in configure.ac to be the same. Change also the test message and variable name to match. The test just checks that REG_STARTEND is #defined. Issue-found-by: Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jakub Narębski <jnareb@xxxxxxxxx> --- configure.ac | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index aa9c91d..7f39fd0 100644 --- a/configure.ac +++ b/configure.ac @@ -835,9 +835,10 @@ AC_CHECK_TYPE([struct addrinfo],[ ]) GIT_CONF_SUBST([NO_IPV6]) # -# Define NO_REGEX if you have no or inferior regex support in your C library. -AC_CACHE_CHECK([whether the platform regex can handle null bytes], - [ac_cv_c_excellent_regex], [ +# Define NO_REGEX if your C library lacks regex support with REG_STARTEND +# feature. +AC_CACHE_CHECK([whether the platform regex supports REG_STARTEND], + [ac_cv_c_regex_with_reg_startend], [ AC_EGREP_CPP(yippeeyeswehaveit, AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT #include <regex.h> @@ -846,10 +847,10 @@ AC_EGREP_CPP(yippeeyeswehaveit, yippeeyeswehaveit #endif ]), - [ac_cv_c_excellent_regex=yes], - [ac_cv_c_excellent_regex=no]) + [ac_cv_c_regex_with_reg_startend=yes], + [ac_cv_c_regex_with_reg_startend=no]) ]) -if test $ac_cv_c_excellent_regex = yes; then +if test $ac_cv_c_regex_with_reg_startend = yes; then NO_REGEX= else NO_REGEX=YesPlease -- 2.10.0