Web lists-archives.com

Re: [PATCH 10/12] grep: change the internal PCRE macro names to be PCRE1




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...