diff --git a/INSTALL b/INSTALL index dd80b6485..40e3a045f 100644 --- a/INSTALL +++ b/INSTALL @@ -370,18 +370,19 @@ and section 3 (build environment). It often refers to section 4 (dependencies). To build haproxy, you have to choose your target OS amongst the following ones and assign it to the TARGET variable : - - linux-glibc for Linux kernel 2.6.28 and above - - solaris for Solaris 8 or 10 (others untested) - - freebsd for FreeBSD 5 to 12 (others untested) - - netbsd for NetBSD - - osx for Mac OS/X - - openbsd for OpenBSD 5.7 and above - - aix51 for AIX 5.1 - - aix52 for AIX 5.2 - - cygwin for Cygwin - - haiku for Haiku - - generic for any other OS or version. - - custom to manually adjust every setting + - linux-glibc for Linux kernel 2.6.28 and above + - linux-glibc-legacy for Linux kernel 2.6.28 and above without new features + - solaris for Solaris 8 or 10 (others untested) + - freebsd for FreeBSD 5 to 12 (others untested) + - netbsd for NetBSD + - osx for Mac OS/X + - openbsd for OpenBSD 5.7 and above + - aix51 for AIX 5.1 + - aix52 for AIX 5.2 + - cygwin for Cygwin + - haiku for Haiku + - generic for any other OS or version. + - custom to manually adjust every setting You may also choose your CPU to benefit from some optimizations. This is particularly important on UltraSparc machines. For this, you can assign diff --git a/Makefile b/Makefile index 5536d549c..ec15cbd84 100644 --- a/Makefile +++ b/Makefile @@ -141,8 +141,8 @@ DOCDIR = $(PREFIX)/doc/haproxy #### TARGET system # Use TARGET= to optimize for a specifc target OS among the # following list (use the default "generic" if uncertain) : -# linux-glibc, solaris, freebsd, openbsd, netbsd, cygwin, -# haiku, aix51, aix52, osx, generic, custom +# linux-glibc, linux-glibc-legacy, solaris, freebsd, openbsd, netbsd, +# cygwin, haiku, aix51, aix52, osx, generic, custom TARGET = #### TARGET CPU @@ -327,6 +327,14 @@ ifeq ($(TARGET),linux-glibc) USE_GETADDRINFO) endif +# For linux >= 2.6.28, glibc without new features +ifeq ($(TARGET),linux-glibc-legacy) + set_target_defaults = $(call default_opts, \ + USE_POLL USE_TPROXY USE_LIBCRYPT USE_DL USE_RT USE_CRYPT_H USE_NETFILTER \ + USE_CPU_AFFINITY USE_THREAD USE_EPOLL USE_FUTEX USE_LINUX_TPROXY \ + USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_GETADDRINFO) +endif + # Solaris 8 and above ifeq ($(TARGET),solaris) # We also enable getaddrinfo() which works since solaris 8. @@ -733,8 +741,8 @@ all: @echo @echo "Please choose the target among the following supported list :" @echo - @echo " linux-glibc, solaris, freebsd, openbsd, netbsd, cygwin," - @echo " haiku, aix51, aix52, osx, generic, custom" + @echo " linux-glibc, linux-glibc-legacy, solaris, freebsd, openbsd, netbsd," + @echo " cygwin, haiku, aix51, aix52, osx, generic, custom" @echo @echo "Use \"generic\" if you don't want any optimization, \"custom\" if you" @echo "want to precisely tweak every option, or choose the target which" @@ -810,8 +818,8 @@ help: fi; \ else \ echo "TARGET not set, you may pass 'TARGET=xxx' to set one among :";\ - echo " linux-glibc, solaris, freebsd, netbsd, osx, openbsd,"; \ - echo " aix51, aix52, cygwin, haiku, generic, custom"; \ + echo " linux-glibc, linux-glibc-legacy, solaris, freebsd, netbsd, osx,"; \ + echo " openbsd, aix51, aix52, cygwin, haiku, generic, custom"; \ fi $(Q)echo;echo "Enabled features for TARGET '$(TARGET)' (disable with 'USE_xxx=') :" $(Q)set -- $(foreach opt,$(patsubst USE_%,%,$(use_opts)),$(if $(USE_$(opt)),$(opt),)); echo " $$*" | (fmt || cat) 2>/dev/null