Re: [PATCH/RFC v2 0/3] Update compat/regex
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Aug 17, 2010, 08:03 UTC
- Message-ID
- <20100817080322.GA28476@burratino>
- In-Reply-To
- <1282022233-32692-1-git-send-email-avarab@gmail.com>
Ævar Arnfjörð Bjarmason wrote:
> Ævar Arnfjörð Bjarmason (3): > compat/regex: use the regex engine from gawk for compat > compat/regex: get the gawk regex engine to compile within git > t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND
For what it’s worth:
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Thanks. Here’s a patch to go on top. I am not sure what platforms support REG_STARTEND, but we can always update the makefile as reports come in.
-- 8< -- Subject: autoconf: don't use platform regex if it lacks REG_STARTEND
If the platform regex cannot match null bytes, we might as well use the glibc version instead.
Cc: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Cc: René Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> --- config.mak.in | 1 + configure.ac | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/config.mak.in b/config.mak.in index b4e65c3..67dbd3b 100644 --- a/config.mak.in +++ b/config.mak.in @@ -58,6 +58,7 @@ NO_INET_NTOP=@NO_INET_NTOP@ NO_INET_PTON=@NO_INET_PTON@ NO_ICONV=@NO_ICONV@ OLD_ICONV=@OLD_ICONV@ +NO_REGEX=@NO_REGEX@ NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@ INLINE=@INLINE@ SOCKLEN_T=@SOCKLEN_T@ diff --git a/configure.ac b/configure.ac index 5601e8b..71ac89f 100644 --- a/configure.ac +++ b/configure.ac @@ -706,6 +706,27 @@ else fi AC_SUBST(NO_C99_FORMAT) # +# 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], [ +AC_EGREP_CPP(yippeeyeswehaveit, + AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT +#include <regex.h> +], +[#ifdef REG_STARTEND +yippeeyeswehaveit +#endif +]), + [ac_cv_c_excellent_regex=yes], + [ac_cv_c_excellent_regex=yes]) +]) +if test $ac_cv_c_excellent_regex = yes; then + NO_REGEX= +else + NO_REGEX=YesPlease +fi +AC_SUBST(NO_REGEX) +# # Define FREAD_READS_DIRECTORIES if your are on a system which succeeds # when attempting to read from an fopen'ed directory. AC_CACHE_CHECK([whether system succeeds to read fopen'ed directory],
-- 1.7.2.1.544.ga752d.dirty