You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
3.5 KiB

  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. include $(TOPDIR)/rules.mk
  9. PKG_NAME:=haproxy
  10. PKG_VERSION:=1.5.18
  11. PKG_RELEASE:=04
  12. PKG_SOURCE:=haproxy-$(PKG_VERSION).tar.gz
  13. PKG_SOURCE_URL:=http://haproxy.1wt.eu/download/1.5/src/
  14. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
  15. PKG_MD5SUM:=21d35f114583ef731bc96af05b46c75a
  16. PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
  17. PKG_LICENSE:=GPL-2.0
  18. include $(INCLUDE_DIR)/package.mk
  19. define Package/haproxy/Default
  20. SUBMENU:=Web Servers/Proxies
  21. SECTION:=net
  22. CATEGORY:=Network
  23. TITLE:=The Reliable, High Performance TCP/HTTP Load Balancer
  24. URL:=http://haproxy.1wt.eu/
  25. endef
  26. define Package/haproxy/Default/conffiles
  27. /etc/haproxy.cfg
  28. endef
  29. define Package/haproxy/Default/description
  30. Open source Reliable, High Performance TCP/HTTP Load Balancer.
  31. endef
  32. define Package/haproxy
  33. DEPENDS+= +libpcre +libltdl +zlib +libpthread +libopenssl
  34. TITLE+= (with SSL support)
  35. VARIANT:=ssl
  36. $(call Package/haproxy/Default)
  37. endef
  38. define Package/haproxy/conffiles
  39. $(call Package/haproxy/Default/conffiles)
  40. endef
  41. define Package/haproxy/description
  42. $(call Package/haproxy/Default/description)
  43. This package is built with SSL support.
  44. endef
  45. define Package/haproxy-nossl
  46. TITLE+= (without SSL support)
  47. VARIANT:=nossl
  48. DEPENDS+= +libpcre +libltdl +zlib +libpthread
  49. TITLE+= (with SSL support)
  50. $(call Package/haproxy/Default)
  51. endef
  52. define Package/haproxy-nossl/conffiles
  53. $(call Package/haproxy/Default/conffiles)
  54. endef
  55. define Package/haproxy-nossl/description
  56. $(call Package/haproxy/Default/description)
  57. This package is built without SSL support.
  58. endef
  59. ifeq ($(CONFIG_avr32),y)
  60. LINUX_TARGET:=linux26
  61. else
  62. LINUX_TARGET:=linux2628
  63. endif
  64. ifeq ($(BUILD_VARIANT),ssl)
  65. USE_OPENSSL=USE_OPENSSL=1
  66. else
  67. USE_OPENSSL=
  68. endif
  69. define Build/Compile
  70. $(MAKE) TARGET=$(LINUX_TARGET) -C $(PKG_BUILD_DIR) \
  71. DESTDIR="$(PKG_INSTALL_DIR)" \
  72. CC="$(TARGET_CC)" \
  73. CFLAGS="$(TARGET_CFLAGS) -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer -fhonour-copts" \
  74. LD="$(TARGET_CC)" \
  75. LDFLAGS="$(TARGET_LDFLAGS)" \
  76. PCREDIR="$(STAGING_DIR)/usr" \
  77. SMALL_OPTS="-DBUFSIZE=16384 -DMAXREWRITE=1030 -DSYSTEM_MAXCONN=165530 " \
  78. USE_LINUX_TPROXY=1 USE_LINUX_SPLICE=1 USE_REGPARM=1 $(USE_OPENSSL) \
  79. USE_ZLIB=yes USE_PCRE=1 \
  80. VERSION="$(PKG_VERSION)-patch$(PKG_RELEASE)" \
  81. install
  82. $(MAKE) -C $(PKG_BUILD_DIR)/contrib/halog \
  83. CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \
  84. OPTIMIZE="" \
  85. halog
  86. endef
  87. define Package/haproxy/install
  88. $(INSTALL_DIR) $(1)/usr/sbin
  89. $(INSTALL_BIN) $(PKG_BUILD_DIR)/haproxy $(1)/usr/sbin/
  90. $(INSTALL_DIR) $(1)/etc
  91. $(INSTALL_CONF) ./files/haproxy.cfg $(1)/etc/
  92. $(INSTALL_DIR) $(1)/etc/init.d
  93. $(INSTALL_BIN) ./files/haproxy.init $(1)/etc/init.d/haproxy
  94. $(INSTALL_DIR) $(1)/etc/hotplug.d/net
  95. $(INSTALL_BIN) ./files/haproxy.hotplug $(1)/etc/hotplug.d/net/90-haproxy
  96. endef
  97. Package/haproxy-nossl/install = $(Package/haproxy/install)
  98. define Package/halog
  99. MENU:=1
  100. $(call Package/haproxy/Default)
  101. TITLE+= halog
  102. DEPENDS:=haproxy
  103. endef
  104. define Package/halog/description
  105. HAProxy Log Analyzer
  106. endef
  107. define Package/halog/install
  108. $(INSTALL_DIR) $(1)/usr/bin
  109. $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/halog/halog $(1)/usr/bin/
  110. endef
  111. $(eval $(call BuildPackage,haproxy-nossl))
  112. $(eval $(call BuildPackage,haproxy))
  113. $(eval $(call BuildPackage,halog))