Alexey Shumkin <alex.crezoff@xxxxxxxxx> writes: >>From time to time, I use `git grep -P` to search text in sources using PCRE. > Today I was suprised when that command gave me the error > "fatal: cannot use Perl-compatible regexes when not compiled with > USE_LIBPCRE" > > As far as I always use > ./configure --with-libpcre > make all > to build my Cygwin version of Git that was a VERY sudden error for me. > (but this is not a Cygwin-specific error, I've reproduced it on my Linux > box). > > I've found out that `make` "does not know" anymore about USE_LIBPCRE=YesPlease > even `./configure --with-libpcre` was run before it. > ... > and `git bisect run` to find out where Git was broken. > That gave me: > > ---8<--- > 40bfbde9da5c6cbc85f49a755f27162dc966fd89 is the first bad commit > commit 40bfbde9da5c6cbc85f49a755f27162dc966fd89 > Author: Stefano Lattarini <stefano.lattarini@xxxxxxxxx> > Date: Tue Sep 11 17:45:30 2012 +0200 > > build: don't duplicate substitution of make variables > > Thanks to our 'GIT_CONF_SUBST' layer in configure.ac, a make variable 'VAR' > can be defined to a value 'VAL' at ./configure runtime in our build system > simply by using "GIT_CONF_SUBST([VAR], [VAL])" in configure.ac, rather than > having both to call "AC_SUBST([VAR], [VAL])" in configure.ac and adding the > 'VAR = @VAR@' definition in config.mak.in. Less duplication, less margin > for error, less possibility of confusion. > > While at it, fix some formatting issues in configure.ac that unnecessarily > obscured the code flow. > > Signed-off-by: Stefano Lattarini <stefano.lattarini@xxxxxxxxx> > Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> > > :100644 100644 802d34223a2859ee1341d94ee722d7939b7276aa 69d48382fe69b8699eb350949fff04975db923f8 M config.mak.in > :100644 100644 450bbe7f1020711b4af2ad6ea52d717651c30b0b da1f41f58871b2102a9ed5eaeff7df3c9623f4bd M configure.ac > bisect run success > > ---8<--- > > I'm not a C programmer to fix that, so I ask you to. Yikes and thanks for reporting. This does not have anything to do with C, but is a breakage in our autoconf script. It appears that anything that is meant to be appended at end via $config_appended_defs mechanism is missing from the end result. In fact, symbols whose explicit substitution the above patch removes, e.g. CC_LD_DYNPATH, TCLTK_PATH, NEEDS_SSL_WITH_CRYPTO, etc. are all missing. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html