@cryptotaxi247 / netdata-1 / commits / 297327519

build mqtt_websockets with netdata autotools (#11083)

* build mqtt_websockets with netdata autotools * avoids handwritten makefiles in submodules

Timotej S committed May 6, 2021 at 18:06 UTC 2973275191176fad8d2c3a2a3d9a917dd8746168
3 files changed +51 -29
Makefile.am
+16 -13
@@ -117,11 +117,7 @@ SUBDIRS += \
117 spawn \
118 $(NULL)
119
120 -if ACLK_NG
121 -SUBDIRS += \
122 - mqtt_websockets \
123 - $(NULL)
124 -else
120 +if !ACLK_NG
121 SUBDIRS += \
122 aclk/legacy \
123 $(NULL)
@@ -562,6 +558,17 @@ ACLK_FILES = \
558 aclk/aclk_rx_msgs.h \
559 aclk/https_client.c \
560 aclk/https_client.h \
561 + mqtt_websockets/src/mqtt_wss_client.c \
562 + mqtt_websockets/src/include/mqtt_wss_client.h \
563 + mqtt_websockets/src/mqtt_wss_log.c \
564 + mqtt_websockets/src/include/mqtt_wss_log.h \
565 + mqtt_websockets/src/ws_client.c \
566 + mqtt_websockets/src/include/ws_client.h \
567 + mqtt_websockets/c-rbuf/src/ringbuffer.c \
568 + mqtt_websockets/c-rbuf/include/ringbuffer.h \
569 + mqtt_websockets/c-rbuf/src/ringbuffer_internal.h \
570 + mqtt_websockets/MQTT-C/src/mqtt.c \
571 + mqtt_websockets/MQTT-C/include/mqtt.h \
572 $(NULL)
573 else #ACLK_NG
574 ACLK_FILES = \
@@ -755,23 +762,19 @@ NETDATACLI_FILES = \
762 sbin_PROGRAMS += netdata
763 netdata_SOURCES = $(NETDATA_FILES)
764
758 -if ACLK_NG
765 +
766 netdata_LDADD = \
760 - mqtt_websockets/libmqttwebsockets.a \
767 $(NETDATA_COMMON_LIBS) \
768 $(NULL)
763 -else #ACLK_NG
769 +
770 +if !ACLK_NG
771 if ENABLE_ACLK
765 -netdata_LDADD = \
772 +netdata_LDADD += \
773 externaldeps/mosquitto/libmosquitto.a \
774 $(OPTIONAL_LIBCAP_LIBS) \
775 $(OPTIONAL_LWS_LIBS) \
776 $(NETDATA_COMMON_LIBS) \
777 $(NULL)
771 -else #ENABLE_ACLK
772 -netdata_LDADD = \
773 - $(NETDATA_COMMON_LIBS) \
774 - $(NULL)
778 endif #ENABLE_ACLK
779 endif #ACLK_NG
780
configure.ac
+34 -15
@@ -738,24 +738,43 @@ if test "$enable_cloud" = "no" -a "$aclk_ng" = "yes"; then
738 fi
739
740 if test "$enable_cloud" != "no" -a "$aclk_ng" != "no"; then
741 + can_enable_ng="yes"
742 + AC_MSG_CHECKING([if git submodules present for ACLK Next Generation])
743 + if test -f "mqtt_websockets/src/mqtt_wss_client.c"; then
744 + AC_MSG_RESULT([yes])
745 + else
746 + AC_MSG_RESULT([no])
747 + can_enable_ng="no"
748 + fi
749 + AC_MSG_CHECKING([if SSL available for ACLK Next Generation])
750 + if test -n "${SSL_LIBS}"; then
751 + AC_MSG_RESULT([yes])
752 + OPTIONAL_SSL_CFLAGS="${SSL_CFLAGS}"
753 + OPTIONAL_SSL_LIBS="${SSL_LIBS}"
754 + else
755 + AC_MSG_RESULT([no])
756 + fi
757 AC_MSG_CHECKING([if JSON-C available for ACLK Next Generation])
758 if test "$enable_jsonc" != "yes"; then
759 AC_MSG_RESULT([no])
760 + can_enable_ng="no"
761 else
762 AC_MSG_RESULT([yes])
746 - if test "$aclk_ng" != "yes" -a "$enable_aclk" == "no"; then #default "fallback"
747 - AC_MSG_NOTICE([ACLK Legacy could not be built. Trying ACLK-NG as fallback.])
748 - aclk_ng="yes"
749 - fi
750 - if test "$aclk_ng" = "yes"; then
751 - #TODO Check OpenSSL and JSON-C
752 - AC_MSG_CHECKING([if ACLK Next Generation can be built])
753 - AC_DEFINE([ACLK_NG], [1], [ACLK Next Generation Should be used])
754 - AC_DEFINE([ENABLE_ACLK], [1], [netdata ACLK])
755 - enable_aclk="yes"
756 - AC_MSG_RESULT([yes])
757 - OPTIONAL_MQTT_WSS_CFLAGS="-Imqtt_websockets/src/include"
758 - fi
763 + fi
764 + AC_MSG_CHECKING([ACLK Next Generation can be built])
765 + AC_MSG_RESULT([${can_enable_ng}])
766 + if test "$aclk_ng" = "yes" -a "$can_enable_ng" != "yes"; then
767 + AC_MSG_ERROR([ACLK-NG requested but can't be built])
768 + fi
769 + if test "$aclk_ng" != "yes" -a "$enable_aclk" == "no" -a "$can_enable_ng" = "yes"; then #default "fallback"
770 + AC_MSG_NOTICE([ACLK Legacy could not be built. Trying ACLK-NG as fallback.])
771 + aclk_ng="yes"
772 + fi
773 + if test "$aclk_ng" = "yes"; then
774 + AC_DEFINE([ACLK_NG], [1], [ACLK Next Generation Should be used])
775 + AC_DEFINE([ENABLE_ACLK], [1], [netdata ACLK])
776 + enable_aclk="yes"
777 + OPTIONAL_ACLK_NG_CFLAGS="-Imqtt_websockets/src/include -Imqtt_websockets/c-rbuf/include -Imqtt_websockets/MQTT-C/include"
778 fi
779 fi
780 AC_SUBST([enable_cloud])
@@ -1458,7 +1477,7 @@ CFLAGS="${CFLAGS} ${OPTIONAL_MATH_CFLAGS} ${OPTIONAL_NFACCT_CFLAGS} ${OPTIONAL_Z
1477 ${OPTIONAL_LIBCAP_CFLAGS} ${OPTIONAL_IPMIMONITORING_CFLAGS} ${OPTIONAL_CUPS_CFLAGS} ${OPTIONAL_XENSTAT_FLAGS} \
1478 ${OPTIONAL_KINESIS_CFLAGS} ${OPTIONAL_PUBSUB_CFLAGS} ${OPTIONAL_PROMETHEUS_REMOTE_WRITE_CFLAGS} \
1479 ${OPTIONAL_MONGOC_CFLAGS} ${LWS_CFLAGS} ${OPTIONAL_JSONC_STATIC_CFLAGS} ${OPTIONAL_BPF_CFLAGS} ${OPTIONAL_JUDY_CFLAGS} \
1461 - ${OPTIONAL_MQTT_WSS_CFLAGS}"
1480 + ${OPTIONAL_ACLK_NG_CFLAGS}"
1481
1482 CXXFLAGS="${CFLAGS} ${CXX11FLAG}"
1483
@@ -1508,7 +1527,7 @@ AC_SUBST([OPTIONAL_PROMETHEUS_REMOTE_WRITE_LIBS])
1527 AC_SUBST([OPTIONAL_MONGOC_CFLAGS])
1528 AC_SUBST([OPTIONAL_MONGOC_LIBS])
1529 AC_SUBST([OPTIONAL_LWS_LIBS])
1511 -AC_SUBST([OPTIONAL_MQTT_WSS_CFLAGS])
1530 +AC_SUBST([OPTIONAL_ACLK_NG_CFLAGS])
1531
1532 # -----------------------------------------------------------------------------
1533 # Check if cmocka is available - needed for unit testing
mqtt_websockets
+1 -1
@@ -1 +1 @@
1 -Subproject commit 232c7618305eb4f4ec25d3217de145b49eb04c4d
1 +Subproject commit 613089e91ed0779dc8ebba60394e648400560b05