mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
With an older cmake version, like the 3.25.1 as available in the docker
reference image, mosquitto fails to build when ccache is enabled:
[ 98%] Building CXX object lib/cpp/CMakeFiles/mosquittopp.dir/mosquittopp.cpp.o
In file included from [...]/buildroot/output/build/mosquitto-2.1.2/lib/cpp/mosquittopp.cpp:17:
[...]/buildroot/output/host/opt/ext-toolchain/i686-buildroot-linux-gnu/include/c++/15.1.0/cstdlib:83:15: fatal error: stdlib.h: No such file or directory
83 | #include_next <stdlib.h>
| ^~~~~~~~~~
compilation terminated.
Officially, mosquitto only requires cmake 3.18, but that proves to not
be enough, in fact...
We workaround that by requiring cmake 4.3, which is the one version that
could be tested with our host-cmake.
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
146 lines
4.2 KiB
Plaintext
146 lines
4.2 KiB
Plaintext
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
|