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

View File

@ -371,6 +371,7 @@ 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
- 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

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