]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Add some simple configuration tests.
authorMike Brady <4265913+mikebrady@users.noreply.github.com>
Fri, 1 Jan 2021 19:16:27 +0000 (19:16 +0000)
committerMike Brady <4265913+mikebrady@users.noreply.github.com>
Fri, 1 Jan 2021 19:16:27 +0000 (19:16 +0000)
.gitignore
configure.ac
tests/configure_test.sh [new file with mode: 0644]

index 6f76aec52f9157ba31d698299ceca17dcd70a2e6..9d13084c7d5b9c834a2d374cf5f89942ea0ae982 100644 (file)
@@ -5,6 +5,7 @@
 /shairport-sync-mpris-test-client
 
 *.o
+*.log
 /*~
 *.xml~
 /config.mk
index dd59c22cc1e709efa0b3f0543a2ad45ae2fe7881..341bb38900061d1fc16d3b03c4f432c4a30b4ff3 100644 (file)
@@ -66,21 +66,21 @@ fi
 AC_ARG_WITH([dummy],[AS_HELP_STRING([--with-dummy],[include the dummy audio back end])])
 if test "x$with_dummy" = "xyes" ; then
   AC_MSG_RESULT(include the dummy audio back end)
-  AC_DEFINE([CONFIG_DUMMY], 1, [Needed by the compiler.])
+  AC_DEFINE([CONFIG_DUMMY], 1, [Include a fake audio backend.])
 fi
 AM_CONDITIONAL([USE_DUMMY], [test "x$with_dummy" = "xyes" ])
 
 AC_ARG_WITH([stdout],[AS_HELP_STRING([--with-stdout],[include the stdout audio back end])])
 if test "x$with_stdout" = "xyes" ; then
   AC_MSG_RESULT(include the stdout audio back end)
-  AC_DEFINE([CONFIG_STDOUT], 1, [Needed by the compiler.])
+  AC_DEFINE([CONFIG_STDOUT], 1, [Include an audio backend to output to standard output (stdout).])
 fi
 AM_CONDITIONAL([USE_STDOUT], [test "x$with_stdout" = "xyes"])
 
 AC_ARG_WITH([pipe],[AS_HELP_STRING([--with-pipe],[include the pipe audio back end])])
 if test "x$with_pipe" = "xyes" ; then
   AC_MSG_RESULT(include the pipe audio back end)
-  AC_DEFINE([CONFIG_PIPE], 1, [Needed by the compiler.])
+  AC_DEFINE([CONFIG_PIPE], 1, [Include an audio backend to output to a unix pipe.])
 fi
 AM_CONDITIONAL([USE_PIPE], [test "x$with_pipe" = "xyes" ])
 
@@ -148,7 +148,7 @@ AM_CONDITIONAL([USE_CUSTOMPIDDIR], [ test "x${with_piddir}" != "x" ])
 # Look for libdaemon
 AC_ARG_WITH(libdaemon,[AS_HELP_STRING([--with-libdaemon],[include support for daemonising in non-systemd systems])])
 if test "x$with_libdaemon" = "x1"; then
-       AC_DEFINE([CONFIG_LIBDAEMON], 1, [Include libdaemon])
+       AC_DEFINE([CONFIG_LIBDAEMON], 1, [Include libdaemon for daemonising in non-systemd systems])
        if  test "x${with_pkg_config}" = xyes ; then
                PKG_CHECK_MODULES(
                                [DAEMON], [libdaemon],
@@ -217,7 +217,7 @@ AC_ARG_WITH(metadata,[AS_HELP_STRING([--with-metadata],[include support for a me
 # Look for avahi flag
 AC_ARG_WITH(avahi, [AS_HELP_STRING([--with-avahi],[choose Avahi-based mDNS support])])
 if test "x$with_avahi" = "xyes" ; then
-  AC_DEFINE([CONFIG_AVAHI], 1, [Needed by the compiler.])
+  AC_DEFINE([CONFIG_AVAHI], 1, [Include Avahi-based mDNS support.])
   AC_CHECK_LIB([avahi-client], [avahi_client_new], , AC_MSG_ERROR(Avahi support requires the avahi-client library!))
   AC_CHECK_LIB([avahi-common],[avahi_strerror], , AC_MSG_ERROR(Avahi support requires the avahi-common library!))
 fi
@@ -247,7 +247,7 @@ AM_CONDITIONAL([USE_ALSA], [test "x$with_alsa" = "xyes"])
 # Look for jack flag
 AC_ARG_WITH(jack, [AS_HELP_STRING([--with-jack],[include a Jack Audio Connection Kit (jack) backend])])
 if test "x$with_jack" = "xyes" ; then
-  AC_DEFINE([CONFIG_JACK], 1, [Needed by the compiler.])
+  AC_DEFINE([CONFIG_JACK], 1, [Include a Jack Audio Connection Kit (jack) audio backend])
   if  test "x${with_pkg_config}" = xyes ; then
     PKG_CHECK_MODULES(
       [jack], [jack],
@@ -262,7 +262,7 @@ AM_CONDITIONAL([USE_JACK], [test "x$with_jack" = "xyes"])
 # Look for SNDIO flag
 AC_ARG_WITH(sndio, [AS_HELP_STRING([--with-sndio],[choose SNDIO API support])])
 if test "x$with_sndio" = "xyes" ; then
-  AC_DEFINE([CONFIG_SNDIO], 1, [Needed by the compiler.])
+  AC_DEFINE([CONFIG_SNDIO], 1, [Include a sndio-compatible audio backend.])
   AC_CHECK_LIB([sndio], [sio_open], , AC_MSG_ERROR(SNDIO support requires the sndio library -- libsndio-dev suggested))
 fi
 AM_CONDITIONAL([USE_SNDIO], [test "x$with_sndio" = "xyes"])
@@ -270,7 +270,7 @@ AM_CONDITIONAL([USE_SNDIO], [test "x$with_sndio" = "xyes"])
 # Look for AO flag
 AC_ARG_WITH(ao, [AS_HELP_STRING([--with-ao],[choose AO (Audio Output?) API support. N.B. no synchronisation -- so underflow or overflow is inevitable!])])
 if test "x$with_ao" = "xyes" ; then
-  AC_DEFINE([CONFIG_AO], 1, [Needed by the compiler.])
+  AC_DEFINE([CONFIG_AO], 1, [Include an AO-compatible  audio backend.])
   AC_CHECK_LIB([ao], [ao_initialize], , AC_MSG_ERROR(AO support requires the ao library -- libao-dev suggested))
 fi
 AM_CONDITIONAL([USE_AO], [test "x$with_ao" = "xyes"])
@@ -286,7 +286,7 @@ AM_CONDITIONAL([USE_SOUNDIO], [test "x$with_soundio" = "xyes"])
 # Look for pulseaudio flag
 AC_ARG_WITH(pa, [AS_HELP_STRING([--with-pa],[choose PulseAudio support.])])
 if test "x$with_pa" = "xyes" ; then
-  AC_DEFINE([CONFIG_PA], 1, [Needed by the compiler.])
+  AC_DEFINE([CONFIG_PA], 1, [Include PulseAudio support.])
   if  test "x${with_pkg_config}" = xyes ; then
     PKG_CHECK_MODULES(
       [PULSEAUDIO], [libpulse >= 0.9.2],
@@ -299,63 +299,65 @@ fi
 AM_CONDITIONAL([USE_PA], [test "x$with_pa" = "xyes"])
 
 # Look for Convolution flag
-AC_ARG_WITH(convolution, [AS_HELP_STRING([--with-convolution],[choose audio DSP convolution support])], [
-  REQUESTED_CONVOLUTION=1
+AC_ARG_WITH(convolution, [AS_HELP_STRING([--with-convolution],[choose audio DSP convolution support])])
+if test "x$with_convolution" = "xyes" ; then
   AM_INIT_AUTOMAKE([subdir-objects])
-  AC_DEFINE([CONFIG_CONVOLUTION], 1, [Needed by the compiler.])
-  AC_CHECK_LIB([sndfile], [sf_open], , AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!))], )
-AM_CONDITIONAL([USE_CONVOLUTION], [test "x$REQUESTED_CONVOLUTION" = "x1"])
+  AC_DEFINE([CONFIG_CONVOLUTION], 1, [Include audio DSP convolution support.])
+  AC_CHECK_LIB([sndfile], [sf_open], , AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!))
+fi
+AM_CONDITIONAL([USE_CONVOLUTION], [test "x$with_convolution" = "xyes"])
 
 # Look for dns_sd flag
-AC_ARG_WITH(dns_sd, [AS_HELP_STRING([--with-dns_sd],[choose dns_sd mDNS support])], [
-  REQUESTED_DNS_SD=1
-  AC_DEFINE([CONFIG_DNS_SD], 1, [Needed by the compiler.])
-  AC_SEARCH_LIBS([DNSServiceRefDeallocate], [dns_sd], , AC_MSG_ERROR(dns_sd support requires the dns_sd library!))], )
-AM_CONDITIONAL([USE_DNS_SD], [test "x$REQUESTED_DNS_SD" = "x1"])
+AC_ARG_WITH(dns_sd, [AS_HELP_STRING([--with-dns_sd],[choose dns_sd mDNS support])])
+if test "x$with_dns_sd" = "xyes" ; then
+  AC_DEFINE([CONFIG_DNS_SD], 1, [Include dns_sd mDNS support.])
+  AC_SEARCH_LIBS([DNSServiceRefDeallocate], [dns_sd], , [AC_MSG_ERROR(dns_sd support requires the dns_sd library!)])
+fi
+AM_CONDITIONAL([USE_DNS_SD], [test "x$with_dns_sd" = "xyes"])
 
 # Look for dbus flag
-AC_ARG_WITH(dbus-interface, [AS_HELP_STRING([--with-dbus-interface],[include support for the native Shairport Sync D-Bus interface])], [
-  AC_DEFINE([CONFIG_DBUS_INTERFACE], 1, [Include support for the native Shairport Sync D-Bus interface])
-  REQUESTED_DBUS=1
-  PKG_CHECK_MODULES([glib], [gio-unix-2.0 >= 2.30.0],[CFLAGS="${glib_CFLAGS} ${CFLAGS}" LIBS="${glib_LIBS} ${LIBS}"],[AC_MSG_ERROR(D-Bus messaging support requires the glib 2.0 library -- libglib2.0-dev suggested!)])
-  ], )
-AM_CONDITIONAL([USE_DBUS], [test "x$REQUESTED_DBUS" = "x1"])
+AC_ARG_WITH(dbus-interface, [AS_HELP_STRING([--with-dbus-interface],[include support for the native Shairport Sync D-Bus interface])])
+if test "x$with_dbus_interface" = "xyes" ; then 
+  AC_DEFINE([CONFIG_DBUS_INTERFACE], 1, [Support the native Shairport Sync D-Bus interface])
+  # remember to include glib, below
+fi
+AM_CONDITIONAL([USE_DBUS], [test "x$with_dbus_interface" = "xyes"])
 
 # Look for dbus test client flag
-AC_ARG_WITH(dbus-test-client, [AS_HELP_STRING([--with-dbus-test-client],[compile a separare D-Bus test client])], [
-  REQUESTED_DBUS_CLIENT=1
-  PKG_CHECK_MODULES([glib], [gio-unix-2.0 >= 2.30.0],[CFLAGS="${glib_CFLAGS} ${CFLAGS}" LIBS="${glib_LIBS} ${LIBS}"],[AC_MSG_ERROR(D-Bus client support requires the glib 2.0 library -- libglib2.0-dev suggested!)])
-  ], )
-AM_CONDITIONAL([USE_DBUS_CLIENT], [test "x$REQUESTED_DBUS_CLIENT" = "x1"])
+AC_ARG_WITH(dbus-test-client, [AS_HELP_STRING([--with-dbus-test-client],[compile a D-Bus test client application])])
+# remember to include glib, below
+AM_CONDITIONAL([USE_DBUS_CLIENT], [test "x$with_dbus_test_client" = "xyes"])
 
 # Look for mpris flag
-AC_ARG_WITH(mpris-interface, [AS_HELP_STRING([--with-mpris-interface],[include support for a D-Bus interface conforming to the MPRIS standard])], [
-  AC_DEFINE([CONFIG_MPRIS_INTERFACE], 1, [Include support for a D-Bus interface conforming to the MPRIS standard])
-  REQUESTED_MPRIS=1
-  PKG_CHECK_MODULES([glib], [gio-unix-2.0 >= 2.30.0],[CFLAGS="${glib_CFLAGS} ${CFLAGS}" LIBS="${glib_LIBS} ${LIBS}"],[AC_MSG_ERROR(MPRIS messaging support for mpris requires the glib 2.0 library -- libglib2.0-dev suggested!)])
-  ], )
-AM_CONDITIONAL([USE_MPRIS], [test "x$REQUESTED_MPRIS" = "x1"])
+AC_ARG_WITH(mpris-interface, [AS_HELP_STRING([--with-mpris-interface],[include support for a D-Bus interface conforming to the MPRIS standard])])
+if test "x$with_mpris_interface" = "xyes" ; then
+  AC_DEFINE([CONFIG_MPRIS_INTERFACE], 1, [Support the MPRIS standard])
+  # remember to include glib, below
+fi
+AM_CONDITIONAL([USE_MPRIS], [test "x$with_mpris_interface" = "xyes"])
 
 # Look for mpris test client flag
-AC_ARG_WITH(mpris-test-client, [AS_HELP_STRING([--with-mpris-test-client],[compile an separate MPRIS test client])], [
-  REQUESTED_MPRIS_CLIENT=1
+AC_ARG_WITH(mpris-test-client, [AS_HELP_STRING([--with-mpris-test-client],[compile an MPRIS test client application])])
+# remember to include glib, below
+AM_CONDITIONAL([USE_MPRIS_CLIENT], [test "x$with_mpris_test_client" = "xyes"])
+
+if test "x$with_mpris_test_client" = "xyes" || test "x$with_dbus_test_client" = "xyes" || test "x$with_mpris_interface" = "xyes" || test "x$with_dbus_interface" = "xyes" ; then
   PKG_CHECK_MODULES([glib], [gio-unix-2.0 >= 2.30.0],[CFLAGS="${glib_CFLAGS} ${CFLAGS}" LIBS="${glib_LIBS} ${LIBS}"],[AC_MSG_ERROR(MPRIS client support requires the glib 2.0 library -- libglib2.0-dev suggested!)])
-  ], )
-AM_CONDITIONAL([USE_MPRIS_CLIENT], [test "x$REQUESTED_MPRIS_CLIENT" = "x1"])
+fi
 
 # Look for mqtt flag
-AC_ARG_WITH(mqtt-client, [AS_HELP_STRING([--with-mqtt-client],[include a client for MQTT -- the Message Queuing Telemetry Transport protocol])], [
+AC_ARG_WITH(mqtt-client, [AS_HELP_STRING([--with-mqtt-client],[include a client for MQTT -- the Message Queuing Telemetry Transport protocol])])
+if test "x$with_mqtt_client" = "xyes" ; then
   AC_DEFINE([CONFIG_MQTT], 1, [Include a client for MQTT, the Message Queuing Telemetry Transport protocol])
-  REQUESTED_MQTT=1
   AC_CHECK_LIB([mosquitto], [mosquitto_lib_init], , AC_MSG_ERROR(MQTT support requires the mosquitto library -- libmosquitto-dev suggested!))
-  ],)
-AM_CONDITIONAL([USE_MQTT], [test "x$REQUESTED_MQTT" = "x1"])
+fi
+AM_CONDITIONAL([USE_MQTT], [test "x$with_mqtt_client" = "xyes"])
 
-if test "x$REQUESTED_MQTT" = "x1" && test "x$with_avahi" = "xyes" ; then
-  AC_MSG_WARN([MQTT needs Avahi to allow remote control functionality. At present, only metadata publishing will be supported])
+if test "x$with_mqtt_client" = "xyes" && test "x$with_avahi" != "xyes" ; then
+  AC_MSG_WARN([MQTT needs Avahi for remote control functionality. With the current configuration settings, only metadata publishing will be supported.])
 fi
 
-if test "x$REQUESTED_MPRIS" = "x1" || test "x$REQUESTED_DBUS" = "x1" || test "x$REQUESTED_MQTT" = "x1"; then
+if test "x$with_mpris_interface" = "xyes" || test "x$with_dbus_interface" = "xyes" || test "x$with_mqtt_client" = "xyes" ; then
   REQUESTED_EXTENDED_METADATA_SUPPORT=1
   AC_DEFINE([CONFIG_METADATA_HUB], 1, [Needed by the compiler.])
   AC_DEFINE([CONFIG_DACP_CLIENT], 1, [Needed by the compiler.])
diff --git a/tests/configure_test.sh b/tests/configure_test.sh
new file mode 100644 (file)
index 0000000..f1dccf9
--- /dev/null
@@ -0,0 +1,201 @@
+#!/bin/sh
+
+# These tests check that the requested configuration can be made and can be built
+# In many cases it will check that the Shairport Sync configuration string
+# contains or omits the relevant string
+# If doesn't check for the presence or absence of products except
+# when it checks for the configuration string
+
+# At present, it is Linux-only.
+check_configuration_string_includes()
+{
+       echo -n " checking configuration string includes \"$1\"..."
+       ./shairport-sync -V | grep -q $1
+       if [ "$?" -eq "1" ] ; then
+               echo "\nError: \"$1\" not included in configuration string"
+               exit 1
+       fi
+       echo -n "ok"
+}
+
+check_configuration_string_excludes()
+{
+       echo -n " checking configuration string excludes \"$1\"..."
+       ./shairport-sync -V | grep -q $1
+       if [ "$?" -eq "0" ] ; then
+               echo "\nError: \"$1\" is unexpectedly included in the configuration string"
+               exit 1
+       fi
+       echo -n "ok"
+}
+check_for_success()
+{
+       if [ "$2" = "x" ] ; then
+               A2=""
+       else
+               A2="$2"
+       fi
+       if [ "$3" = "x" ] ; then
+               A3=""
+       else
+               A3="$3"
+       fi
+       if [ "$4" = "x" ] ; then
+               A4=""
+       else
+               A4="$4"
+       fi
+       if [ "$5" = "x" ] ; then
+               A5=""
+       else
+               A5=$5
+       fi
+       if [ "$1" = "x" -o "$1" = "x$A2" ] ; then
+               TESTCOUNT="$(expr "$TESTCOUNT" '+' '1')"
+               echo -n "Checking \"$A2\": "
+               echo -n "configuring..."
+               echo "./configure $A3 $A2" > $LOGFILE
+               ./configure $A3 $A2 >> $LOGFILE 2>&1
+               if [ "$?" -eq "0" ] ; then
+                       echo -n "ok making..."
+                       echo "make clean" >> $LOGFILE
+                       make clean >> $LOGFILE 2>&1
+                       echo "make -j $((`nproc`*2))" >> $LOGFILE
+                       make -j $((`nproc`*2)) >> $LOGFILE 2>&1
+                       if [ "$?" -ne "0" ] ; then
+                         echo "\nError at build step with arg \"$A2\"."
+                         exit 1
+                       fi
+                       echo -n "ok"
+               else
+                       echo "\nError at configure step with arg \"$A2\"."
+                       exit 1
+               fi
+               if [ "$A4" != "" ] ; then
+                       check_configuration_string_includes $A4
+               fi
+               if [ "$A5" != "" ] ; then
+                       check_configuration_string_excludes $A5
+               fi
+               echo "."
+       fi
+}
+
+check_for_configuration_fail()
+{
+       if [ "$1" = "x" -o "$1" = "x$2" ] ; then
+               echo -n "Checking \"$2\" fails during configuration... "
+               TESTCOUNT="$(expr "$TESTCOUNT" '+' '1')"
+               ./configure $3 $2 > $LOGFILE 2>&1
+               if [ "$?" -eq "0" ] ; then
+                       echo "\nError: configuration did not fail with arg \"$2\"."
+                       exit 1
+               fi
+               echo " done."
+       fi
+       return 0
+}
+
+echo -n "Preparing..."
+LOGFILE=configure_test.log
+CWD=`pwd`
+cd ..
+autoreconf -fi > $LOGFILE 2>&1
+if [ "$?" -ne "0" ] ; then
+       echo "\Error running \"autoreconf -fi\""
+       exit 1
+fi
+echo "ok."
+TESTCOUNT=0
+check_for_success x$1 --with-pkg-config --with-ssl=mbedtls
+check_for_success x$1 --with-ssl=openssl x OpenSSL
+check_for_success x$1 --with-ssl=mbedtls x mbedTLS
+check_for_success x$1 --with-ssl=polarssl x PolarSSL
+check_for_configuration_fail x$1 --with-ssl
+check_for_configuration_fail x$1 --without-ssl=openssl
+check_for_configuration_fail x$1 --without-ssl=mbedtls
+check_for_configuration_fail x$1 --without-ssl=polarssl
+check_for_configuration_fail x$1
+check_for_success x$1 --with-alsa --with-ssl=mbedtls ALSA
+check_for_success x$1 --without-alsa --with-ssl=mbedtls x ALSA
+
+check_for_success x$1 --with-dummy --with-ssl=mbedtls dummy
+check_for_success x$1 --without-dummy --with-ssl=mbedtls x dummy
+
+check_for_success x$1 --with-stdout --with-ssl=mbedtls stdout
+check_for_success x$1 --without-stdout --with-ssl=mbedtls x stdout
+
+check_for_success x$1 --with-pipe --with-ssl=mbedtls pipe
+check_for_success x$1 --without-pipe --with-ssl=mbedtls x pipe
+
+check_for_success x$1 --with-external-mdns --with-ssl=mbedtls external_mdns
+check_for_success x$1 --without-external-mdns --with-ssl=mbedtls x external_mdns
+
+check_for_success x$1 --with-apple-alac --with-ssl=mbedtls alac
+check_for_success x$1 --without-apple-alac --with-ssl=mbedtls x alac
+
+check_for_success x$1 --with-piddir=/var --with-ssl=mbedtls
+check_for_success x$1 --without-piddir --with-ssl=mbedtls
+
+check_for_success x$1 --with-libdaemon --with-ssl=mbedtls
+check_for_success x$1 --without-libdaemon --with-ssl=mbedtls
+
+check_for_success x$1 --with-soxr --with-ssl=mbedtls soxr
+check_for_success x$1 --without-soxr --with-ssl=mbedtls x soxr
+
+check_for_success x$1 --with-metadata --with-ssl=mbedtls metadata
+check_for_success x$1 --without-metadata --with-ssl=mbedtls x metadata
+
+check_for_success x$1 --with-avahi --with-ssl=mbedtls Avahi
+check_for_success x$1 --without-avahi --with-ssl=mbedtls x Avahi
+
+check_for_success x$1 --with-tinysvcmdns --with-ssl=mbedtls tinysvcmdns
+check_for_success x$1 --without-tinysvcmdns --with-ssl=mbedtls x tinysvcmdns
+
+check_for_success x$1 --with-jack --with-ssl=mbedtls jack
+check_for_success x$1 --without-jack --with-ssl=mbedtls x jack
+
+check_for_success x$1 --with-sndio --with-ssl=mbedtls sndio
+check_for_success x$1 --without-sndio --with-ssl=mbedtls x sndio
+
+check_for_success x$1 --with-ao --with-ssl=mbedtls ao
+check_for_success x$1 --without-ao --with-ssl=mbedtls x ao
+
+# the following is disabled because there is no soundio library for Raspberry OS
+#check_for_success x$1 --with-soundio --with-ssl=mbedtls soundio
+check_for_success x$1 --without-soundio --with-ssl=mbedtls x soundio
+
+check_for_success x$1 --with-pa --with-ssl=mbedtls pa
+check_for_success x$1 --without-pa --with-ssl=mbedtls x pa
+
+check_for_success x$1 --with-convolution --with-ssl=mbedtls convolution
+check_for_success x$1 --without-convolution --with-ssl=mbedtls x convolution
+
+check_for_success x$1 --with-dns_sd --with-ssl=mbedtls dns_sd
+check_for_success x$1 --without-dns_sd --with-ssl=mbedtls x dns_sd
+
+check_for_success x$1 --with-dbus-interface --with-ssl=mbedtls metadata-dbus
+check_for_success x$1 --without-dbus-interface --with-ssl=mbedtls x dbus
+
+check_for_success x$1 --with-dbus-test-client --with-ssl=mbedtls
+check_for_success x$1 --without-dbus-test-client --with-ssl=mbedtls
+
+check_for_success x$1 --with-mpris-interface --with-ssl=mbedtls metadata-mpris
+check_for_success x$1 --without-mpris-interface --with-ssl=mbedtls x mpris
+
+check_for_success x$1 --with-mpris-test-client --with-ssl=mbedtls
+check_for_success x$1 --without-mpris-test-client --with-ssl=mbedtls
+
+check_for_success x$1 --with-mqtt-client --with-ssl=mbedtls metadata-mqtt
+check_for_success x$1 --without-mqtt-client --with-ssl=mbedtls x mqtt
+
+check_for_success x$1 --with-configfiles '--sysconfdir=/etc --with-alsa --with-soxr --with-avahi --with-ssl=openssl --with-systemd' OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc
+check_for_success x$1 --without-configfiles '--sysconfdir=/etc --with-alsa --with-soxr --with-avahi --with-ssl=openssl --with-systemd' OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc
+
+check_for_success x$1 --with-systemd '--sysconfdir=/etc --with-alsa --with-soxr --with-avahi --with-ssl=openssl' OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc
+check_for_success x$1 --without-systemd '--sysconfdir=/etc --with-alsa --with-soxr --with-avahi --with-ssl=openssl' OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc
+check_for_success x$1 --with-systemv '--sysconfdir=/etc --with-libdaemon --with-alsa --with-soxr --with-avahi --with-ssl=openssl' OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc
+check_for_success x$1 --without-systemv '--sysconfdir=/etc --with-libdaemon --with-alsa --with-soxr --with-avahi --with-ssl=openssl' OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc
+
+cd $CWD
+echo "$TESTCOUNT tests completed."
\ No newline at end of file