[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)
committerPeter Michael Green <plugwash@raspbian.org>
Sun, 12 Jan 2025 14:25:01 +0000 (14:25 +0000)
commitd7ae95c06e2346cfb0e887068c947a9cc0e23fc9
treefbbf2835163516f56c9c3552ab0291afd36699e8
parent21b3ff2048c1e9e9f83bf86eac97b5652009ccbe
[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