[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>
Sun, 4 Aug 2024 20:04:32 +0000 (16:04 -0400)
commit768c78aaceeb1766b4f61c4d62fa28aa5e99fb08
tree2b16a07dfc0528ebc2c25b5815ed4ae5f3ba1727
parentea16b588dc5899cae4e0a932f97da9fd8ae5a60e
[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