Merge pull request #507 from roger-/motion
[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.8
13 PKG_RELEASE:=00
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:=7bffa1afa069d90ce03b7cd9aa0557cd
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 USE_OPENSSL=USE_OPENSSL=1
80 else
81 USE_OPENSSL=
82 endif
83
84 define Build/Compile
85 $(MAKE) TARGET=$(LINUX_TARGET) -C $(PKG_BUILD_DIR) \
86 DESTDIR="$(PKG_INSTALL_DIR)" \
87 CC="$(TARGET_CC)" \
88 CFLAGS="$(TARGET_CFLAGS) -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer -fhonour-copts" \
89 LD="$(TARGET_CC)" \
90 LDFLAGS="$(TARGET_LDFLAGS)" \
91 PCREDIR="$(STAGING_DIR)/usr/include" \
92 SMALL_OPTS="-DBUFSIZE=16384 -DMAXREWRITE=1030 -DSYSTEM_MAXCONN=165530 " \
93 USE_LINUX_TPROXY=1 USE_LINUX_SPLICE=1 USE_REGPARM=1 $(USE_OPENSSL) \
94 USE_ZLIB=yes USE_PCRE=1 \
95 VERSION="$(PKG_VERSION)-patch$(PKG_RELEASE)" \
96 install
97
98 $(MAKE) -C $(PKG_BUILD_DIR)/contrib/halog \
99 DESTDIR="$(PKG_INSTALL_DIR)" \
100 CC="$(TARGET_CC)" \
101 CFLAGS="$(TARGET_CFLAGS) -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer -fhonour-copts" \
102 LD="$(TARGET_CC)" \
103 LDFLAGS="$(TARGET_LDFLAGS)" \
104 VERSION="$(PKG_VERSION)-patch$(PKG_RELEASE)" \
105 halog
106 endef
107
108 define Package/haproxy/install
109 $(INSTALL_DIR) $(1)/usr/sbin
110 $(INSTALL_BIN) $(PKG_BUILD_DIR)/haproxy $(1)/usr/sbin/
111 $(INSTALL_DIR) $(1)/etc
112 $(INSTALL_CONF) ./files/haproxy.cfg $(1)/etc/
113 $(INSTALL_DIR) $(1)/etc/init.d
114 $(INSTALL_BIN) ./files/haproxy.init $(1)/etc/init.d/haproxy
115 $(INSTALL_DIR) $(1)/etc/hotplug.d/net
116 $(INSTALL_BIN) ./files/haproxy.hotplug $(1)/etc/hotplug.d/net/90-haproxy
117 endef
118
119 Package/haproxy-nossl/install = $(Package/haproxy/install)
120
121 define Package/halog
122 MENU:=1
123 $(call Package/haproxy/Default)
124 TITLE+= halog
125 DEPENDS:=haproxy
126 endef
127
128 define Package/halog/description
129 HAProxy Log Analyzer
130 endef
131
132 define Package/halog/install
133 $(INSTALL_DIR) $(1)/usr/bin
134 $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/halog/halog $(1)/usr/bin/
135 endef
136
137 $(eval $(call BuildPackage,haproxy-nossl))
138 $(eval $(call BuildPackage,haproxy))
139 $(eval $(call BuildPackage,halog))