BUILD: Makefile: add USE_RT to pass -lrt for clock_gettime() and friends

Some code will require clock_gettime() which needs -lrt on most Linux
distros (those with glibc < 2.17). For this reason, this patch introduces
USE_RT to enable -lrt, which is implicitly set for all Linux flavors,
since it's harmless to link with it on more recent ones. Those who know
they can safely get rid of -lrt can remove it using "USE_RT=".
This commit is contained in:
Willy Tarreau 2018-10-18 16:28:54 +02:00
parent ac6c8805be
commit 58e90cbb9e
1 changed files with 11 additions and 0 deletions

View File

@ -40,6 +40,7 @@
# USE_TFO : enable TCP fast open. Supported on Linux >= 3.7.
# USE_NS : enable network namespace support. Supported on Linux >= 2.6.24.
# USE_DL : enable it if your system requires -ldl. Automatic on Linux.
# USE_RT : enable it if your system requires -lrt. Automatic on Linux.
# USE_DEVICEATLAS : enable DeviceAtlas api.
# USE_51DEGREES : enable third party device detection library from 51Degrees
# USE_WURFL : enable WURFL detection library from Scientiamobile
@ -281,6 +282,7 @@ ifeq ($(TARGET),linux22)
USE_TPROXY = implicit
USE_LIBCRYPT = implicit
USE_DL = implicit
USE_RT = implicit
else
ifeq ($(TARGET),linux24)
# This is for standard Linux 2.4 with netfilter but without epoll()
@ -289,6 +291,7 @@ ifeq ($(TARGET),linux24)
USE_TPROXY = implicit
USE_LIBCRYPT = implicit
USE_DL = implicit
USE_RT = implicit
else
ifeq ($(TARGET),linux24e)
# This is for enhanced Linux 2.4 with netfilter and epoll() patch > 0.21
@ -299,6 +302,7 @@ ifeq ($(TARGET),linux24e)
USE_TPROXY = implicit
USE_LIBCRYPT = implicit
USE_DL = implicit
USE_RT = implicit
else
ifeq ($(TARGET),linux26)
# This is for standard Linux 2.6 with netfilter and standard epoll()
@ -309,6 +313,7 @@ ifeq ($(TARGET),linux26)
USE_LIBCRYPT = implicit
USE_FUTEX = implicit
USE_DL = implicit
USE_RT = implicit
else
ifeq ($(TARGET),linux2628)
# This is for standard Linux >= 2.6.28 with netfilter, epoll, tproxy and splice
@ -324,6 +329,7 @@ ifeq ($(TARGET),linux2628)
USE_CPU_AFFINITY= implicit
ASSUME_SPLICE_WORKS= implicit
USE_DL = implicit
USE_RT = implicit
USE_THREAD = implicit
else
ifeq ($(TARGET),solaris)
@ -599,6 +605,11 @@ OPTIONS_CFLAGS += -DUSE_THREAD
OPTIONS_LDFLAGS += -lpthread
endif
ifneq ($(USE_RT),)
BUILD_OPTIONS += $(call ignore_implicit,USE_RT)
OPTIONS_LDFLAGS += -lrt
endif
# report DLMALLOC_SRC only if explicitly specified
ifneq ($(DLMALLOC_SRC),)
BUILD_OPTIONS += DLMALLOC_SRC=$(DLMALLOC_SRC)