grep: change the internal PCRE macro names to be PCRE1
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.
This code and the USE_LIBPCRE Makefile argument was added in commit
63e7e9d8b6
("git-grep: Learn PCRE", 2011-05-09). At the time there was
no indication that the PCRE project would release an entirely new &
incompatible API around 3 years later.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
219e65b65c
commit
3485bea157
4
Makefile
4
Makefile
@ -1088,7 +1088,7 @@ ifdef NO_LIBGEN_H
|
||||
endif
|
||||
|
||||
ifdef USE_LIBPCRE
|
||||
BASIC_CFLAGS += -DUSE_LIBPCRE
|
||||
BASIC_CFLAGS += -DUSE_LIBPCRE1
|
||||
ifdef LIBPCREDIR
|
||||
BASIC_CFLAGS += -I$(LIBPCREDIR)/include
|
||||
EXTLIBS += -L$(LIBPCREDIR)/$(lib) $(CC_LD_DYNPATH)$(LIBPCREDIR)/$(lib)
|
||||
@ -2240,7 +2240,7 @@ GIT-BUILD-OPTIONS: FORCE
|
||||
@echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@+
|
||||
@echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@+
|
||||
@echo NO_EXPAT=\''$(subst ','\'',$(subst ','\'',$(NO_EXPAT)))'\' >>$@+
|
||||
@echo USE_LIBPCRE=\''$(subst ','\'',$(subst ','\'',$(USE_LIBPCRE)))'\' >>$@+
|
||||
@echo USE_LIBPCRE1=\''$(subst ','\'',$(subst ','\'',$(USE_LIBPCRE)))'\' >>$@+
|
||||
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@+
|
||||
@echo NO_PYTHON=\''$(subst ','\'',$(subst ','\'',$(NO_PYTHON)))'\' >>$@+
|
||||
@echo NO_UNIX_SOCKETS=\''$(subst ','\'',$(subst ','\'',$(NO_UNIX_SOCKETS)))'\' >>$@+
|
||||
|
6
grep.c
6
grep.c
@ -333,7 +333,7 @@ static int has_null(const char *s, size_t len)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef USE_LIBPCRE
|
||||
#ifdef USE_LIBPCRE1
|
||||
static void compile_pcre_regexp(struct grep_pat *p, const struct grep_opt *opt)
|
||||
{
|
||||
const char *error;
|
||||
@ -385,7 +385,7 @@ static void free_pcre_regexp(struct grep_pat *p)
|
||||
pcre_free(p->pcre_extra_info);
|
||||
pcre_free((void *)p->pcre_tables);
|
||||
}
|
||||
#else /* !USE_LIBPCRE */
|
||||
#else /* !USE_LIBPCRE1 */
|
||||
static void compile_pcre_regexp(struct grep_pat *p, const struct grep_opt *opt)
|
||||
{
|
||||
die("cannot use Perl-compatible regexes when not compiled with USE_LIBPCRE");
|
||||
@ -400,7 +400,7 @@ static int pcrematch(struct grep_pat *p, const char *line, const char *eol,
|
||||
static void free_pcre_regexp(struct grep_pat *p)
|
||||
{
|
||||
}
|
||||
#endif /* !USE_LIBPCRE */
|
||||
#endif /* !USE_LIBPCRE1 */
|
||||
|
||||
static int is_fixed(const char *s, size_t len)
|
||||
{
|
||||
|
2
grep.h
2
grep.h
@ -1,7 +1,7 @@
|
||||
#ifndef GREP_H
|
||||
#define GREP_H
|
||||
#include "color.h"
|
||||
#ifdef USE_LIBPCRE
|
||||
#ifdef USE_LIBPCRE1
|
||||
#include <pcre.h>
|
||||
#else
|
||||
typedef int pcre;
|
||||
|
@ -1010,7 +1010,7 @@ esac
|
||||
( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
|
||||
test -z "$NO_PERL" && test_set_prereq PERL
|
||||
test -z "$NO_PYTHON" && test_set_prereq PYTHON
|
||||
test -n "$USE_LIBPCRE" && test_set_prereq PCRE
|
||||
test -n "$USE_LIBPCRE1" && test_set_prereq PCRE
|
||||
test -z "$NO_GETTEXT" && test_set_prereq GETTEXT
|
||||
|
||||
# Can we rely on git's output in the C locale?
|
||||
|
Loading…
Reference in New Issue
Block a user