haproxy.mk 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. ################################################################################
  2. #
  3. # haproxy
  4. #
  5. ################################################################################
  6. HAPROXY_VERSION_MAJOR = 2.4
  7. HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).13
  8. HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src
  9. HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions
  10. HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt
  11. HAPROXY_CPE_ID_VENDOR = haproxy
  12. HAPROXY_MAKE_OPTS = \
  13. LD=$(TARGET_CC) \
  14. PREFIX=/usr \
  15. TARGET=custom
  16. ifeq ($(BR2_STATIC_LIBS),)
  17. HAPROXY_MAKE_OPTS += USE_DL=1
  18. endif
  19. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
  20. HAPROXY_LIBS += -latomic
  21. endif
  22. ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)
  23. # threads uses atomics on gcc >= 4.7 and sync otherwise (see
  24. # include/common/hathreads.h)
  25. ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_ATOMIC),y:y)
  26. HAPROXY_MAKE_OPTS += USE_THREAD=1
  27. else ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_SYNC_4),:y)
  28. HAPROXY_MAKE_OPTS += USE_THREAD=1
  29. endif
  30. endif
  31. ifeq ($(BR2_PACKAGE_LUA_5_3),y)
  32. HAPROXY_DEPENDENCIES += lua
  33. HAPROXY_MAKE_OPTS += \
  34. LUA_LIB_NAME=lua \
  35. USE_LUA=1
  36. endif
  37. ifeq ($(BR2_PACKAGE_OPENSSL),y)
  38. HAPROXY_DEPENDENCIES += openssl
  39. HAPROXY_MAKE_OPTS += USE_OPENSSL=1
  40. ifeq ($(BR2_STATIC_LIBS),y)
  41. HAPROXY_LIBS += -lz
  42. endif
  43. endif
  44. # pcre and pcre2 can't be enabled at the same time so prefer pcre2
  45. ifeq ($(BR2_PACKAGE_PCRE2),y)
  46. HAPROXY_DEPENDENCIES += pcre2
  47. HAPROXY_MAKE_OPTS += \
  48. PCRE2_CONFIG=$(STAGING_DIR)/usr/bin/pcre2-config \
  49. USE_PCRE2=1
  50. else ifeq ($(BR2_PACKAGE_PCRE),y)
  51. HAPROXY_DEPENDENCIES += pcre
  52. HAPROXY_MAKE_OPTS += \
  53. PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config \
  54. USE_PCRE=1
  55. endif
  56. ifeq ($(BR2_PACKAGE_SYSTEMD),y)
  57. HAPROXY_DEPENDENCIES += systemd
  58. HAPROXY_MAKE_OPTS += USE_SYSTEMD=1
  59. endif
  60. ifeq ($(BR2_PACKAGE_ZLIB),y)
  61. HAPROXY_DEPENDENCIES += zlib
  62. HAPROXY_MAKE_OPTS += USE_ZLIB=1
  63. endif
  64. HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)"
  65. HAPROXY_CFLAGS = $(TARGET_CFLAGS)
  66. ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y)
  67. HAPROXY_CFLAGS += -O0
  68. endif
  69. define HAPROXY_BUILD_CMDS
  70. $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
  71. $(HAPROXY_MAKE_OPTS) CFLAGS="$(HAPROXY_CFLAGS)" -C $(@D)
  72. endef
  73. define HAPROXY_INSTALL_TARGET_CMDS
  74. $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
  75. $(HAPROXY_MAKE_OPTS) -C $(@D) DESTDIR=$(TARGET_DIR) install
  76. endef
  77. $(eval $(generic-package))