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
16 PKG_SOURCE
:=haproxy-
$(PKG_VERSION
).
tar.gz
17 PKG_SOURCE_URL
:=https
://www.haproxy.org
/download
/1.8/src
/
18 PKG_HASH
:=56ba6a21e13215fae56472ad37d5d68c3f19bde9da94c59e70b869eecf48bf50
20 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(BUILD_VARIANT
)/$(PKG_NAME
)-$(PKG_VERSION
)
22 MAINTAINER
:=Thomas Heil
<heil@terminal-consulting.de
>, \
23 Christian Lachner
<gladiac@gmail.com
>
25 include $(INCLUDE_DIR
)/package.mk
27 define Package
/haproxy
/Default
28 SUBMENU
:=Web Servers
/Proxies
31 TITLE
:=The Reliable
, High Performance TCP
/HTTP Load Balancer
32 URL
:=https
://www.haproxy.org
/
35 define Download
/lua535
36 FILE
:=lua-5.3
.5.
tar.gz
37 URL
:=https
://www.lua.org
/ftp
/
38 HASH
:=0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac
42 $(call Build
/Prepare
/Default
)
43 ifeq ($(ENABLE_LUA
),y
)
44 tar -zxvf
$(DL_DIR
)/lua-5.3
.5.
tar.gz
-C
$(PKG_BUILD_DIR
)
45 ln
-s
$(PKG_BUILD_DIR
)/lua-5.3
.5 $(PKG_BUILD_DIR
)/lua
49 define Package
/haproxy
/Default
/conffiles
53 define Package
/haproxy
/Default
/description
54 Open source Reliable
, High Performance TCP
/HTTP Load Balancer.
57 define Package
/haproxy
58 DEPENDS
+= +libpcre
+libltdl
+zlib
+libpthread
+libopenssl
+libncursesw
+libreadline
+libatomic
+@OPENSSL_WITH_COMPRESSION
+@OPENSSL_WITH_DTLS
+@OPENSSL_ENGINE_CRYPTO
59 TITLE
+= (with SSL support
)
61 $(call Package
/haproxy
/Default
)
64 define Package
/haproxy
/conffiles
65 $(call Package
/haproxy
/Default
/conffiles
)
68 define Package
/haproxy
/description
69 $(call Package
/haproxy
/Default
/description
)
70 This package is built with SSL and LUA support.
73 define Package
/haproxy-nossl
74 TITLE
+= (without SSL support
)
76 DEPENDS
+= +libpcre
+libltdl
+zlib
+libpthread
+libatomic
77 TITLE
+= (without SSL support
)
78 $(call Package
/haproxy
/Default
)
81 define Package
/haproxy-nossl
/conffiles
82 $(call Package
/haproxy
/Default
/conffiles
)
85 define Package
/haproxy-nossl
/description
86 $(call Package
/haproxy
/Default
/description
)
87 This package is built without SSL support.
93 ifeq ($(CONFIG_TARGET_x86
),y
)
97 LINUX_TARGET
:=linux2628
99 ifeq ($(BUILD_VARIANT
),ssl
)
101 ADDON
+=ADDLIB
="-lcrypto -lm "
104 ifeq ($(ENABLE_LUA
),y
)
106 ADDON
+=LUA_LIB_NAME
="lua535"
107 ADDON
+=LUA_INC
="$(STAGING_DIR)/lua-5.3.5/include"
108 ADDON
+=LUA_LIB
="$(STAGING_DIR)/lua-5.3.5/lib"
111 ifeq ($(ENABLE_REGPARM
),y
)
115 ifeq ($(ENABLE_LUA
),y
)
116 define Build
/Compile
/lua
117 $(MAKE
) TARGET
=$(LINUX_TARGET
) -C
$(PKG_BUILD_DIR
)/lua \
118 INSTALL_TOP
="$(STAGING_DIR)/lua-5.3.5/" \
120 CFLAGS
="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
121 LDFLAGS
="$(TARGET_LDFLAGS) -lncurses -lreadline" \
125 mv
$(STAGING_DIR
)/lua-5.3
.5/lib
/liblua.a
$(STAGING_DIR
)/lua-5.3
.5/lib
/liblua535.a
130 $(call Build
/Compile
/lua
)
131 $(MAKE
) TARGET
=$(LINUX_TARGET
) -C
$(PKG_BUILD_DIR
) \
132 DESTDIR
="$(PKG_INSTALL_DIR)" \
134 PCREDIR
="$(STAGING_DIR)/usr/" \
135 SMALL_OPTS
="-DBUFSIZE=16384 -DMAXREWRITE=1030 -DSYSTEM_MAXCONN=165530" \
136 USE_LINUX_TPROXY
=1 USE_LINUX_SPLICE
=1 USE_TFO
=1 \
137 USE_ZLIB
=yes USE_PCRE
=1 USE_PCRE_JIT
=1 USE_GETADDRINFO
=1 \
138 VERSION
="$(PKG_VERSION)" SUBVERS
="-$(PKG_RELEASE)" \
139 VERDATE
="$(shell date -d @$(SOURCE_DATE_EPOCH) '+%Y/%m/%d')" IGNOREGIT
=1 \
141 CFLAGS
="$(TARGET_CFLAGS)" \
143 LDFLAGS
="$(TARGET_LDFLAGS) -latomic"
145 $(MAKE_VARS
) $(MAKE
) -C
$(PKG_BUILD_DIR
) \
146 DESTDIR
="$(PKG_INSTALL_DIR)" \
148 LDFLAGS
="$(TARGET_LDFLAGS)" \
152 $(MAKE_VARS
) $(MAKE
) -C
$(PKG_BUILD_DIR
)/contrib
/halog \
153 DESTDIR
="$(PKG_INSTALL_DIR)" \
155 OPTIMIZE
="$(TARGET_CFLAGS)" \
160 define Package
/haproxy
/install
161 $(INSTALL_DIR
) $(1)/usr
/sbin
162 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/haproxy
$(1)/usr
/sbin
/
163 $(INSTALL_DIR
) $(1)/etc
164 $(INSTALL_CONF
) .
/files
/haproxy.cfg
$(1)/etc
/
165 $(INSTALL_DIR
) $(1)/etc
/init.d
166 $(INSTALL_BIN
) .
/files
/haproxy.init
$(1)/etc
/init.d
/haproxy
167 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/net
168 $(INSTALL_BIN
) .
/files
/haproxy.hotplug
$(1)/etc
/hotplug.d
/net
/90-haproxy
171 Package
/haproxy-nossl
/install = $(Package
/haproxy
/install)
175 $(call Package
/haproxy
)
180 define Package
/halog
/description
184 define Package
/halog
/install
185 $(INSTALL_DIR
) $(1)/usr
/bin
186 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/contrib
/halog
/halog
$(1)/usr
/bin
/
189 $(eval
$(call Download
,lua535
))
190 $(eval
$(call BuildPackage
,haproxy
))
191 $(eval
$(call BuildPackage
,halog
))
192 $(eval
$(call BuildPackage
,haproxy-nossl
))