config BR2_PACKAGE_MOSQUITTO bool "mosquitto" depends on BR2_USE_MMU # lib peeks in malloc() internals; broker fork()s depends on !BR2_STATIC_LIBS select BR2_HOST_CMAKE_AT_LEAST_4_3 select BR2_PACKAGE_CJSON help Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto is lightweight and is suitable for use on all devices from low power single board computers to full servers. The MQTT protocol provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for Internet of Things messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers. The Mosquitto project also provides a C library for implementing MQTT clients, and the very popular mosquitto_pub and mosquitto_sub command line MQTT clients. https://mosquitto.org/ if BR2_PACKAGE_MOSQUITTO choice prompt "Websockets support" help Choose what websocket implementation to use. Note that the mosquitto_{sub,pub,rr} clients (above) only support websockets with the builtin implementation, while the broker supports websockets with either libwebsockets or the builtin implementation. config BR2_PACKAGE_MOSQUITTO_WS_NONE bool "none" config BR2_PACKAGE_MOSQUITTO_WS_LIBWS bool "with libwebsockets" select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_LIBWEBSOCKETS select BR2_PACKAGE_LIBWEBSOCKETS_EXT_POLL config BR2_PACKAGE_MOSQUITTO_WS_BUILTIN bool "with builtin implementation" select BR2_PACKAGE_OPENSSL endchoice config BR2_PACKAGE_MOSQUITTO_CLIENTS bool "install clients" default y # Backward compatibility help Install CLI tools to publish/subscribe to the broker: mosquitto_pub mosquitto_sub mosquitto_rr config BR2_PACKAGE_MOSQUITTO_APPS bool "install apps" default y if BR2_PACKAGE_MOSQUITTO_BROKER # Backward compatibility depends on BR2_USE_WCHAR # libedit # For mosquitto_ctrl shell feature, mandatorily enabled: select BR2_PACKAGE_READLINE if !BR2_PACKAGE_LIBEDIT help Those apps can be used to interact with the broker: mosquitto_db_dump mosquitto_signal Additionally, when openssl is enabled, the following apps are also installed: mosquitto_ctrl mosquitto_passwd config BR2_PACKAGE_MOSQUITTO_BROKER bool "install the mosquitto broker" default y help Build and install the mosquitto broker onto target. if BR2_PACKAGE_MOSQUITTO_BROKER config BR2_PACKAGE_MOSQUITTO_BROKER_HTTP_API bool "http_api" select BR2_PACKAGE_LIBMICROHTTPD help Add support for simple webserver as a listener to serve some of the HTTP API. config BR2_PACKAGE_MOSQUITTO_BROKER_BRIDGE bool "bridge support" default y # legacy help Include bridge support for connecting to other brokers config BR2_PACKAGE_MOSQUITTO_BROKER_SYS bool "$SYS tree support" default y # legacy help Enable the $SYS/# tree structure, to export broker status as MQTT topics. config BR2_PACKAGE_MOSQUITTO_BROKER_CONTROL bool "$CONTROL tree support" default y # legacy help Enable the $CONTROL/# tree structure, to control the broker via messages posted to, or retrieved from, MQTT topics. config BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_STATIC_PASSWD bool "static password file plugin" default y help Add support for authentication based on static files. using a plugin rather than the legacy builtin support. config BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_STATIC_ACL bool "static ACL file plugin" default y help Add support for authorization (ACL) based on static files, using a plugin rather than the legacy builtin support. config BR2_PACKAGE_MOSQUITTO_BROKER_DYNAMIC_SECURITY_PLUGIN bool "dynamic security plugin" select BR2_PACKAGE_OPENSSL help Build and install the dynamic security plugin for mosquitto broker onto target. config BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_PERSIST_SQLITE bool "persist-sqlite plugin" select BR2_PACKAGE_SQLITE help Add the persist-sqlite plugin, to persist the broker state across restarts. endif endif comment "mosquitto needs a toolchain w/ dynamic library" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS