[DOC] update the README file with new build options
This commit is contained in:
parent
ff78e9ade0
commit
caa9f39b5b
42
README
42
README
|
@ -2,14 +2,15 @@
|
||||||
H A - P r o x y
|
H A - P r o x y
|
||||||
How to build it
|
How to build it
|
||||||
-------------------
|
-------------------
|
||||||
version 1.2.7
|
version 1.3.15
|
||||||
willy tarreau
|
willy tarreau
|
||||||
2005/10/25
|
2008/05/25
|
||||||
|
|
||||||
|
|
||||||
To build haproxy, you will need :
|
To build haproxy, you will need :
|
||||||
- GNU make. Neither Solaris nor OpenBSD's make work with this makefile.
|
- GNU make. Neither Solaris nor OpenBSD's make work with this makefile.
|
||||||
- GCC between 2.91 and 3.4. Others may work, but not tested.
|
However, specific Makefiles for BSD and OSX are provided.
|
||||||
|
- GCC between 2.91 and 4.3. Others may work, but not tested.
|
||||||
- GNU ld
|
- GNU ld
|
||||||
|
|
||||||
Also, you might want to build with libpcre support, which will provide a very
|
Also, you might want to build with libpcre support, which will provide a very
|
||||||
|
@ -18,13 +19,16 @@ efficient regex implementation and will also fix some badness on Solaris's one.
|
||||||
To build haproxy, you have to choose your target OS amongst the following ones
|
To build haproxy, you have to choose your target OS amongst the following ones
|
||||||
and assign it to the TARGET variable :
|
and assign it to the TARGET variable :
|
||||||
|
|
||||||
- linux24 for Linux 2.4 and above (default)
|
|
||||||
- linux24e for Linux 2.4 with support for epoll
|
|
||||||
- linux26 for Linux 2.6 and above
|
|
||||||
- linux22 for Linux 2.2
|
- linux22 for Linux 2.2
|
||||||
|
- linux24 for Linux 2.4 and above (default)
|
||||||
|
- linux24e for Linux 2.4 with support for a working epoll (> 0.21)
|
||||||
|
- linux24eold for Linux 2.4 with support for a broken epoll (<= 0.21)
|
||||||
|
- linux26 for Linux 2.6 and above
|
||||||
- solaris for Solaris 8 or 10 (others untested)
|
- solaris for Solaris 8 or 10 (others untested)
|
||||||
|
- freebsd for FreeBSD 5 to 6.2 (others untested)
|
||||||
- openbsd for OpenBSD 3.1 to 3.7 (others untested)
|
- openbsd for OpenBSD 3.1 to 3.7 (others untested)
|
||||||
- generic for any other OS.
|
- generic for any other OS.
|
||||||
|
- custom to manually adjust every setting
|
||||||
|
|
||||||
You may also choose your CPU to benefit from some optimizations. This is
|
You may also choose your CPU to benefit from some optimizations. This is
|
||||||
particularly important on UltraSparc machines. For this, you can assign
|
particularly important on UltraSparc machines. For this, you can assign
|
||||||
|
@ -35,6 +39,9 @@ one of the following choices to the CPU variable :
|
||||||
- ultrasparc : Sun UltraSparc I/II/III/IV processor
|
- ultrasparc : Sun UltraSparc I/II/III/IV processor
|
||||||
- generic : any other processor or no specific optimization. (default)
|
- generic : any other processor or no specific optimization. (default)
|
||||||
|
|
||||||
|
Alternatively, you may just set the CPU_CFLAGS value to the optimal GCC options
|
||||||
|
for your platform.
|
||||||
|
|
||||||
If your system supports PCRE (Perl Compatible Regular Expressions), then you
|
If your system supports PCRE (Perl Compatible Regular Expressions), then you
|
||||||
really should build with libpcre which is between 2 and 10 times faster than
|
really should build with libpcre which is between 2 and 10 times faster than
|
||||||
other libc implementations. Regex are used for header processing (deletion,
|
other libc implementations. Regex are used for header processing (deletion,
|
||||||
|
@ -42,17 +49,17 @@ rewriting, allow, deny). The only inconvenient of libpcre is that it is not
|
||||||
yet widely spread, so if you build for other systems, you might get into
|
yet widely spread, so if you build for other systems, you might get into
|
||||||
trouble if they don't have the dynamic library. In this situation, you should
|
trouble if they don't have the dynamic library. In this situation, you should
|
||||||
statically link libpcre into haproxy so that it will not be necessary to
|
statically link libpcre into haproxy so that it will not be necessary to
|
||||||
install it on target systems. Available options for the REGEX variable are :
|
install it on target systems. Available build options for PCRE are :
|
||||||
|
|
||||||
- libc to use your OS libc's standard regex implemntation (default).
|
- USE_PCRE=1 to use libpcre, in whatever form is available on your system
|
||||||
Warning! group references on Solaris seem broken. Use static-pcre whenever
|
|
||||||
possible.
|
|
||||||
|
|
||||||
- pcre to use libpcre, in whatever form it is available on your system
|
|
||||||
(shared or static)
|
(shared or static)
|
||||||
|
|
||||||
- static-pcre to use a static version of libpcre even if the dynamic one is
|
- USE_STATIC_PCRE=1 to use a static version of libpcre even if the dynamic
|
||||||
available. This will enhance portability.
|
one is available. This will enhance portability.
|
||||||
|
|
||||||
|
- with no option, use your OS libc's standard regex implemntation (default).
|
||||||
|
Warning! group references on Solaris seem broken. Use static-pcre whenever
|
||||||
|
possible.
|
||||||
|
|
||||||
By default, the DEBUG variable is set to '-g' to enable debug symbols. It is
|
By default, the DEBUG variable is set to '-g' to enable debug symbols. It is
|
||||||
not wise to disable it on uncommon systems, because it's often the only way to
|
not wise to disable it on uncommon systems, because it's often the only way to
|
||||||
|
@ -61,14 +68,15 @@ strip the binary.
|
||||||
|
|
||||||
For example, I use this to build for Solaris 8 :
|
For example, I use this to build for Solaris 8 :
|
||||||
|
|
||||||
$ make TARGET=solaris CPU=ultrasparc REGEX=static-pcre
|
$ make TARGET=solaris CPU=ultrasparc USE_STATIC_PCRE=1
|
||||||
|
|
||||||
And I build it this way on OpenBSD :
|
And I build it this way on OpenBSD or FreeBSD :
|
||||||
|
|
||||||
$ make -f Makefile.bsd REGEX=pcre DEBUG= COPTS.generic="-Os -fomit-frame-pointer -mgnu"
|
$ make -f Makefile.bsd REGEX=pcre DEBUG= COPTS.generic="-Os -fomit-frame-pointer -mgnu"
|
||||||
|
|
||||||
If you need to pass other defines, includes, libraries, etc... then please
|
If you need to pass other defines, includes, libraries, etc... then please
|
||||||
check the Makefile to see which ones will be available in your case, and
|
check the Makefile to see which ones will be available in your case, and
|
||||||
use the ADDINC, ADDLIB, and DEFINE variables for this.
|
use the USE_* variables in the GNU Makefile, or ADDINC, ADDLIB, and DEFINE
|
||||||
|
variables in the BSD makefiles.
|
||||||
|
|
||||||
-- end
|
-- end
|
||||||
|
|
Loading…
Reference in New Issue