[PATCH] Allow substituting PCRE2 for legacy PCRE by explicit request.
authorucko <ucko@ncbi.nlm.nih.gov>
Thu, 18 Jul 2024 18:33:56 +0000 (18:33 +0000)
committerAaron M. Ucko <ucko@debian.org>
Fri, 26 Jul 2024 00:07:36 +0000 (20:07 -0400)
commitdaf0b791cf0de197d9cd23d67fd1c0f01c5c386f
treef1aef3f0093aeb187c1004a85d7bd0e1edc51ce7
parent81800f3c9c33dfa0bd8d0704a7545a58e4b5972e
[PATCH] Allow substituting PCRE2 for legacy PCRE by explicit request.

- For now, require opt-in via --with-components="...;PCRE2;..." (CMake),
  --with-pcre2 (traditional Unix build system), or uncommenting the
  relevant ThirdParty_PCRE2 setting in project_tree_builder.ini
  (traditional Windows build system).
- Likewise, hold off on switching the bundled copy to PCRE2 or checking
  for any functions or headers that will become of interest.
- Redundantly (for now) shun external PCRE2 in bin-release configurations.
- Otherwise favor (allowed!) external installations over the bundled
  copy, preferring PCRE2 over legacy PCRE when both are found and
  allowed but (in due course) external legacy PCRE over bundled PCRE2 in
  the absence of external PCRE2.
- In the traditional build system, have the widely used PCRE_LIBS macro
  correspond to whichever PCRE is default (when not falling back on a
  bundled copy), and add a PCRE_LEGACY_LIBS macro for the sake of
  anything using legacy PCRE directly (very occasionally seen).

JIRA: CXX-12761,

git-svn-id: https://anonsvn.ncbi.nlm.nih.gov/repos/v1/trunk/c++@102806 78c7ea69-d796-4a43-9a09-de51944f1b03

Irrelevant (and inapplicable) changes to c++/src/build-system/cmake/,
c++/src/build-system/configure (which will be regenerated anyway), and
c++/src/build-system/project_tree_builder.ini elided.

Gbp-Pq: Name allow_pcre2
c++/include/util/xregexp/regexp.hpp
c++/src/build-system/Makefile.mk.in
c++/src/build-system/config.h.in
c++/src/build-system/configure.ac
c++/src/util/xregexp/CMakeLists.txt
c++/src/util/xregexp/Makefile.xregexp.lib
c++/src/util/xregexp/regexp.cpp