- recent Linux system with all options, make and install :
$ make clean
$ make -j $(nproc) TARGET=linux-glibc \
- USE_OPENSSL=1 USE_LUA=1 USE_PCRE=1 USE_SYSTEMD=1
+ USE_OPENSSL=1 USE_LUA=1 USE_PCRE2=1 USE_SYSTEMD=1
$ sudo make install
- FreeBSD and OpenBSD, build with all options :
- $ gmake -j 4 TARGET=freebsd USE_OPENSSL=1 USE_LUA=1 USE_PCRE=1
+ $ gmake -j 4 TARGET=freebsd USE_OPENSSL=1 USE_LUA=1 USE_PCRE2=1
- embedded Linux, build using a cross-compiler :
- $ make -j $(nproc) TARGET=linux-glibc USE_OPENSSL=1 USE_PCRE=1 \
+ $ make -j $(nproc) TARGET=linux-glibc USE_OPENSSL=1 USE_PCRE2=1 \
CC=/opt/cross/gcc730-arm/bin/gcc ADDLIB=-latomic
- Build with static PCRE on Solaris / UltraSPARC :
- $ make TARGET=solaris CPU=ultrasparc USE_STATIC_PCRE=1
+ $ make TARGET=solaris CPU=ultrasparc USE_STATIC_PCRE2=1
For more advanced build options or if a command above reports an error, please
read the following sections.
If you plan on importing a particularly heavy configuration involving a lot of
regex, you may benefit from using some alternative regex implementations such as
-PCRE. HAProxy natively supports PCRE and PCRE2, both in standard and JIT
-flavors (Just In Time). The following options are available depending on the
-library version provided on your system :
+PCRE. HAProxy natively supports PCRE and PCRE2 (recommended), both in standard
+and JIT flavors (Just In Time). The following options are available depending on
+the library version provided on your system :
- "USE_PCRE=1" : enable PCRE version 1, dynamic linking
- "USE_STATIC_PCRE=1" : enable PCRE version 1, static linking
# USE_KQUEUE : enable kqueue() on BSD. Automatic.
# USE_EVPORTS : enable event ports on SunOS systems. Automatic.
# USE_NETFILTER : enable netfilter on Linux. Automatic.
-# USE_PCRE : enable use of libpcre for regex. Recommended.
+# USE_PCRE : enable use of libpcre for regex.
# USE_PCRE_JIT : enable JIT for faster regex on libpcre >= 8.32
-# USE_PCRE2 : enable use of libpcre2 for regex.
+# USE_PCRE2 : enable use of libpcre2 for regex. Recommended.
# USE_PCRE2_JIT : enable JIT for faster regex on libpcre2
# USE_POLL : enable poll(). Automatic.
# USE_THREAD : enable threads support.
-# USE_STATIC_PCRE : enable static libpcre. Recommended.
-# USE_STATIC_PCRE2 : enable static libpcre2.
+# USE_STATIC_PCRE : enable static libpcre.
+# USE_STATIC_PCRE2 : enable static libpcre2. Recommended.
# USE_TPROXY : enable transparent proxy. Automatic.
# USE_LINUX_TPROXY : enable full transparent proxy. Automatic.
# USE_LINUX_SPLICE : enable kernel 2.6 splicing. Automatic.