mosquitto.mk 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. ################################################################################
  2. #
  3. # mosquitto
  4. #
  5. ################################################################################
  6. MOSQUITTO_VERSION = 1.6.12
  7. MOSQUITTO_SITE = https://mosquitto.org/files/source
  8. MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0
  9. MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10
  10. MOSQUITTO_INSTALL_STAGING = YES
  11. MOSQUITTO_MAKE_OPTS = \
  12. UNAME=Linux \
  13. STRIP=true \
  14. prefix=/usr \
  15. WITH_WRAP=no \
  16. WITH_DOCS=no
  17. ifeq ($(BR2_SHARED_LIBS),y)
  18. MOSQUITTO_MAKE_OPTS += WITH_STATIC_LIBRARIES=no
  19. else
  20. MOSQUITTO_MAKE_OPTS += WITH_STATIC_LIBRARIES=yes
  21. endif
  22. ifeq ($(BR2_STATIC_LIBS),y)
  23. MOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=no
  24. else
  25. MOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=yes
  26. endif
  27. ifeq ($(BR2_PACKAGE_SYSTEMD),y)
  28. MOSQUITTO_MAKE_OPTS += WITH_SYSTEMD=yes
  29. MOSQUITTO_DEPENDENCIES += systemd
  30. endif
  31. # adns uses getaddrinfo_a
  32. ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
  33. MOSQUITTO_MAKE_OPTS += WITH_ADNS=yes
  34. else
  35. MOSQUITTO_MAKE_OPTS += WITH_ADNS=no
  36. endif
  37. # threaded API uses pthread_setname_np
  38. ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)
  39. MOSQUITTO_MAKE_OPTS += WITH_THREADING=yes
  40. else
  41. MOSQUITTO_MAKE_OPTS += WITH_THREADING=no
  42. endif
  43. ifeq ($(BR2_PACKAGE_OPENSSL),y)
  44. MOSQUITTO_DEPENDENCIES += host-pkgconf openssl
  45. MOSQUITTO_MAKE_OPTS += \
  46. WITH_TLS=yes \
  47. CLIENT_STATIC_LDADD="`$(PKG_CONFIG_HOST_BINARY) --libs openssl`"
  48. else
  49. MOSQUITTO_MAKE_OPTS += WITH_TLS=no
  50. endif
  51. ifeq ($(BR2_PACKAGE_C_ARES),y)
  52. MOSQUITTO_DEPENDENCIES += c-ares
  53. MOSQUITTO_MAKE_OPTS += WITH_SRV=yes
  54. else
  55. MOSQUITTO_MAKE_OPTS += WITH_SRV=no
  56. endif
  57. ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y)
  58. MOSQUITTO_DEPENDENCIES += libwebsockets
  59. MOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=yes
  60. else
  61. MOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=no
  62. endif
  63. # C++ support is only used to create a wrapper library
  64. ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
  65. define MOSQUITTO_DISABLE_CPP
  66. $(SED) '/-C cpp/d' $(@D)/lib/Makefile
  67. endef
  68. MOSQUITTO_POST_PATCH_HOOKS += MOSQUITTO_DISABLE_CPP
  69. endif
  70. MOSQUITTO_MAKE_DIRS = lib client
  71. ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y)
  72. MOSQUITTO_MAKE_DIRS += src
  73. endif
  74. define MOSQUITTO_BUILD_CMDS
  75. $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \
  76. $(MOSQUITTO_MAKE_OPTS)
  77. endef
  78. define MOSQUITTO_INSTALL_STAGING_CMDS
  79. $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \
  80. $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
  81. endef
  82. define MOSQUITTO_INSTALL_TARGET_CMDS
  83. $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \
  84. $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
  85. rm -f $(TARGET_DIR)/etc/mosquitto/*.example
  86. $(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \
  87. $(TARGET_DIR)/etc/mosquitto/mosquitto.conf
  88. endef
  89. ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y)
  90. define MOSQUITTO_INSTALL_INIT_SYSV
  91. $(INSTALL) -D -m 0755 package/mosquitto/S50mosquitto \
  92. $(TARGET_DIR)/etc/init.d/S50mosquitto
  93. endef
  94. define MOSQUITTO_INSTALL_INIT_SYSTEMD
  95. $(INSTALL) -D -m 644 $(@D)/service/systemd/mosquitto.service.notify \
  96. $(TARGET_DIR)/usr/lib/systemd/system/mosquitto.service
  97. endef
  98. define MOSQUITTO_USERS
  99. mosquitto -1 nobody -1 * - - - Mosquitto user
  100. endef
  101. endif
  102. $(eval $(generic-package))