Utilize the `configure` script packaged with the source.
cd Sources/pcre2
./configure --help'configure' configures PCRE2 10.45 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print 'checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for '--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or '..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, 'make install' will install all the files in
'/usr/local/bin', '/usr/local/lib' etc. You can specify
an installation prefix other than '/usr/local' using '--prefix',
for instance '--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/pcre2]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-silent-rules less verbose build output (undo: "make V=1")
--disable-silent-rules verbose build output (undo: "make V=0")
--enable-maintainer-mode
enable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
--enable-dependency-tracking
do not reject slow dependency extractors
--disable-dependency-tracking
speeds up one-time build
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
--disable-largefile omit support for large files
--disable-pcre2-8 disable 8 bit character support
--enable-pcre2-16 enable 16 bit character support
--enable-pcre2-32 enable 32 bit character support
--enable-debug enable debugging code
--enable-jit enable Just-In-Time compiling support
--enable-jit-sealloc enable SELinux compatible execmem allocator in JIT
(experimental)
--disable-pcre2grep-jit disable JIT support in pcre2grep
--disable-pcre2grep-callout
disable callout script support in pcre2grep
--disable-pcre2grep-callout-fork
disable callout script fork support in pcre2grep
--enable-rebuild-chartables
rebuild character tables in current locale
--disable-unicode disable Unicode support
--enable-newline-is-cr use CR as newline character
--enable-newline-is-lf use LF as newline character (default)
--enable-newline-is-crlf
use CRLF as newline sequence
--enable-newline-is-anycrlf
use CR, LF, or CRLF as newline sequence
--enable-newline-is-any use any valid Unicode newline sequence
--enable-newline-is-nul use NUL (binary zero) as newline character
--enable-bsr-anycrlf \R matches only CR, LF, CRLF by default
--enable-never-backslash-C
use of \C causes an error
--enable-ebcdic assume EBCDIC coding rather than ASCII; incompatible
with --enable-unicode; use only in (uncommon) EBCDIC
environments; it implies --enable-rebuild-chartables
--enable-ebcdic-nl25 set EBCDIC code for NL to 0x25 instead of 0x15; it
implies --enable-ebcdic
--enable-pcre2grep-libz link pcre2grep with libz to handle .gz files
--enable-pcre2grep-libbz2
link pcre2grep with libbz2 to handle .bz2 files
--enable-pcre2test-libedit
link pcre2test with libedit
--enable-pcre2test-libreadline
link pcre2test with libreadline
--enable-valgrind enable valgrind support
--enable-coverage enable code coverage reports using gcov
--enable-fuzz-support enable fuzzer support
--enable-diff-fuzz-support
enable differential fuzzer support
--disable-percent-zt disable the use of z and t formatting modifiers
--enable-year2038 support timestamps after 2038
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-aix-soname=aix|svr4|both
shared library versioning (aka "SONAME") variant to
provide on AIX, [default=aix].
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot[=DIR] Search for dependent libraries within DIR (or the
compiler's sysroot if not specified).
--with-pcre2grep-bufsize=N
pcre2grep initial buffer size (default=20480,
minimum=8192)
--with-pcre2grep-max-bufsize=N
pcre2grep maximum buffer size (default=1048576,
minimum=8192)
--with-link-size=N internal link size (2, 3, or 4 allowed; default=2)
--with-max-varlookbehind=N
maximum length of variable lookbehind (default=255)
--with-parens-nest-limit=N
nested parentheses limit (default=250)
--with-heap-limit=N default limit on heap memory (kibibytes,
default=20000000)
--with-match-limit=N default limit on internal looping (default=10000000)
--with-match-limit-depth=N
default limit on match tree depth
(default=MATCH_LIMIT)
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
LT_SYS_LIBRARY_PATH
User-defined run-time library search path.
LCOV the ltp lcov program
GENHTML the ltp genhtml program
Use these variables to override the choices made by 'configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to the package provider.cd Sources/pcre2
./configure \
--disable-pcre2-8 \
--enable-pcre2-32 \
# --enable-jit \
--enable-newline-is-any \
--enable-pcre2grep-libz \
--enable-pcre2grep-libbz2 \
--enable-year2038checking for a BSD-compatible install... /nix/store/4idwmksk4s5bdmzl1sz1z17bj0yfqgkj-coreutils-9.6/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /nix/store/4idwmksk4s5bdmzl1sz1z17bj0yfqgkj-coreutils-9.6/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... (cached) yes
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether clang accepts -g... yes
checking for clang option to enable C11 features... none needed
checking whether clang understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of clang... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking the archiver (ar) interface... ar
checking for int64_t... yes
checking build system type... aarch64-apple-darwin24.4.0
checking host system type... aarch64-apple-darwin24.4.0
checking how to print strings... printf
checking for a sed that does not truncate output... /nix/store/pj9bj4cczgxwzgvgzjlgz5kzifwsh4ky-gnused-4.9/bin/sed
checking for grep that handles long lines and -e... /nix/store/zdx9494j3rsg81makrh09v8ln5f16gjr-gnugrep-3.11/bin/grep
checking for egrep... /nix/store/zdx9494j3rsg81makrh09v8ln5f16gjr-gnugrep-3.11/bin/grep -E
checking for fgrep... /nix/store/zdx9494j3rsg81makrh09v8ln5f16gjr-gnugrep-3.11/bin/grep -F
checking for ld used by clang... ld
checking if the linker (ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786432
checking how to convert aarch64-apple-darwin24.4.0 file names to aarch64-apple-darwin24.4.0 format... func_convert_file_noop
checking how to convert aarch64-apple-darwin24.4.0 file names to toolchain format... func_convert_file_noop
checking for ld option to reload object files... -r
checking for file... file
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse nm output from clang object... ok
checking for sysroot... no
checking for a working dd... /nix/store/4idwmksk4s5bdmzl1sz1z17bj0yfqgkj-coreutils-9.6/bin/dd
checking how to truncate binary pipes... /nix/store/4idwmksk4s5bdmzl1sz1z17bj0yfqgkj-coreutils-9.6/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if clang supports -fno-rtti -fno-exceptions... yes
checking for clang option to produce PIC... -fno-common -DPIC
checking if clang PIC flag -fno-common -DPIC works... yes
checking if clang static flag -static works... no
checking if clang supports -c -o file.o... yes
checking if clang supports -c -o file.o... (cached) yes
checking whether the clang linker (ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin24.4.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether ln -s works... yes
checking for clang option to enable large file support... none needed
checking for clang option for timestamps after 2038... none needed
checking whether the -Werror option is usable... yes
checking for GCC compatible visibility declarations... yes
checking for __attribute__((uninitialized))... yes
checking for __assume()... no
checking for __builtin_mul_overflow()... yes
checking for __builtin_unreachable()... yes
checking for assert.h... yes
checking for limits.h... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for dirent.h... yes
checking for windows.h... no
checking for sys/wait.h... yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking for bcopy... yes
checking for memfd_create... no
checking for memmove... yes
checking for mkostemp... yes
checking for secure_getenv... no
checking for strerror... yes
checking for realpath... yes
checking for zlib.h... yes
checking for gzopen in -lz... yes
checking for bzlib.h... yes
checking for libbz2... yes
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... -D_THREAD_SAFE
checking for PTHREAD_PRIO_INHERIT... yes
checking whether Intel CET is enabled... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libpcre2-8.pc
config.status: creating libpcre2-16.pc
config.status: creating libpcre2-32.pc
config.status: creating libpcre2-posix.pc
config.status: creating pcre2-config
config.status: creating src/pcre2.h
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing script-chmod commands
config.status: executing delete-old-chartables commands
pcre2-10.45 configuration summary:
Install prefix ..................... : /usr/local
C preprocessor ..................... :
C compiler ......................... : clang
Linker ............................. : ld
C preprocessor flags ............... :
C compiler flags ................... : -D_THREAD_SAFE -pthread -O2 -fvisibility=hidden
Linker flags ....................... :
Extra libraries .................... :
Build 8-bit pcre2 library .......... : yes
Build 16-bit pcre2 library ......... : yes
Build 32-bit pcre2 library ......... : no
Include debugging code ............. : no
Enable JIT compiling support ....... : yes
Use SELinux allocator in JIT ....... : unsupported
Enable Unicode support ............. : yes
Newline char/sequence .............. : any
\R matches only ANYCRLF ............ : no
\C is disabled ..................... : no
EBCDIC coding ...................... : no
EBCDIC code for NL ................. : n/a
Rebuild char tables ................ : no
Internal link size ................. : 2
Maximum variable lookbehind ........ : 255
Nested parentheses limit ........... : 250
Heap limit ......................... : 20000000 kibibytes
Match limit ........................ : 10000000
Match depth limit .................. : MATCH_LIMIT
Build shared libs .................. : yes
Build static libs .................. : yes
Use JIT in pcre2grep ............... : yes
Enable callouts in pcre2grep ....... : yes
Enable fork in pcre2grep callouts .. : yes
Initial buffer size for pcre2grep .. : 20480
Maximum buffer size for pcre2grep .. : 1048576
Link pcre2grep with libz ........... : yes
Link pcre2grep with libbz2 ......... : yes
Link pcre2test with libedit ........ : no
Link pcre2test with libreadline .... : no
Valgrind support ................... : no
Code coverage ...................... : no
Fuzzer support ..................... : no
Differential fuzzer support ........ : no
Use %zu and %td .................... : auto