2 # Copyright (C) 2010-2016 OpenWrt.org
3 # Copyright (C) 2009-2016 Thomas Heil <heil@terminal-consulting.de>
4 # Copyright (C) 2018 Christian Lachner <gladiac@gmail.com>
6 # This is free software, licensed under the GNU General Public License v2.
7 # See /LICENSE for more information.
10 include $(TOPDIR
)/rules.mk
14 PKG_RELEASE
:=$(AUTORELEASE
)
16 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
17 PKG_SOURCE_URL
:=https
://www.haproxy.org
/download
/2.4/src
18 PKG_HASH
:=4838dcc961a4544ef2d1e1aa7a7624cffdc4dda731d9cb66e46114819a3b1c5c
20 PKG_MAINTAINER
:=Thomas Heil
<heil@terminal-consulting.de
>, \
21 Christian Lachner
<gladiac@gmail.com
>
22 PKG_LICENSE
:=GPL-2.0
-only
23 PKG_LICENSE_FILES
:=LICENSE
24 PKG_CPE_ID
:=cpe
:/a
:haproxy
:haproxy
26 include $(INCLUDE_DIR
)/package.mk
28 define Package
/haproxy
/Default
29 SUBMENU
:=Web Servers
/Proxies
32 TITLE
:=The Reliable
, High Performance TCP
/HTTP Load Balancer
33 URL
:=https
://www.haproxy.org
/
37 $(call Build
/Prepare
/Default
)
40 define Package
/haproxy
/Default
/conffiles
44 define Package
/haproxy
/Default
/description
45 Open source Reliable
, High Performance TCP
/HTTP Load Balancer.
48 define Package
/haproxy
49 DEPENDS
+= +libpcre
+libltdl
+zlib
+libpthread
+liblua5.3
+libopenssl
+libncurses
+libreadline
+libatomic
50 TITLE
+= (with SSL support
)
52 $(call Package
/haproxy
/Default
)
55 define Package
/haproxy
/conffiles
56 $(call Package
/haproxy
/Default
/conffiles
)
59 define Package
/haproxy
/description
60 $(call Package
/haproxy
/Default
/description
)
61 This package is built with SSL and LUA support.
64 define Package
/haproxy-nossl
65 TITLE
+= (without SSL support
)
67 DEPENDS
+= +libpcre
+libltdl
+zlib
+libpthread
+liblua5.3
+libatomic
68 TITLE
+= (without SSL support
)
69 $(call Package
/haproxy
/Default
)
72 define Package
/haproxy-nossl
/conffiles
73 $(call Package
/haproxy
/Default
/conffiles
)
76 define Package
/haproxy-nossl
/description
77 $(call Package
/haproxy
/Default
/description
)
78 This package is built without SSL support.
84 ifeq ($(CONFIG_USE_UCLIBC
),y
)
89 ifeq ($(CONFIG_USE_MUSL
),y
)
93 ifeq ($(BUILD_VARIANT
),ssl
)
95 ADDON
+=ADDLIB
="-lcrypto -lm"
99 $(MAKE
) TARGET
=$(TARGET
) -C
$(PKG_BUILD_DIR
) \
100 DESTDIR
="$(PKG_INSTALL_DIR)" \
102 PCREDIR
="$(STAGING_DIR)/usr/" \
103 USE_LUA
=1 LUA_LIB_NAME
="lua5.3" LUA_INC
="$(STAGING_DIR)/usr/include/lua5.3" LUA_LIB
="$(STAGING_DIR)/usr/lib" \
104 SMALL_OPTS
="-DBUFSIZE=16384 -DMAXREWRITE=1030 -DSYSTEM_MAXCONN=165530" \
105 USE_ZLIB
=1 USE_PCRE
=1 USE_PCRE_JIT
=1 USE_PTHREAD_PSHARED
=1 USE_LIBATOMIC
=1 USE_PROMEX
=1 \
106 VERSION
="$(PKG_VERSION)" SUBVERS
="-$(PKG_RELEASE)" \
107 VERDATE
="$(shell date -d @$(SOURCE_DATE_EPOCH) '+%Y/%m/%d')" IGNOREGIT
=1 \
109 CFLAGS
="$(TARGET_CFLAGS) -fno-strict-aliasing -Wdeclaration-after-statement -Wno-unused-label -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered -Wno-missing-field-initializers -Wno-cast-function-type -Wno-address-of-packed-member -Wtype-limits -Wshift-negative-value -Wshift-overflow=2 -Wduplicated-cond -Wnull-dereference -fwrapv -fasynchronous-unwind-tables -Wno-null-dereference" \
111 LDFLAGS
="$(TARGET_LDFLAGS)"
113 $(MAKE_VARS
) $(MAKE
) -C
$(PKG_BUILD_DIR
) \
114 DESTDIR
="$(PKG_INSTALL_DIR)" \
116 LDFLAGS
="$(TARGET_LDFLAGS)" \
120 $(MAKE_VARS
) $(MAKE
) -C
$(PKG_BUILD_DIR
) \
121 DESTDIR
="$(PKG_INSTALL_DIR)" \
123 CFLAGS
="$(TARGET_CFLAGS) -Wno-address-of-packed-member" \
124 LDFLAGS
="$(TARGET_LDFLAGS)" \
128 define Package
/haproxy
/install
129 $(INSTALL_DIR
) $(1)/usr
/sbin
130 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/haproxy
$(1)/usr
/sbin
/
131 $(INSTALL_DIR
) $(1)/etc
132 $(INSTALL_CONF
) .
/files
/haproxy.cfg
$(1)/etc
/
133 $(INSTALL_DIR
) $(1)/etc
/init.d
134 $(INSTALL_BIN
) .
/files
/haproxy.init
$(1)/etc
/init.d
/haproxy
137 Package
/haproxy-nossl
/install = $(Package
/haproxy
/install)
141 $(call Package
/haproxy
)
146 define Package
/halog
/description
150 define Package
/halog
/install
151 $(INSTALL_DIR
) $(1)/usr
/bin
152 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/admin
/halog
/halog
$(1)/usr
/bin
/
155 $(eval
$(call BuildPackage
,haproxy
))
156 $(eval
$(call BuildPackage
,halog
))
157 $(eval
$(call BuildPackage
,haproxy-nossl
))