haproxy.mk 2.3 KB

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