mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
The ctrl-shell, in mosquitto_ctrl, optionally uses a line-editing
library, either libedit or readline. There is a single option (in
mosquitto) that drives whether to build all the apps or none, but
for the host variant, we're only interested in mosquitto_passwd,
not mosquitto_ctrl (nor the others either).
Explicitly disable the ctrl-shell, to avoid build failures when the
host has a mixed installation of readline or libedit that is not
compatible with ours.
Fixes:
https://autobuild.buildroot.org/results/856/856352ddd690dc8b2314d46a6a837d74c237d69f
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Titouan Christophe <titouan.christophe@mind.be>
Cc: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
173 lines
4.7 KiB
Makefile
173 lines
4.7 KiB
Makefile
################################################################################
|
|
#
|
|
# mosquitto
|
|
#
|
|
################################################################################
|
|
|
|
MOSQUITTO_VERSION = 2.1.2
|
|
MOSQUITTO_SITE = https://mosquitto.org/files/source
|
|
MOSQUITTO_LICENSE = EPL-2.0 or EDLv1.0
|
|
MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v20 edl-v10
|
|
MOSQUITTO_CPE_ID_VENDOR = eclipse
|
|
MOSQUITTO_INSTALL_STAGING = YES
|
|
|
|
MOSQUITTO_DEPENDENCIES = cjson
|
|
|
|
MOSQUITTO_CONF_OPTS = \
|
|
-DUSE_LIBWRAP=OFF \
|
|
-DWITH_DOCS=OFF \
|
|
-DWITH_TESTS=OFF \
|
|
-DWITH_STATIC_LIBRARIES=OFF \
|
|
-DWITH_BUNDLED_DEPS=ON
|
|
|
|
# adns uses getaddrinfo_a
|
|
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
|
|
MOSQUITTO_CONF_OPTS += -DWITH_ADNS=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_ADNS=OFF
|
|
endif
|
|
|
|
# threaded API uses pthread_setname_np
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)
|
|
MOSQUITTO_CONF_OPTS += -DWITH_THREADING=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_THREADING=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
MOSQUITTO_DEPENDENCIES += host-pkgconf openssl
|
|
MOSQUITTO_CONF_OPTS += \
|
|
-DWITH_TLS=ON \
|
|
-DWITH_TLS_PSK=ON
|
|
|
|
ifeq ($(BR2_PACKAGE_MOSQUITTO_WS_LIBWS),y)
|
|
MOSQUITTO_DEPENDENCIES += libwebsockets
|
|
MOSQUITTO_CONF_OPTS += -DWITH_WEBSOCKETS=ON -DWITH_WEBSOCKETS_BUILTIN=OFF
|
|
else ifeq ($(BR2_PACKAGE_MOSQUITTO_WS_BUILTIN),y)
|
|
MOSQUITTO_CONF_OPTS += -DWITH_WEBSOCKETS=ON -DWITH_WEBSOCKETS_BUILTIN=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_WEBSOCKETS=OFF -DWITH_WEBSOCKETS_BUILTIN=OFF
|
|
endif
|
|
|
|
else # !OPENSSL
|
|
MOSQUITTO_CONF_OPTS += \
|
|
-DWITH_TLS=OFF \
|
|
-DWITH_TLS_PSK=OFF \
|
|
-DWITH_WEBSOCKETS=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_C_ARES),y)
|
|
MOSQUITTO_DEPENDENCIES += c-ares
|
|
MOSQUITTO_CONF_OPTS += -DWITH_SRV=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_SRV=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
|
|
MOSQUITTO_CONF_OPTS += -DWITH_LIB_CPP=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_LIB_CPP=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_MOSQUITTO_CLIENTS),y)
|
|
MOSQUITTO_CONF_OPTS += -DWITH_CLIENTS=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_CLIENTS=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_MOSQUITTO_APPS),y)
|
|
MOSQUITTO_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBEDIT),libedit,readline)
|
|
MOSQUITTO_CONF_OPTS += -DWITH_APPS=ON -DWITH_CTRL_SHELL=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_APPS=OFF -DWITH_CTRL_SHELL=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y)
|
|
|
|
MOSQUITTO_CONF_OPTS += \
|
|
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
|
|
-DWITH_BROKER=ON \
|
|
-DWITH_PLUGINS=ON \
|
|
-DWITH_PLUGIN_EXAMPLES=OFF \
|
|
-DWITH_PLUGIN_SPARKPLUG_AWARE=OFF \
|
|
-DWITH_PLUGIN_PASSWORD_FILE=$(if $(BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_STATIC_PASSWD),ON,OFF) \
|
|
-DWITH_PLUGIN_ACL_FILE=$(if $(BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_STATIC_ACL),ON,OFF) \
|
|
-DWITH_PLUGIN_DYNAMIC_SECURITY=$(if $(BR2_PACKAGE_MOSQUITTO_BROKER_DYNAMIC_SECURITY_PLUGIN),ON,OFF) \
|
|
-DINC_BRIDGE_SUPPORT=$(if $(BR2_PACKAGE_MOSQUITTO_BROKER_BRIDGE),ON,OFF) \
|
|
-DWITH_SYS_TREE=$(if $(BR2_PACKAGE_MOSQUITTO_BROKER_SYS),ON,OFF) \
|
|
-DWITH_CONTROL=$(if $(BR2_PACKAGE_MOSQUITTO_BROKER_CONTROL),ON,OFF)
|
|
|
|
ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER_HTTP_API),y)
|
|
MOSQUITTO_DEPENDENCIES += libmicrohttpd
|
|
MOSQUITTO_CONF_OPTS += -DWITH_HTTP_API=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_HTTP_API=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_PERSIST_SQLITE),y)
|
|
MOSQUITTO_DEPENDENCIES += sqlite
|
|
MOSQUITTO_CONF_OPTS += -DWITH_PLUGIN_PERSIST_SQLITE=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_PLUGIN_PERSIST_SQLITE=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
|
MOSQUITTO_DEPENDENCIES += systemd
|
|
MOSQUITTO_CONF_OPTS += -DWITH_SYSTEMD=ON
|
|
else
|
|
MOSQUITTO_CONF_OPTS += -DWITH_SYSTEMD=OFF
|
|
endif
|
|
|
|
define MOSQUITTO_INSTALL_INIT_SYSV
|
|
$(INSTALL) -D -m 0755 package/mosquitto/S50mosquitto \
|
|
$(TARGET_DIR)/etc/init.d/S50mosquitto
|
|
endef
|
|
|
|
define MOSQUITTO_INSTALL_INIT_SYSTEMD
|
|
$(INSTALL) -D -m 644 $(@D)/service/systemd/mosquitto.service.notify \
|
|
$(TARGET_DIR)/usr/lib/systemd/system/mosquitto.service
|
|
endef
|
|
|
|
define MOSQUITTO_USERS
|
|
mosquitto -1 mosquitto -1 * - - - Mosquitto user
|
|
endef
|
|
|
|
define MOSQUITTO_INSTALL_TARGET_CONF
|
|
rm -f $(TARGET_DIR)/etc/mosquitto/*.example
|
|
$(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \
|
|
$(TARGET_DIR)/etc/mosquitto/mosquitto.conf
|
|
endef
|
|
MOSQUITTO_POST_INSTALL_TARGET_HOOKS += MOSQUITTO_INSTALL_TARGET_CONF
|
|
|
|
else # !BR2_PACKAGE_MOSQUITTO_BROKER
|
|
MOSQUITTO_CONF_OPTS += \
|
|
-DWITH_BROKER=OFF \
|
|
-DWITH_PLUGINS=OFF
|
|
endif
|
|
|
|
HOST_MOSQUITTO_DEPENDENCIES = \
|
|
host-cjson \
|
|
host-openssl \
|
|
host-pkgconf
|
|
|
|
HOST_MOSQUITTO_CONF_OPTS = \
|
|
-DWITH_DOCS=OFF \
|
|
-DWITH_BUNDLED_DEPS=ON \
|
|
-DWITH_CLIENTS=OFF \
|
|
-DWITH_BROKER=OFF \
|
|
-DWITH_PLUGINS=OFF \
|
|
-DWITH_TESTS=OFF \
|
|
-DWITH_APPS=ON \
|
|
-DWITH_CTRL_SHELL=OFF \
|
|
-DWITH_TLS=ON
|
|
|
|
# Manually install just the one tool we need
|
|
define HOST_MOSQUITTO_INSTALL_CMDS
|
|
$(INSTALL) -D -m 0755 \
|
|
$(@D)/apps/mosquitto_passwd/mosquitto_passwd \
|
|
$(HOST_DIR)/bin/mosquitto_passwd
|
|
endef
|
|
|
|
$(eval $(cmake-package))
|
|
$(eval $(host-cmake-package))
|