2 # Copyright (C) 2011-2013 OpenWrt.org
3 # Copyright (C) 2010 Jo-Philipp Wich <xm@subsignal.org>
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
14 PKG_LICENSE
:=BSD-3-Clause
15 PKG_LICENSE_FILES
:=LICENSE.txt
16 PKG_CPE_ID
:=cpe
:/a
:eclipse
:mosquitto
18 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
19 PKG_SOURCE_URL
:=https
://mosquitto.org
/files
/source
/
20 PKG_HASH
:=bcd31a8fbbd053fee328986fadd8666d3058357ded56b9782f7d4f19931d178e
21 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(BUILD_VARIANT
)/$(PKG_NAME
)-$(PKG_VERSION
)
23 include $(INCLUDE_DIR
)/package.mk
25 define Package
/mosquitto
/default
28 TITLE
:=mosquitto
- an MQTT message broker
29 URL
:=http
://www.mosquitto.org
/
30 MAINTAINER
:=Karl Palsson
<karlp@etactica.com
>
32 USERID
:=mosquitto
=200:mosquitto
=200
35 define Package
/mosquitto-ssl
36 $(call Package
/mosquitto
/default
)
37 TITLE
+= (with SSL support
)
38 DEPENDS
+= +libopenssl
+MOSQUITTO_LWS
:libwebsockets-openssl
43 define Package
/mosquitto-nossl
44 $(call Package
/mosquitto
/default
)
45 TITLE
+= (without SSL support
)
50 define Package
/mosquitto-ssl
/config
51 source
"$(SOURCE)/Config.in"
54 define Package
/mosquitto
/default
/description
55 Mosquitto is an open source
(BSD licensed
) message broker that implements
56 the MQTT protocol version
3.1 and
3.1.1. MQTT provides a lightweight
57 method of carrying out messaging using a publish
/subscribe model.
59 This package also includes some basic support for configuring via UCI
62 define Package
/mosquitto-ssl
/description
63 $(call Package
/mosquitto
/default
/description
)
64 This package is built with SSL support. TLS-PSK will be included
(in both
65 the client and broker
) if OpenSSL is built with TLS-PSK support.
68 define Package
/mosquitto-nossl
/description
69 $(call Package
/mosquitto
/default
/description
)
70 This package is built WITHOUT SSL support.
74 define Package
/mosquitto-client
/default
75 $(Package
/mosquitto
/default
)
76 TITLE
:= mosquitto
- client tools
78 PROVIDES
:=mosquitto-client
80 define Package
/mosquitto-client-ssl
81 $(call Package
/mosquitto-client
/default
)
82 TITLE
+= (With SSL support
)
83 DEPENDS
+=+libmosquitto-ssl
86 define Package
/mosquitto-client-nossl
87 $(call Package
/mosquitto-client
/default
)
88 TITLE
+= (Without SSL support
)
89 DEPENDS
+=+libmosquitto-nossl
93 define Package
/mosquitto-client
/default
/description
94 Command line client tools for publishing messages to MQTT servers
95 and subscribing to topics.
98 define Package
/mosquitto-client-ssl
/description
99 $(call Package
/mosquitto-client
/default
/description
)
100 This package is built with SSL support
102 define Package
/mosquitto-client-nossl
/description
103 $(call Package
/mosquitto-client
/default
/description
)
104 This package is built without SSL support
107 define Package
/libmosquitto
/default
108 $(Package
/mosquitto
/default
)
111 DEPENDS
:=+libpthread
+librt
+libcares
112 TITLE
:= mosquitto
- client library
113 PROVIDES
:=libmosquitto
116 define Package
/libmosquitto-ssl
117 $(call Package
/libmosquitto
/default
)
118 TITLE
+= (With SSL Support
)
119 DEPENDS
+= +libopenssl
122 define Package
/libmosquitto-nossl
123 $(call Package
/libmosquitto
/default
)
124 TITLE
+= (Without SSL Support
)
128 define Package
/libmosquitto
/default
/description
129 Library required for mosquitto
's command line client tools, also for
130 use by any third party software that wants to communicate with a
133 Should be useable for communicating with any MQTT v3.1/3.1.1 compatible
134 server, such as IBM's RSMB
, in addition to Mosquitto
137 define Package
/libmosquitto-ssl
/description
138 $(call Package
/libmosquitto
/default
/description
)
139 This package is built with SSL support
141 define Package
/libmosquitto-nossl
/description
142 $(call Package
/libmosquitto
/default
/description
)
143 This package is built without SSL support
146 define Package
/libmosquittopp
149 DEPENDS
:=libmosquitto
+libstdcpp
150 TITLE
:= mosquitto
- client c
++ library
153 define Package
/libmosquittopp
/description
154 C
++ Library wrapper for libmosquitto.
157 define Package
/mosquitto-ssl
/conffiles
158 /etc
/mosquitto
/mosquitto.conf
159 /etc
/config
/mosquitto
162 Package
/mosquitto-nossl
/conffiles
= $(Package
/mosquitto-ssl
/conffiles
)
164 define Package
/mosquitto
/install/default
165 $(INSTALL_DIR
) $(1)/usr
/sbin
166 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/mosquitto
$(1)/usr
/sbin
/mosquitto
167 $(INSTALL_DIR
) $(1)/etc
/mosquitto
168 $(INSTALL_CONF
) $(PKG_BUILD_DIR
)/mosquitto.conf
$(1)/etc
/mosquitto
/mosquitto.conf
169 $(CP
) .
/files
/* $(1)/
172 define Package
/mosquitto-nossl
/install
173 $(call Package
/mosquitto
/install/default
,$(1))
176 define Package
/mosquitto-ssl
/install
177 $(call Package
/mosquitto
/install/default
,$(1))
178 ifeq ($(CONFIG_MOSQUITTO_PASSWD
),y
)
179 $(INSTALL_DIR
) $(1)/usr
/bin
180 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/mosquitto_passwd
$(1)/usr
/bin
184 define Package
/mosquitto-client-ssl
/install
185 $(INSTALL_DIR
) $(1)/usr
/bin
186 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/client
/mosquitto_pub
$(1)/usr
/bin
/mosquitto_pub
187 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/client
/mosquitto_sub
$(1)/usr
/bin
/mosquitto_sub
189 Package
/mosquitto-client-nossl
/install = $(Package
/mosquitto-client-ssl
/install)
191 # This installs files into ./staging_dir/. so that you can cross compile from the host
192 define Build
/InstallDev
193 $(INSTALL_DIR
) $(1)/usr
/include
194 $(CP
) $(PKG_BUILD_DIR
)/lib
/mosquitto.h
$(1)/usr
/include
195 $(CP
) $(PKG_BUILD_DIR
)/lib
/cpp/mosquittopp.h
$(1)/usr
/include
196 $(CP
) $(PKG_BUILD_DIR
)/src
/mosquitto_plugin.h
$(1)/usr
/include
197 $(CP
) $(PKG_BUILD_DIR
)/src
/mosquitto_broker.h
$(1)/usr
/include
198 $(INSTALL_DIR
) $(1)/usr
/lib
199 $(CP
) $(PKG_BUILD_DIR
)/lib
/libmosquitto.so
.1 $(1)/usr
/lib
/
200 $(CP
) $(PKG_BUILD_DIR
)/lib
/cpp/libmosquittopp.so
.1 $(1)/usr
/lib
/
201 $(LN
) libmosquitto.so
.1 $(1)/usr
/lib
/libmosquitto.so
202 $(LN
) libmosquittopp.so
.1 $(1)/usr
/lib
/libmosquittopp.so
203 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
204 $(CP
) $(PKG_BUILD_DIR
)/libmosquitto.
pc.in
$(1)/usr
/lib
/pkgconfig
/libmosquitto.
pc
205 sed
-i
-e
"s#@CMAKE_INSTALL_PREFIX@#/usr#" \
206 -e
"s#@VERSION@#$(PKG_VERSION)#" \
207 $(1)/usr
/lib
/pkgconfig
/libmosquitto.
pc
208 $(CP
) $(PKG_BUILD_DIR
)/libmosquittopp.
pc.in
$(1)/usr
/lib
/pkgconfig
/libmosquittopp.
pc
209 sed
-i
-e
"s#@CMAKE_INSTALL_PREFIX@#/usr#" \
210 -e
"s#@VERSION@#$(PKG_VERSION)#" \
211 $(1)/usr
/lib
/pkgconfig
/libmosquittopp.
pc
214 # This installs files on the target. Compare with Build/InstallDev
215 define Package
/libmosquitto-ssl
/install
216 $(INSTALL_DIR
) $(1)/usr
/lib
217 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/libmosquitto.so
.1 $(1)/usr
/lib
/
218 $(LN
) libmosquitto.so
.1 $(1)/usr
/lib
/libmosquitto.so
220 Package
/libmosquitto-nossl
/install = $(Package
/libmosquitto-ssl
/install)
222 define Package
/libmosquittopp
/install
223 $(INSTALL_DIR
) $(1)/usr
/lib
224 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/cpp/libmosquittopp.so
.1 $(1)/usr
/lib
/
225 $(LN
) libmosquittopp.so
.1 $(1)/usr
/lib
/libmosquittopp.so
229 MAKE_FLAGS
+= WITH_DOCS
=no UNAME
=Linux
230 ifeq ($(BUILD_VARIANT
),nossl
)
231 MAKE_FLAGS
+= WITH_TLS
=no WITH_WEBSOCKETS
=no
233 MAKE_FLAGS
+= WITH_WEBSOCKETS
=$(if
$(CONFIG_MOSQUITTO_LWS
),"yes","no")
234 MAKE_FLAGS
+= WITH_TLS_PSK
=$(if
$(CONFIG_OPENSSL_WITH_PSK
),"yes","no")
237 $(eval
$(call BuildPackage
,mosquitto-ssl
))
238 $(eval
$(call BuildPackage
,mosquitto-nossl
))
239 $(eval
$(call BuildPackage
,libmosquitto-ssl
))
240 $(eval
$(call BuildPackage
,libmosquitto-nossl
))
241 $(eval
$(call BuildPackage
,libmosquittopp
))
242 $(eval
$(call BuildPackage
,mosquitto-client-ssl
))
243 $(eval
$(call BuildPackage
,mosquitto-client-nossl
))