Skip to content

Commit

Permalink
Merge branch 'fixes'
Browse files Browse the repository at this point in the history
  • Loading branch information
ralight committed Apr 26, 2019
2 parents 2c1ce45 + 35793ca commit 25329f5
Show file tree
Hide file tree
Showing 31 changed files with 721 additions and 629 deletions.
38 changes: 8 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,17 @@ project(mosquitto)
cmake_minimum_required(VERSION 2.8)
# Only for version 3 and up. cmake_policy(SET CMP0042 NEW)

set (VERSION 1.6.0)
set (VERSION 1.6.1)

add_definitions (-DCMAKE -DVERSION=\"${VERSION}\")

if (WIN32)
set (BINDIR .)
set (SBINDIR .)
set (SYSCONFDIR .)
set (LIBDIR .)
set (INCLUDEDIR include)
set (DATAROOTDIR share)
set (MANDIR man)
set (SHAREDEST .)
set (PKGCONFIGDIR "${LIBDIR}/pkgconfig")
add_definitions("-D_CRT_SECURE_NO_WARNINGS")
add_definitions("-D_CRT_NONSTDC_NO_DEPRECATE")
else (WIN32)
set (BINDIR bin)
set (SBINDIR sbin)
if ("${CMAKE_INSTALL_PREFIX}" STREQUAL /usr)
set (SYSCONFDIR /etc/mosquitto)
else ("${CMAKE_INSTALL_PREFIX}" STREQUAL /usr)
set (SYSCONFDIR etc/mosquitto)
endif ("${CMAKE_INSTALL_PREFIX}" STREQUAL /usr)

set (LIBDIR lib${LIB_SUFFIX})
set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIBDIR}")
set (INCLUDEDIR include)
set (DATAROOTDIR share)
set (MANDIR "${DATAROOTDIR}/man")
set (SHAREDIR "${DATAROOTDIR}/mosquitto")
set (PKGCONFIGDIR "${LIBDIR}/pkgconfig")
endif (WIN32)

include(GNUInstallDirs)

option(WITH_TLS
"Include SSL/TLS support?" ON)
option(WITH_TLS_PSK
Expand Down Expand Up @@ -123,19 +100,20 @@ endif (DOCUMENTATION)
# Install config file
# ========================================

install(FILES mosquitto.conf aclfile.example pskfile.example pwfile.example DESTINATION "${SYSCONFDIR}")
install(FILES mosquitto.conf aclfile.example pskfile.example pwfile.example DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/mosquitto")


# ========================================
# Install pkg-config files
# ========================================

configure_file(libmosquitto.pc.in libmosquitto.pc @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquitto.pc" DESTINATION "${PKGCONFIGDIR}")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquitto.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pkgconfig")
configure_file(libmosquittopp.pc.in libmosquittopp.pc @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquittopp.pc" DESTINATION "${PKGCONFIGDIR}")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquittopp.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pkgconfig")

# ========================================
# Testing
# ========================================
add_custom_target(Tests COMMAND make -C ${mosquitto_SOURCE_DIR}/test test)
enable_testing()
add_test("test" make -C ${mosquitto_SOURCE_DIR}/test test)
18 changes: 18 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
1.6.1 - 20190426
================

Broker:
- Document `memory_limit` option.

Clients:
- Fix compilation on non glibc systems due to missing sys/time.h header.

Build:
- Add `make check` target and document testing procedure. Closes #1230.
- Document bundled dependencies and how to disable. Closes #1231.
- Split CFLAGS and CPPFLAGS, and LDFLAGS and LDADD/LIBADD.
- test/unit now respects CPPFLAGS and LDFLAGS. Closes #1232.
- Don't call ldconfig in CMake scripts. Closes #1048.
- Use CMAKE_INSTALL_* variables when installing in CMake. Closes #1049.


1.6 - 20190417
==============

Expand Down
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ DIRS=lib client src
DOCDIRS=man
DISTDIRS=man

.PHONY : all mosquitto api docs binary clean reallyclean test install uninstall dist sign copy
.PHONY : all mosquitto api docs binary check clean reallyclean test install uninstall dist sign copy

all : $(MAKE_ALL)

Expand Down Expand Up @@ -36,6 +36,8 @@ reallyclean :
$(MAKE) -C test reallyclean
-rm -f *.orig

check : test

test : mosquitto
$(MAKE) -C test test

Expand Down
6 changes: 3 additions & 3 deletions client/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ if (QNX)
target_link_libraries(mosquitto_rr socket)
endif()

install(TARGETS mosquitto_pub RUNTIME DESTINATION "${BINDIR}" LIBRARY DESTINATION "${LIBDIR}")
install(TARGETS mosquitto_sub RUNTIME DESTINATION "${BINDIR}" LIBRARY DESTINATION "${LIBDIR}")
install(TARGETS mosquitto_rr RUNTIME DESTINATION "${BINDIR}" LIBRARY DESTINATION "${LIBDIR}")
install(TARGETS mosquitto_pub RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(TARGETS mosquitto_sub RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(TARGETS mosquitto_rr RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
20 changes: 10 additions & 10 deletions client/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,34 +30,34 @@ static_rr : rr_client.o client_props.o client_shared.o pub_shared.o sub_client_o
${CROSS_COMPILE}${CC} $^ -o mosquitto_rr ${CLIENT_LDFLAGS} ${STATIC_LIB_DEPS}

mosquitto_pub : pub_client.o pub_shared.o client_shared.o client_props.o
${CROSS_COMPILE}${CC} $^ -o $@ ${CLIENT_LDFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_LDFLAGS) $^ -o $@ $(CLIENT_LDADD)

mosquitto_sub : sub_client.o sub_client_output.o client_shared.o client_props.o
${CROSS_COMPILE}${CC} $^ -o $@ ${CLIENT_LDFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_LDFLAGS) $^ -o $@ $(CLIENT_LDADD)

mosquitto_rr : rr_client.o client_shared.o client_props.o pub_shared.o sub_client_output.o
${CROSS_COMPILE}${CC} $^ -o $@ ${CLIENT_LDFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_LDFLAGS) $^ -o $@ $(CLIENT_LDADD)

pub_client.o : pub_client.c ${SHARED_DEP}
${CROSS_COMPILE}${CC} -c $< -o $@ ${CLIENT_CFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@

pub_shared.o : pub_shared.c ${SHARED_DEP}
${CROSS_COMPILE}${CC} -c $< -o $@ ${CLIENT_CFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@

sub_client.o : sub_client.c ${SHARED_DEP}
${CROSS_COMPILE}${CC} -c $< -o $@ ${CLIENT_CFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@

sub_client_output.o : sub_client_output.c ${SHARED_DEP}
${CROSS_COMPILE}${CC} -c $< -o $@ ${CLIENT_CFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@

rr_client.o : rr_client.c ${SHARED_DEP}
${CROSS_COMPILE}${CC} -c $< -o $@ ${CLIENT_CFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@

client_shared.o : client_shared.c client_shared.h
${CROSS_COMPILE}${CC} -c $< -o $@ ${CLIENT_CFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@

client_props.o : client_props.c client_shared.h
${CROSS_COMPILE}${CC} -c $< -o $@ ${CLIENT_CFLAGS}
${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@

../lib/libmosquitto.so.${SOVERSION} :
$(MAKE) -C ../lib
Expand Down
6 changes: 6 additions & 0 deletions client/client_shared.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ and the Eclipse Distribution License is available at

#include <stdio.h>

#ifdef WIN32
# include <winsock2.h>
#else
# include <sys/time.h>
#endif

/* pub_client.c modes */
#define MSGMODE_NONE 0
#define MSGMODE_CMD 1
Expand Down
117 changes: 61 additions & 56 deletions config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ WITH_COVERAGE:=no

# Also bump lib/mosquitto.h, CMakeLists.txt,
# installer/mosquitto.nsi, installer/mosquitto64.nsi
VERSION=1.6.0
VERSION=1.6.1

# Client library SO version. Bump if incompatible API/ABI changes are made.
SOVERSION=1
Expand All @@ -129,30 +129,39 @@ else
endif

STATIC_LIB_DEPS:=
LIB_CFLAGS:=${CFLAGS} ${CPPFLAGS} -I. -I.. -I../lib -I../src/deps
LIB_CXXFLAGS:=$(CFLAGS) ${CPPFLAGS} -I. -I.. -I../lib
LIB_LDFLAGS:=${LDFLAGS}

BROKER_CFLAGS:=${LIB_CFLAGS} ${CPPFLAGS} -DVERSION="\"${VERSION}\"" -DWITH_BROKER
LIB_CPPFLAGS=$(CPPFLAGS) -I. -I.. -I../lib -I../src/deps
LIB_CFLAGS:=$(CFLAGS)
LIB_CXXFLAGS:=$(CXXFLAGS)
LIB_LDFLAGS:=$(LDFLAGS)
LIB_LIBADD:=$(LIBADD)

BROKER_CPPFLAGS:=$(LIB_CPPFLAGS)
BROKER_CFLAGS:=${CFLAGS} -DVERSION="\"${VERSION}\"" -DWITH_BROKER
BROKER_LDFLAGS:=${LDFLAGS}
CLIENT_CFLAGS:=${CFLAGS} ${CPPFLAGS} -I.. -I../lib -DVERSION="\"${VERSION}\""
BROKER_LDADD:=

CLIENT_CPPFLAGS:=$(CPPFLAGS) -I.. -I../lib
CLIENT_CFLAGS:=${CFLAGS} -DVERSION="\"${VERSION}\""
CLIENT_LDFLAGS:=-L../lib
CLIENT_LDADD:=

PASSWD_LDADD:=

ifneq ($(or $(findstring $(UNAME),FreeBSD), $(findstring $(UNAME),OpenBSD), $(findstring $(UNAME),NetBSD)),)
BROKER_LIBS:=-lm
BROKER_LDADD:=$(BROKER_LDADD) -lm
else
BROKER_LIBS:=-ldl -lm
BROKER_LDADD:=$(BROKER_LDADD) -ldl -lm
endif
LIB_LIBS:=
PASSWD_LIBS:=

ifeq ($(UNAME),Linux)
BROKER_LIBS:=$(BROKER_LIBS) -lrt -Wl,--dynamic-list=linker.syms
LIB_LIBS:=$(LIB_LIBS) -lrt
BROKER_LDADD:=$(BROKER_LDADD) -lrt
BROKER_LDFLAGS:=$(BROKER_LDFLAGS) -Wl,--dynamic-list=linker.syms
LIB_LIBADD:=$(LIB_LIBADD) -lrt
endif

CLIENT_LDFLAGS:=$(LDFLAGS) -L../lib
ifeq ($(WITH_SHARED_LIBRARIES),yes)
CLIENT_LDFLAGS:=${CLIENT_LDFLAGS} ../lib/libmosquitto.so.${SOVERSION}
CLIENT_LDADD:=${CLIENT_LDADD} ../lib/libmosquitto.so.${SOVERSION}
endif

ifeq ($(UNAME),SunOS)
Expand All @@ -177,89 +186,85 @@ ifneq ($(UNAME),SunOS)
endif

ifeq ($(UNAME),QNX)
BROKER_LIBS:=$(BROKER_LIBS) -lsocket
LIB_LIBS:=$(LIB_LIBS) -lsocket
BROKER_LDADD:=$(BROKER_LDADD) -lsocket
LIB_LIBADD:=$(LIB_LIBADD) -lsocket
endif

ifeq ($(WITH_WRAP),yes)
BROKER_LIBS:=$(BROKER_LIBS) -lwrap
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_WRAP
BROKER_LDADD:=$(BROKER_LDADD) -lwrap
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_WRAP
endif

ifeq ($(WITH_TLS),yes)
BROKER_LIBS:=$(BROKER_LIBS) -lssl -lcrypto
LIB_LIBS:=$(LIB_LIBS) -lssl -lcrypto
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_TLS
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_TLS
PASSWD_LIBS:=-lcrypto
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_TLS
BROKER_LDADD:=$(BROKER_LDADD) -lssl -lcrypto
LIB_LIBADD:=$(LIB_LIBADD) -lssl -lcrypto
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_TLS
LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_TLS
PASSWD_LDADD:=$(PASSWD_LDADD) -lcrypto
CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_TLS
STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lssl -lcrypto

ifeq ($(WITH_TLS_PSK),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_TLS_PSK
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_TLS_PSK
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_TLS_PSK
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_TLS_PSK
LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_TLS_PSK
CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_TLS_PSK
endif
endif

ifeq ($(WITH_THREADING),yes)
LIB_LIBS:=$(LIB_LIBS) -lpthread
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_THREADING
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_THREADING
LIB_LIBADD:=$(LIB_LIBADD) -lpthread
LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_THREADING
CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_THREADING
STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lpthread
endif

ifeq ($(WITH_SOCKS),yes)
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_SOCKS
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_SOCKS
LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_SOCKS
CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_SOCKS
endif

ifeq ($(WITH_BRIDGE),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_BRIDGE
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_BRIDGE
endif

ifeq ($(WITH_PERSISTENCE),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_PERSISTENCE
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_PERSISTENCE
endif

ifeq ($(WITH_MEMORY_TRACKING),yes)
ifneq ($(UNAME),SunOS)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_MEMORY_TRACKING
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_MEMORY_TRACKING
endif
endif

#ifeq ($(WITH_DB_UPGRADE),yes)
# BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_DB_UPGRADE
#endif

ifeq ($(WITH_SYS_TREE),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_SYS_TREE
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_SYS_TREE
endif

ifeq ($(WITH_SYSTEMD),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_SYSTEMD
BROKER_LIBS:=$(BROKER_LIBS) -lsystemd
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_SYSTEMD
BROKER_LDADD:=$(BROKER_LDADD) -lsystemd
endif

ifeq ($(WITH_SRV),yes)
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_SRV
LIB_LIBS:=$(LIB_LIBS) -lcares
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_SRV
LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_SRV
LIB_LIBADD:=$(LIB_LIBADD) -lcares
CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_SRV
STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lcares
endif

ifeq ($(UNAME),SunOS)
BROKER_LIBS:=$(BROKER_LIBS) -lsocket -lnsl
LIB_LIBS:=$(LIB_LIBS) -lsocket -lnsl
BROKER_LDADD:=$(BROKER_LDADD) -lsocket -lnsl
LIB_LIBADD:=$(LIB_LIBADD) -lsocket -lnsl
endif

ifeq ($(WITH_EC),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_EC
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_EC
endif

ifeq ($(WITH_ADNS),yes)
BROKER_LIBS:=$(BROKER_LIBS) -lanl
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_ADNS
BROKER_LDADD:=$(BROKER_LDADD) -lanl
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_ADNS
endif

MAKE_ALL:=mosquitto
Expand All @@ -268,13 +273,13 @@ ifeq ($(WITH_DOCS),yes)
endif

ifeq ($(WITH_WEBSOCKETS),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_WEBSOCKETS
BROKER_LIBS:=$(BROKER_LIBS) -lwebsockets
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_WEBSOCKETS
BROKER_LDADD:=$(BROKER_LDADD) -lwebsockets
endif

ifeq ($(WITH_WEBSOCKETS),static)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_WEBSOCKETS
BROKER_LIBS:=$(BROKER_LIBS) -static -lwebsockets
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_WEBSOCKETS
BROKER_LDADD:=$(BROKER_LDADD) -static -lwebsockets
endif

INSTALL?=install
Expand All @@ -291,12 +296,12 @@ endif

ifeq ($(WITH_EPOLL),yes)
ifeq ($(UNAME),Linux)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_EPOLL
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_EPOLL
endif
endif

ifeq ($(WITH_BUNDLED_DEPS),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -Ideps
BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -Ideps
endif

ifeq ($(WITH_COVERAGE),yes)
Expand Down
Loading

0 comments on commit 25329f5

Please sign in to comment.