[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 May 2025 03:42:51 +0000 (23:42 -0400)
commit1263e97b601430d902e35db9e9f8b65734dfde30
treed4ce6865800b10189eb6eb5386dfc1a3888ebbb6
parentcdc65dc0d003db566bc0c44163aaa75cf06c48fb
[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