1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# mosquitto 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunMOSQUITTO_VERSION = 2.0.14 8*4882a593SmuzhiyunMOSQUITTO_SITE = https://mosquitto.org/files/source 9*4882a593SmuzhiyunMOSQUITTO_LICENSE = EPL-2.0 or EDLv1.0 10*4882a593SmuzhiyunMOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v20 edl-v10 11*4882a593SmuzhiyunMOSQUITTO_CPE_ID_VENDOR = eclipse 12*4882a593SmuzhiyunMOSQUITTO_INSTALL_STAGING = YES 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS = \ 15*4882a593Smuzhiyun CLIENT_STATIC_LDADD="$(MOSQUITTO_STATIC_LIBS)" \ 16*4882a593Smuzhiyun UNAME=Linux \ 17*4882a593Smuzhiyun STRIP=true \ 18*4882a593Smuzhiyun prefix=/usr \ 19*4882a593Smuzhiyun WITH_WRAP=no \ 20*4882a593Smuzhiyun WITH_DOCS=no 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunifeq ($(BR2_SHARED_LIBS),y) 23*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_STATIC_LIBRARIES=no 24*4882a593Smuzhiyunelse 25*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_STATIC_LIBRARIES=yes 26*4882a593Smuzhiyunendif 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),y) 29*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=no 30*4882a593Smuzhiyunelse 31*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=yes 32*4882a593Smuzhiyunendif 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SYSTEMD),y) 35*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SYSTEMD=yes 36*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += systemd 37*4882a593Smuzhiyunendif 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun# adns uses getaddrinfo_a 40*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) 41*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_ADNS=yes 42*4882a593Smuzhiyunelse 43*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_ADNS=no 44*4882a593Smuzhiyunendif 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun# threaded API uses pthread_setname_np 47*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y) 48*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_THREADING=yes 49*4882a593Smuzhiyunelse 50*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_THREADING=no 51*4882a593Smuzhiyunendif 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENSSL),y) 54*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += host-pkgconf openssl 55*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_TLS=yes 56*4882a593SmuzhiyunMOSQUITTO_STATIC_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` 57*4882a593Smuzhiyunelse 58*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_TLS=no 59*4882a593Smuzhiyunendif 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_CJSON),y) 62*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += cjson 63*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_CJSON=yes 64*4882a593SmuzhiyunMOSQUITTO_STATIC_LIBS += -lcjson 65*4882a593Smuzhiyunelse 66*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_CJSON=no 67*4882a593Smuzhiyunendif 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_C_ARES),y) 70*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += c-ares 71*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SRV=yes 72*4882a593Smuzhiyunelse 73*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SRV=no 74*4882a593Smuzhiyunendif 75*4882a593Smuzhiyun 76*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) 77*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += libwebsockets 78*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=yes 79*4882a593Smuzhiyunelse 80*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=no 81*4882a593Smuzhiyunendif 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun# C++ support is only used to create a wrapper library 84*4882a593Smuzhiyunifneq ($(BR2_INSTALL_LIBSTDCPP),y) 85*4882a593Smuzhiyundefine MOSQUITTO_DISABLE_CPP 86*4882a593Smuzhiyun $(SED) '/-C cpp/d' $(@D)/lib/Makefile 87*4882a593Smuzhiyunendef 88*4882a593Smuzhiyun 89*4882a593SmuzhiyunMOSQUITTO_POST_PATCH_HOOKS += MOSQUITTO_DISABLE_CPP 90*4882a593Smuzhiyunendif 91*4882a593Smuzhiyun 92*4882a593SmuzhiyunMOSQUITTO_MAKE_DIRS = lib client 93*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y) 94*4882a593SmuzhiyunMOSQUITTO_MAKE_DIRS += src 95*4882a593Smuzhiyunendif 96*4882a593Smuzhiyun 97*4882a593Smuzhiyundefine MOSQUITTO_BUILD_CMDS 98*4882a593Smuzhiyun $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ 99*4882a593Smuzhiyun $(MOSQUITTO_MAKE_OPTS) 100*4882a593Smuzhiyunendef 101*4882a593Smuzhiyun 102*4882a593Smuzhiyundefine MOSQUITTO_INSTALL_STAGING_CMDS 103*4882a593Smuzhiyun $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ 104*4882a593Smuzhiyun $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install 105*4882a593Smuzhiyunendef 106*4882a593Smuzhiyun 107*4882a593Smuzhiyundefine MOSQUITTO_INSTALL_TARGET_CMDS 108*4882a593Smuzhiyun $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ 109*4882a593Smuzhiyun $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install 110*4882a593Smuzhiyun rm -f $(TARGET_DIR)/etc/mosquitto/*.example 111*4882a593Smuzhiyun $(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \ 112*4882a593Smuzhiyun $(TARGET_DIR)/etc/mosquitto/mosquitto.conf 113*4882a593Smuzhiyunendef 114*4882a593Smuzhiyun 115*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y) 116*4882a593Smuzhiyundefine MOSQUITTO_INSTALL_INIT_SYSV 117*4882a593Smuzhiyun $(INSTALL) -D -m 0755 package/mosquitto/S50mosquitto \ 118*4882a593Smuzhiyun $(TARGET_DIR)/etc/init.d/S50mosquitto 119*4882a593Smuzhiyunendef 120*4882a593Smuzhiyun 121*4882a593Smuzhiyundefine MOSQUITTO_INSTALL_INIT_SYSTEMD 122*4882a593Smuzhiyun $(INSTALL) -D -m 644 $(@D)/service/systemd/mosquitto.service.notify \ 123*4882a593Smuzhiyun $(TARGET_DIR)/usr/lib/systemd/system/mosquitto.service 124*4882a593Smuzhiyunendef 125*4882a593Smuzhiyun 126*4882a593Smuzhiyundefine MOSQUITTO_USERS 127*4882a593Smuzhiyun mosquitto -1 nobody -1 * - - - Mosquitto user 128*4882a593Smuzhiyunendef 129*4882a593Smuzhiyunendif 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun$(eval $(generic-package)) 132