xref: /OK3568_Linux_fs/buildroot/package/haproxy/haproxy.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# haproxy
4#
5################################################################################
6
7HAPROXY_VERSION_MAJOR = 2.4
8HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).7
9HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src
10HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions
11HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt
12HAPROXY_CPE_ID_VENDOR = haproxy
13
14HAPROXY_MAKE_OPTS = \
15	LD=$(TARGET_CC) \
16	PREFIX=/usr \
17	TARGET=custom
18
19ifeq ($(BR2_STATIC_LIBS),)
20HAPROXY_MAKE_OPTS += USE_DL=1
21endif
22
23ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
24HAPROXY_LIBS += -latomic
25endif
26
27ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)
28# threads uses atomics on gcc >= 4.7 and sync otherwise (see
29# include/common/hathreads.h)
30ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_ATOMIC),y:y)
31HAPROXY_MAKE_OPTS += USE_THREAD=1
32else ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_SYNC_4),:y)
33HAPROXY_MAKE_OPTS += USE_THREAD=1
34endif
35endif
36
37ifeq ($(BR2_PACKAGE_LUA_5_3),y)
38HAPROXY_DEPENDENCIES += lua
39HAPROXY_MAKE_OPTS += \
40	LUA_LIB_NAME=lua \
41	USE_LUA=1
42endif
43
44ifeq ($(BR2_PACKAGE_OPENSSL),y)
45HAPROXY_DEPENDENCIES += openssl
46HAPROXY_MAKE_OPTS += USE_OPENSSL=1
47ifeq ($(BR2_STATIC_LIBS),y)
48HAPROXY_LIBS += -lz
49endif
50endif
51
52# pcre and pcre2 can't be enabled at the same time so prefer pcre2
53ifeq ($(BR2_PACKAGE_PCRE2),y)
54HAPROXY_DEPENDENCIES += pcre2
55HAPROXY_MAKE_OPTS += \
56	PCRE2_CONFIG=$(STAGING_DIR)/usr/bin/pcre2-config \
57	USE_PCRE2=1
58else ifeq ($(BR2_PACKAGE_PCRE),y)
59HAPROXY_DEPENDENCIES += pcre
60HAPROXY_MAKE_OPTS += \
61	PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config \
62	USE_PCRE=1
63endif
64
65ifeq ($(BR2_PACKAGE_SYSTEMD),y)
66HAPROXY_DEPENDENCIES += systemd
67HAPROXY_MAKE_OPTS += USE_SYSTEMD=1
68endif
69
70ifeq ($(BR2_PACKAGE_ZLIB),y)
71HAPROXY_DEPENDENCIES += zlib
72HAPROXY_MAKE_OPTS += USE_ZLIB=1
73endif
74
75HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)"
76
77HAPROXY_CFLAGS = $(TARGET_CFLAGS)
78
79ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y)
80HAPROXY_CFLAGS += -O0
81endif
82
83define HAPROXY_BUILD_CMDS
84	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
85		$(HAPROXY_MAKE_OPTS) CFLAGS="$(HAPROXY_CFLAGS)" -C $(@D)
86endef
87
88define HAPROXY_INSTALL_TARGET_CMDS
89	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
90		$(HAPROXY_MAKE_OPTS) -C $(@D) DESTDIR=$(TARGET_DIR) install
91endef
92
93$(eval $(generic-package))
94