From 59bd07627dc1285b270d7e12617d39174980c897 Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Thu, 20 Sep 2018 16:12:00 +0100 Subject: [PATCH] Various build improvements to help packaging. --- ChangeLog.txt | 3 +++ config.h | 31 ++++++++++++++----------------- config.mk | 8 +++++--- lib/Makefile | 27 +++++++++++++-------------- lib/cpp/Makefile | 28 ++++++++++++++-------------- 5 files changed, 49 insertions(+), 48 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 9230ca5f..04a965f5 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -5,6 +5,9 @@ Broker: - Elevate log level to warning for situation when socket limit is hit. - Remove requirement to use `user root` in snap package config files. +Build: +- Various fixes to ease building. + 1.5.2 - 20180919 ================ diff --git a/config.h b/config.h index 76070192..5e76e899 100644 --- a/config.h +++ b/config.h @@ -1,10 +1,19 @@ #ifndef CONFIG_H /* ============================================================ - * Control compile time options. - * ============================================================ - * - * Compile time options have moved to config.mk. - */ + * Platform options + * ============================================================ */ + +#ifdef __APPLE__ +# define __DARWIN_C_SOURCE +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__SYMBIAN32__) || defined(__QNX__) +# define _XOPEN_SOURCE 700 +# define __BSD_VISIBLE 1 +# define HAVE_NETINET_IN_H +#else +# define _XOPEN_SOURCE 700 +# define _DEFAULT_SOURCE 1 +# define _POSIX_C_SOURCE 200809L +#endif /* ============================================================ @@ -27,16 +36,4 @@ #define uthash_malloc(sz) mosquitto__malloc(sz) #define uthash_free(ptr,sz) mosquitto__free(ptr) -#ifdef __APPLE__ -# define __DARWIN_C_SOURCE -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__SYMBIAN32__) || defined(__QNX__) -# define _XOPEN_SOURCE 700 -# define __BSD_VISIBLE 1 -# define HAVE_NETINET_IN_H -#else -# define _XOPEN_SOURCE 700 -# define _DEFAULT_SOURCE 1 -# define _POSIX_C_SOURCE 200809L -#endif - #endif diff --git a/config.mk b/config.mk index 3e877ccf..96052346 100644 --- a/config.mk +++ b/config.mk @@ -275,9 +275,11 @@ ifeq ($(WITH_WEBSOCKETS),static) endif INSTALL?=install -prefix=/usr/local -mandir=${prefix}/share/man -localedir=${prefix}/share/locale +prefix?=/usr/local +incdir?=${prefix}/include +libdir?=${prefix}/lib${LIB_SUFFIX} +localedir?=${prefix}/share/locale +mandir?=${prefix}/share/man STRIP?=strip ifeq ($(WITH_STRIP),yes) diff --git a/lib/Makefile b/lib/Makefile index 3a293a8a..b768c81b 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -48,25 +48,24 @@ all : ${ALL_DEPS} $(MAKE) -C cpp install : all - $(INSTALL) -d "${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/" - $(INSTALL) ${STRIP_OPTS} libmosquitto.so.${SOVERSION} "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so.${SOVERSION}" - ln -sf libmosquitto.so.${SOVERSION} "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so" + $(INSTALL) -d "${DESTDIR}${libdir}/" + $(INSTALL) ${STRIP_OPTS} libmosquitto.so.${SOVERSION} "${DESTDIR}${libdir}/libmosquitto.so.${SOVERSION}" + ln -sf libmosquitto.so.${SOVERSION} "${DESTDIR}${libdir}/libmosquitto.so" ifeq ($(WITH_STATIC_LIBRARIES),yes) - $(INSTALL) libmosquitto.a "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.a" - ${CROSS_COMPILE}${STRIP} -g --strip-unneeded "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.a" + $(INSTALL) ${STRIP_OPTS} libmosquitto.a "${DESTDIR}${libdir}/libmosquitto.a" endif - $(INSTALL) -d "${DESTDIR}${prefix}/include/" - $(INSTALL) mosquitto.h "${DESTDIR}${prefix}/include/mosquitto.h" - $(INSTALL) -d "${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/pkgconfig" - $(INSTALL) -m644 ../libmosquitto.pc.in "${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/pkgconfig/libmosquitto.pc" - sed -i -e "s#@CMAKE_INSTALL_PREFIX@#$(prefix)#" -e "s#@VERSION@#$(VERSION)#" "${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/pkgconfig/libmosquitto.pc" + $(INSTALL) -d "${DESTDIR}${incdir}/" + $(INSTALL) mosquitto.h "${DESTDIR}${incdir}/mosquitto.h" + $(INSTALL) -d "${DESTDIR}${libdir}/pkgconfig" + $(INSTALL) -m644 ../libmosquitto.pc.in "${DESTDIR}${libdir}/pkgconfig/libmosquitto.pc" + sed -i -e "s#@CMAKE_INSTALL_PREFIX@#${prefix}#" -e "s#@VERSION@#${VERSION}#" "${DESTDIR}${libdir}/pkgconfig/libmosquitto.pc" $(MAKE) -C cpp install uninstall : - -rm -f "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so.${SOVERSION}" - -rm -f "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so" - -rm -f "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.a" - -rm -f "${DESTDIR}${prefix}/include/mosquitto.h" + -rm -f "${DESTDIR}${libdir}/libmosquitto.so.${SOVERSION}" + -rm -f "${DESTDIR}${libdir}/libmosquitto.so" + -rm -f "${DESTDIR}${libdir}/libmosquitto.a" + -rm -f "${DESTDIR}${incdir}/mosquitto.h" reallyclean : clean diff --git a/lib/cpp/Makefile b/lib/cpp/Makefile index a6684757..87d6e057 100644 --- a/lib/cpp/Makefile +++ b/lib/cpp/Makefile @@ -15,24 +15,24 @@ endif all : ${ALL_DEPS} install : all - $(INSTALL) -d "${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/" - $(INSTALL) ${STRIP_OPTS} libmosquittopp.so.${SOVERSION} "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION}" - ln -sf libmosquittopp.so.${SOVERSION} "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so" + $(INSTALL) -d "${DESTDIR}${libdir}/" + $(INSTALL) ${STRIP_OPTS} libmosquittopp.so.${SOVERSION} "${DESTDIR}${libdir}/libmosquittopp.so.${SOVERSION}" + ln -sf libmosquittopp.so.${SOVERSION} "${DESTDIR}${libdir}/libmosquittopp.so" ifeq ($(WITH_STATIC_LIBRARIES),yes) - $(INSTALL) libmosquittopp.a "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.a" - ${CROSS_COMPILE}${STRIP} -g --strip-unneeded "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.a" + $(INSTALL) libmosquittopp.a "${DESTDIR}${libdir}/libmosquittopp.a" + ${CROSS_COMPILE}${STRIP} -g --strip-unneeded "${DESTDIR}${libdir}/libmosquittopp.a" endif - $(INSTALL) -d "${DESTDIR}${prefix}/include/" - $(INSTALL) mosquittopp.h "${DESTDIR}${prefix}/include/mosquittopp.h" - $(INSTALL) -d "${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/pkgconfig" - $(INSTALL) -m644 ../../libmosquittopp.pc.in "${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/pkgconfig/libmosquittopp.pc" - sed -i -e "s#@CMAKE_INSTALL_PREFIX@#$(prefix)#" -e "s#@VERSION@#$(VERSION)#" "${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/pkgconfig/libmosquittopp.pc" + $(INSTALL) -d "${DESTDIR}${incdir}/" + $(INSTALL) mosquittopp.h "${DESTDIR}${incdir}/mosquittopp.h" + $(INSTALL) -d "${DESTDIR}${libdir}/pkgconfig/" + $(INSTALL) -m644 ../../libmosquittopp.pc.in "${DESTDIR}${libdir}/pkgconfig/libmosquittopp.pc" + sed -i -e "s#@CMAKE_INSTALL_PREFIX@#${prefix}#" -e "s#@VERSION@#${VERSION}#" "${DESTDIR}${libdir}/pkgconfig/libmosquittopp.pc" uninstall : - -rm -f "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION}" - -rm -f "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so" - -rm -f "${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.a" - -rm -f "${DESTDIR}${prefix}/include/mosquittopp.h" + -rm -f "${DESTDIR}${libdir}/libmosquittopp.so.${SOVERSION}" + -rm -f "${DESTDIR}${libdir}/libmosquittopp.so" + -rm -f "${DESTDIR}${libdir}/libmosquittopp.a" + -rm -f "${DESTDIR}${incdir}/mosquittopp.h" clean : -rm -f *.o libmosquittopp.so.${SOVERSION} libmosquittopp.a