From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
"Jeffrey Walton" <noloader@gmail.com>,
"Michał Kiedrowicz" <michal.kiedrowicz@gmail.com>,
"J Smith" <dark.panda@gmail.com>,
"Victor Leschuk" <vleschuk@gmail.com>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Fredrik Kuivinen" <frekui@gmail.com>,
"Zoltán Herczeg" <hzmester@freemail.hu>,
"Brandon Williams" <bmwill@google.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v4 19/19] Makefile & configure: make PCRE v2 the default PCRE implementation
Date: Tue, 25 Apr 2017 21:05:48 +0000 [thread overview]
Message-ID: <20170425210548.24612-20-avarab@gmail.com> (raw)
In-Reply-To: <20170425210548.24612-1-avarab@gmail.com>
Change the USE_LIBPCRE=YesPlease & --with-libpcre flags to the
Makefile & configure script, respectively, to mean use PCRE v2, not
PCRE v1.
The legacy library previously available via those options is still
available on request via USE_LIBPCRE1=YesPlease or
--with-libpcre1. The existing USE_LIBPCRE2=YesPlease & --with-libpcre2
still explicitly ask for v2.
The v2 PCRE is stable & end-user compatible, all this change does is
change the default. Someone building a new git is likely to also have
packaged PCRE v2 sometime in the last 2 years since it was released.
If not they can choose to use the legacy v2 library by making the
trivial s/USE_LIBPCRE/USE_LIBPCRE1/ change, or package up PCRE v2.
New releases of PCRE v2 are already faster than PCRE v1, and not only
is all significant development is happening on v2, but bugs in
reported against v1 have started getting WONTFIX'd asking users to
just upgrade to v2.
So it makes sense to give our downstream distributors a nudge to
switch over to it.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
Makefile | 21 ++++++++++-----------
configure.ac | 18 +++++++++---------
2 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/Makefile b/Makefile
index a792f206b9..42b09f9632 100644
--- a/Makefile
+++ b/Makefile
@@ -29,10 +29,10 @@ all::
# Perl-compatible regular expressions instead of standard or extended
# POSIX regular expressions.
#
-# Currently USE_LIBPCRE is a synonym for USE_LIBPCRE1, define
-# USE_LIBPCRE2 instead if you'd like to use version 2 of the PCRE
-# library. The USE_LIBPCRE flag will likely be changed to mean v2 by
-# default in future releases.
+# The USE_LIBPCRE flag is a synonym for USE_LIBPCRE2, in previous
+# versions it meant the same thing USE_LIBPCRE1 does now. Define
+# USE_LIBPCRE1 instead if you'd like to use the legacy version 1 of
+# the PCRE library.
#
# Define LIBPCREDIR=/foo/bar if your PCRE header and library files are in
# /foo/bar/include and /foo/bar/lib directories.
@@ -1090,18 +1090,17 @@ ifdef NO_LIBGEN_H
COMPAT_OBJS += compat/basename.o
endif
-USE_LIBPCRE1 ?= $(USE_LIBPCRE)
-
-ifneq (,$(USE_LIBPCRE1))
- ifdef USE_LIBPCRE2
-$(error Only set USE_LIBPCRE1 (or its alias USE_LIBPCRE) or USE_LIBPCRE2, not both!)
- endif
+USE_LIBPCRE2 ?= $(USE_LIBPCRE)
+ifdef USE_LIBPCRE1
BASIC_CFLAGS += -DUSE_LIBPCRE1
EXTLIBS += -lpcre
endif
-ifdef USE_LIBPCRE2
+ifneq (,$(USE_LIBPCRE2))
+ ifdef USE_LIBPCRE1
+$(error Only set USE_LIBPCRE2 (or its alias USE_LIBPCRE) or USE_LIBPCRE1, not both!)
+ endif
BASIC_CFLAGS += -DUSE_LIBPCRE2
EXTLIBS += -lpcre2-8
endif
diff --git a/configure.ac b/configure.ac
index 11d083fbe0..f9659daeb7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -255,25 +255,25 @@ GIT_PARSE_WITH([openssl]))
# Perl-compatible regular expressions instead of standard or extended
# POSIX regular expressions.
#
-# Currently USE_LIBPCRE is a synonym for USE_LIBPCRE1, define
-# USE_LIBPCRE2 instead if you'd like to use version 2 of the PCRE
-# library. The USE_LIBPCRE flag will likely be changed to mean v2 by
-# default in future releases.
+# The USE_LIBPCRE flag is a synonym for USE_LIBPCRE2, in previous
+# versions it meant the same thing USE_LIBPCRE1 does now. Define
+# USE_LIBPCRE1 instead if you'd like to use the legacy version 1 of
+# the PCRE library.
#
# Define LIBPCREDIR=/foo/bar if your PCRE header and library files are in
# /foo/bar/include and /foo/bar/lib directories.
#
AC_ARG_WITH(libpcre,
-AS_HELP_STRING([--with-libpcre],[synonym for --with-libpcre1]),
+AS_HELP_STRING([--with-libpcre],[synonym for --with-libpcre2]),
if test "$withval" = "no"; then
- USE_LIBPCRE1=
+ USE_LIBPCRE2=
elif test "$withval" = "yes"; then
- USE_LIBPCRE1=YesPlease
+ USE_LIBPCRE2=YesPlease
else
- USE_LIBPCRE1=YesPlease
+ USE_LIBPCRE2=YesPlease
LIBPCREDIR=$withval
AC_MSG_NOTICE([Setting LIBPCREDIR to $LIBPCREDIR])
- dnl USE_LIBPCRE1 can still be modified below, so don't substitute
+ dnl USE_LIBPCRE2 can still be modified below, so don't substitute
dnl it yet.
GIT_CONF_SUBST([LIBPCREDIR])
fi)
--
2.11.0
prev parent reply other threads:[~2017-04-25 21:07 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-25 21:05 [PATCH v4 00/19] PCRE v1 improvements & PCRE v2 support Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 01/19] grep: amend submodule recursion test in preparation for rx engine testing Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 02/19] grep: add tests for grep pattern types being passed to submodules Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 03/19] grep: submodule-related case statements should die if new fields are added Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 04/19] grep: remove redundant regflags assignment under PCRE Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 05/19] grep: remove redundant `regflags &= ~REG_EXTENDED` assignments Ævar Arnfjörð Bjarmason
2017-04-26 4:50 ` Junio C Hamano
2017-04-26 5:29 ` Junio C Hamano
2017-04-26 7:48 ` [PATCH v5 " Ævar Arnfjörð Bjarmason
2017-04-27 0:51 ` Junio C Hamano
2017-04-25 21:05 ` [PATCH v4 06/19] Makefile & configure: reword outdated comment about PCRE Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 07/19] grep: add a test for backreferences in PCRE patterns Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 08/19] log: add exhaustive tests for pattern style options & config Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 09/19] log: add -P as a synonym for --perl-regexp Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 10/19] grep & rev-list doc: stop promising libpcre " Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 11/19] grep: make grep.patternType=[pcre|pcre1] a synonym for "perl" Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 12/19] test-lib: rename the LIBPCRE prerequisite to PCRE Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 13/19] grep: change the internal PCRE macro names to be PCRE1 Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 14/19] grep: change the internal PCRE code & header " Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 15/19] perf: add a performance comparison test of grep -E and -P Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 16/19] grep: add support for the PCRE v1 JIT API Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 17/19] grep: add support for PCRE v2 Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 18/19] grep: remove support for concurrent use of both PCRE v1 & v2 Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` Ævar Arnfjörð Bjarmason [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170425210548.24612-20-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=bmwill@google.com \
--cc=dark.panda@gmail.com \
--cc=frekui@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hzmester@freemail.hu \
--cc=michal.kiedrowicz@gmail.com \
--cc=noloader@gmail.com \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=vleschuk@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).