692aaf2bee205955c51850421c20bd05fd3dd554
[feed/packages.git] / net / haproxy / Makefile
1 #
2 # Copyright (C) 2010-2013 OpenWrt.org
3 # Copyright (C) 2009-2014 Thomas Heil <heil@terminal-consulting.de>
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=haproxy
12 PKG_VERSION:=1.5.4
13 PKG_RELEASE:=14
14 PKG_SOURCE:=haproxy-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://haproxy.1wt.eu/download/1.5/src/
16 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
17 PKG_MD5SUM:=b027035bfd8f28326634f802c3447a34
18 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
19 PKG_LICENSE:=GPL-2.0
20
21 include $(INCLUDE_DIR)/package.mk
22
23 define Package/haproxy/Default
24 SUBMENU:=Web Servers/Proxies
25 SECTION:=net
26 CATEGORY:=Network
27 TITLE:=The Reliable, High Performance TCP/HTTP Load Balancer
28 URL:=http://haproxy.1wt.eu/
29 endef
30
31 define Package/haproxy/Default/conffiles
32 /etc/haproxy.cfg
33 endef
34
35 define Package/haproxy/Default/description
36 Open source Reliable, High Performance TCP/HTTP Load Balancer.
37 endef
38
39 define Package/haproxy
40 DEPENDS+= +libpcre +libltdl +zlib +libpthread +libopenssl
41 TITLE+= (with SSL support)
42 VARIANT:=ssl
43 $(call Package/haproxy/Default)
44 endef
45
46 define Package/haproxy/conffiles
47 $(call Package/haproxy/Default/conffiles)
48 endef
49
50 define Package/haproxy/description
51 $(call Package/haproxy/Default/description)
52 This package is built with SSL support.
53 endef
54
55 define Package/haproxy-nossl
56 TITLE+= (without SSL support)
57 VARIANT:=nossl
58 DEPENDS+= +libpcre +libltdl +zlib +libpthread
59 TITLE+= (with SSL support)
60 $(call Package/haproxy/Default)
61 endef
62
63 define Package/haproxy-nossl/conffiles
64 $(call Package/haproxy/Default/conffiles)
65 endef
66
67 define Package/haproxy-nossl/description
68 $(call Package/haproxy/Default/description)
69 This package is built without SSL support.
70 endef
71
72 ifeq ($(CONFIG_avr32),y)
73 LINUX_TARGET:=linux26
74 else
75 LINUX_TARGET:=linux2628
76 endif
77
78 ifeq ($(BUILD_VARIANT),ssl)
79 ADDLIB:=-lcrypt
80 USE_OPENSSL=USE_OPENSSL=1
81 else
82 ADDLIB:=
83 USE_OPENSSL=
84 endif
85
86
87
88
89
90 define Build/Compile
91 $(MAKE) TARGET=$(LINUX_TARGET) -C $(PKG_BUILD_DIR) \
92 DESTDIR="$(PKG_INSTALL_DIR)" \
93 CC="$(TARGET_CC)" \
94 CFLAGS="$(TARGET_CFLAGS) -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer -fhonour-copts" \
95 LD="$(TARGET_CC)" \
96 LDFLAGS="$(TARGET_LDFLAGS)" \
97 ADDLIB="$(ADDLIB)" \
98 PCREDIR="$(STAGING_DIR)/usr/include" \
99 SMALL_OPTS="-DBUFSIZE=16384 -DMAXREWRITE=1030 -DSYSTEM_MAXCONN=165530 " \
100 USE_LINUX_TPROXY=1 USE_LINUX_SPLICE=1 USE_REGPARM=1 $(USE_OPENSSL) \
101 USE_ZLIB=yes USE_PCRE=1 \
102 VERSION="$(PKG_VERSION)-patch$(PKG_RELEASE)" \
103 install
104
105 $(MAKE) -C $(PKG_BUILD_DIR)/contrib/halog \
106 DESTDIR="$(PKG_INSTALL_DIR)" \
107 CC="$(TARGET_CC)" \
108 CFLAGS="$(TARGET_CFLAGS) -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer -fhonour-copts" \
109 LD="$(TARGET_CC)" \
110 LDFLAGS="$(TARGET_LDFLAGS)" \
111 ADDLIB="$(ADDLIB)" \
112 VERSION="$(PKG_VERSION)-patch$(PKG_RELEASE)" \
113 halog
114 endef
115
116 define Package/haproxy/install
117 $(INSTALL_DIR) $(1)/usr/sbin
118 $(INSTALL_BIN) $(PKG_BUILD_DIR)/haproxy $(1)/usr/sbin/
119 $(INSTALL_DIR) $(1)/etc
120 $(INSTALL_CONF) ./files/haproxy.cfg $(1)/etc/
121 $(INSTALL_DIR) $(1)/etc/init.d
122 $(INSTALL_BIN) ./files/haproxy.init $(1)/etc/init.d/haproxy
123 $(INSTALL_DIR) $(1)/etc/hotplug.d/net
124 $(INSTALL_BIN) ./files/haproxy.hotplug $(1)/etc/hotplug.d/net/90-haproxy
125 endef
126
127 Package/haproxy-nossl/install = $(Package/haproxy/install)
128
129 define Package/halog
130 MENU:=1
131 $(call Package/haproxy/Default)
132 TITLE+= halog
133 DEPENDS:=haproxy
134 endef
135
136 define Package/halog/description
137 HAProxy Log Analyzer
138 endef
139
140 define Package/halog/install
141 $(INSTALL_DIR) $(1)/usr/bin
142 $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/halog/halog $(1)/usr/bin/
143 endef
144
145 $(eval $(call BuildPackage,haproxy-nossl))
146 $(eval $(call BuildPackage,haproxy))
147 $(eval $(call BuildPackage,halog))