MINOR: build: add linux-glibc-legacy build TARGET

As discussed in issue #128, introduce a new build TARGET
linux-glibc-legacy to allow the build on old, legacy OS.

Should be backported to 2.0.
This commit is contained in:
Lukas Tribus 2019-09-01 16:48:36 +02:00 committed by Willy Tarreau
parent 8a4ffa0aab
commit cc1eb1619f
2 changed files with 27 additions and 18 deletions

25
INSTALL
View File

@ -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

View File

@ -141,8 +141,8 @@ DOCDIR = $(PREFIX)/doc/haproxy
#### TARGET system
# Use TARGET=<target_name> 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