]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: build: add linux-glibc-legacy build TARGET
authorLukas Tribus <lukas@ltri.eu>
Sun, 1 Sep 2019 14:48:36 +0000 (16:48 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 1 Sep 2019 15:28:10 +0000 (17:28 +0200)
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.

INSTALL
Makefile

diff --git a/INSTALL b/INSTALL
index dd80b64852cf4f2f75479fa22b9209c480eb86fc..40e3a045f969e7135b02fa1bda60c4cf6ddf49bd 100644 (file)
--- 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
index 5536d549ca79fc507124f47e3c3d721d03aa1c2d..ec15cbd846a6eda562f65aff7b46c36ffa34e2a2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -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