On Tue, Apr 11, 2017 at 12:35 PM, Jeff King <peff@xxxxxxxx> wrote: > On Sat, Apr 08, 2017 at 01:25:04PM +0000, Ævar Arnfjörð Bjarmason wrote: > >> Change the internal USE_LIBPCRE define, & build options flag to use a >> naming convention ending in PCRE1, without changing the long-standing >> USE_LIBPCRE Makefile flag which enables this code. >> >> This is for preparation for libpcre2 support where having things like >> USE_LIBPCRE and USE_LIBPCRE2 in any more places than we absolutely >> need to for backwards compatibility with old Makefile arguments would >> be confusing. >> >> In some ways it would be better to change everything that now uses >> USE_LIBPCRE to use USE_LIBPCRE1, and to make specifying >> USE_LIBPCRE (or --with-pcre) an error. This would impose a one-time >> burden on packagers of git to s/USE_LIBPCRE/USE_LIBPCRE1/ in their >> build scripts. >> >> However I'd like to leave the door open to making >> USE_LIBPCRE=YesPlease eventually mean USE_LIBPCRE2=YesPlease, >> i.e. once PCRE v2 is ubiquitous enough that it makes sense to make it >> the default. > > Yeah, I think it's nice to keep the build-time knobs compatible. In the > long run I assume we'll want to add a USE_LIBPCRE1 flag and USE_LIBPCRE > just becomes a synonym for it (in fact, we could do that in this > commit). I could just add that. Hints for how to do that without entirely copy/pasting the "ifdef USE_LIBPCRE" in the Makefile welcome. The Makefile syntax doesn't support some form of "ifdef X || ifdef Y" AFAICT, so it looks like I'll need to copy those lines... > I suspect we won't ever want to make it a synonym for USE_LIBPCRE2. > Unlike the run-time synonyms, where the expressions themselves are > backwards compatible, builders need to care which one they're using. Maybe, that's a problem for another day, at some point we might want to turn PCRE on by default, and then maybe v2 will be prolific enough to make that the default...