2 # Copyright (C) 2010-2016 OpenWrt.org
3 # Copyright (C) 2009-2016 Thomas Heil <heil@terminal-consulting.de>
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
15 PKG_SOURCE
:=haproxy-
$(PKG_VERSION
).
tar.gz
16 PKG_SOURCE_URL
:=http
://www.haproxy.org
/download
/1.7/src
/
17 PKG_HASH
:=1072337e54fa188dc6e0cfe3ba4c2200b07082e321cbfe5a0882d85d54db068e
19 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(BUILD_VARIANT
)/$(PKG_NAME
)-$(PKG_VERSION
)
21 MAINTAINER
:=Thomas Heil
<heil@terminal-consulting.de
>
23 include $(INCLUDE_DIR
)/package.mk
25 define Package
/haproxy
/Default
26 SUBMENU
:=Web Servers
/Proxies
29 TITLE
:=The Reliable
, High Performance TCP
/HTTP Load Balancer
30 URL
:=http
://haproxy
.1wt.eu
/
33 define Download
/lua534
34 FILE
:=lua-5.3
.4.
tar.gz
35 URL
:=http
://www.lua.org
/ftp
/
36 HASH
:=f681aa518233bc407e23acf0f5887c884f17436f000d453b2491a9f11a52400c
40 $(call Build
/Prepare
/Default
)
41 ifeq ($(ENABLE_LUA
),y
)
42 tar -zxvf
$(DL_DIR
)/lua-5.3
.4.
tar.gz
-C
$(PKG_BUILD_DIR
)
43 ln
-s
$(PKG_BUILD_DIR
)/lua-5.3
.4 $(PKG_BUILD_DIR
)/lua
47 define Package
/haproxy
/Default
/conffiles
51 define Package
/haproxy
/Default
/description
52 Open source Reliable
, High Performance TCP
/HTTP Load Balancer.
55 define Package
/haproxy
56 DEPENDS
+= +libpcre
+libltdl
+zlib
+libpthread
+libopenssl
+libncursesw
+libreadline
+@OPENSSL_WITH_DEPRECATED
+@OPENSSL_WITH_EC
+@OPENSSL_WITH_EC2M
+@OPENSSL_WITH_DTLS
+@OPENSSL_WITH_COMPRESSION
+@OPENSSL_WITH_NPN
+@OPENSSL_WITH_PSK
+@OPENSSL_WITH_SRP
+@OPENSSL_ENGINE_DIGEST
+@OPENSSL_ENGINE_CRYPTO
58 TITLE
+= (with SSL support
)
60 $(call Package
/haproxy
/Default
)
63 define Package
/haproxy
/conffiles
64 $(call Package
/haproxy
/Default
/conffiles
)
67 define Package
/haproxy
/description
68 $(call Package
/haproxy
/Default
/description
)
69 This package is built with SSL and LUA support.
72 define Package
/haproxy
/config
73 select CONFIG_OPENSSL_WITH_DEPRECATED
74 $(call Package
/haproxy
/Default
/config
)
77 define Package
/haproxy-nossl
78 TITLE
+= (without SSL support
)
80 DEPENDS
+= +libpcre
+libltdl
+zlib
+libpthread
81 TITLE
+= (without SSL support
)
82 $(call Package
/haproxy
/Default
)
85 define Package
/haproxy-nossl
/conffiles
86 $(call Package
/haproxy
/Default
/conffiles
)
89 define Package
/haproxy-nossl
/description
90 $(call Package
/haproxy
/Default
/description
)
91 This package is built without SSL support.
95 ifeq ($(CONFIG_mips
),y
)
99 ifeq ($(CONFIG_avr32
),y
)
100 LINUX_TARGET
:=linux26
102 LINUX_TARGET
:=linux2628
105 ifeq ($(BUILD_VARIANT
),ssl
)
107 ADDON
+=ADDLIB
="-lcrypto -lm "
108 else ifeq ($(CONFIG_mips
),n
)
110 ADDON
+=LUA_LIB_NAME
="lua534"
111 ADDON
+=LUA_INC
="$(STAGING_DIR)/lua-5.3.4/include"
112 ADDON
+=LUA_LIB
="$(STAGING_DIR)/lua-5.3.4/lib"
117 ifeq ($(ENABLE_LUA
),y
)
118 define Build
/Compile
/lua
119 $(MAKE
) TARGET
=$(LINUX_TARGET
) -C
$(PKG_BUILD_DIR
)/lua \
120 INSTALL_TOP
="$(STAGING_DIR)/lua-5.3.4/" \
122 CFLAGS
="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
123 LDFLAGS
="$(TARGET_LDFLAGS) -lncurses -lreadline" \
127 mv
$(STAGING_DIR
)/lua-5.3
.4/lib
/liblua.a
$(STAGING_DIR
)/lua-5.3
.4/lib
/liblua534.a
132 $(call Build
/Compile
/lua
)
133 $(MAKE
) TARGET
=$(LINUX_TARGET
) -C
$(PKG_BUILD_DIR
) \
134 DESTDIR
="$(PKG_INSTALL_DIR)" \
136 PCREDIR
="$(STAGING_DIR)/usr/" \
137 SMALL_OPTS
="-DBUFSIZE=16384 -DMAXREWRITE=1030 -DSYSTEM_MAXCONN=165530 " \
138 USE_LINUX_TPROXY
=1 USE_LINUX_SPLICE
=1 USE_REGPARM
=1 \
139 USE_ZLIB
=yes USE_PCRE
=1 USE_PCRE_JIT
=1\
140 VERSION
="$(PKG_VERSION)-patch$(PKG_RELEASE)" \
142 CFLAGS
="$(TARGET_CFLAGS) -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer -fhonour-copts" \
144 LDFLAGS
="$(TARGET_LDFLAGS) -lcurses -lreadline" \
147 $(MAKE_VARS
) $(MAKE
) -C
$(PKG_BUILD_DIR
) \
148 DESTDIR
="$(PKG_INSTALL_DIR)" \
150 LDFLAGS
="$(TARGET_LDFLAGS)" \
154 $(MAKE_VARS
) $(MAKE
) -C
$(PKG_BUILD_DIR
)/contrib
/halog \
155 DESTDIR
="$(PKG_INSTALL_DIR)" \
158 VERSION
="$(PKG_VERSION)-patch$(PKG_RELEASE)" \
162 define Package
/haproxy
/install
163 $(INSTALL_DIR
) $(1)/usr
/sbin
164 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/haproxy
$(1)/usr
/sbin
/
165 $(INSTALL_DIR
) $(1)/etc
166 $(INSTALL_CONF
) .
/files
/haproxy.cfg
$(1)/etc
/
167 $(INSTALL_DIR
) $(1)/etc
/init.d
168 $(INSTALL_BIN
) .
/files
/haproxy.init
$(1)/etc
/init.d
/haproxy
169 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/net
170 $(INSTALL_BIN
) .
/files
/haproxy.hotplug
$(1)/etc
/hotplug.d
/net
/90-haproxy
173 Package
/haproxy-nossl
/install = $(Package
/haproxy
/install)
177 $(call Package
/haproxy
)
182 define Package
/halog
/description
186 define Package
/halog
/install
187 $(INSTALL_DIR
) $(1)/usr
/bin
188 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/contrib
/halog
/halog
$(1)/usr
/bin
/
191 $(eval
$(call Download
,lua534
))
192 $(eval
$(call BuildPackage
,haproxy
))
193 $(eval
$(call BuildPackage
,halog
))
194 $(eval
$(call BuildPackage
,haproxy-nossl
))