]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Correct mistakes in configure.ac whereby it would interpret a --without-<option>...
authorMike Brady <4265913+mikebrady@users.noreply.github.com>
Sun, 24 Jan 2021 17:22:31 +0000 (17:22 +0000)
committerMike Brady <4265913+mikebrady@users.noreply.github.com>
Sun, 24 Jan 2021 17:22:31 +0000 (17:22 +0000)
1  2 
README.md
configure.ac
tests/configure_test.sh

diff --cc README.md
Simple merge
diff --cc configure.ac
index 8954916eb3e97d3fe3dbdae81b55df15309dbb78,341bb38900061d1fc16d3b03c4f432c4a30b4ff3..5898a17218cedffe721f09d5d36cb47be423c4a8
@@@ -2,7 -2,7 +2,7 @@@
  # Process this file with autoconf to produce a configure script.
  
  AC_PREREQ([2.50])
- AC_INIT([shairport-sync], [3.3.8rc2], [4265913+mikebrady@users.noreply.github.com])
 -AC_INIT([shairport-sync], [3.3.8d4], [4265913+mikebrady@users.noreply.github.com])
++AC_INIT([shairport-sync], [3.3.8rc3], [4265913+mikebrady@users.noreply.github.com])
  AM_INIT_AUTOMAKE
  AC_CONFIG_SRCDIR([shairport.c])
  AC_CONFIG_HEADERS([config.h])
@@@ -106,21 -120,20 +120,20 @@@ AC_ARG_WITH([configfiles],[AS_HELP_STRI
  AM_CONDITIONAL([INSTALL_CONFIG_FILES], [test "x$with_configfiles" = "xyes"])
  
  # Look for Apple ALAC flag
- AC_ARG_WITH(apple-alac, [  --with-apple-alac = include support for the Apple ALAC decoder],
-   [AC_MSG_RESULT(>>Including the Apple ALAC Decoder)
+ AC_ARG_WITH(apple-alac,[AS_HELP_STRING([--with-apple-alac],[include support for the Apple ALAC decoder])])
+ if test "x${with_apple_alac}"  = "xyes" ; then
    AC_DEFINE([CONFIG_APPLE_ALAC], 1, [Include support for using the Apple ALAC Decoder])
-   REQUESTED_APPLE_ALAC=1
    if  test "x${with_pkg_config}" = xyes ; then
-     PKG_CHECK_MODULES(
-       [ALAC], [alac],
-       [LIBS="${ALAC_LIBS} ${LIBS}"])
 -    PKG_CHECK_MODULES([alac], [alac], [LIBS="${alac_LIBS} ${LIBS}"], AC_MSG_ERROR(Apple ALAC Decoder support requires the ALAC library.))
++    PKG_CHECK_MODULES([alac], [alac], [LIBS="${alac_LIBS} ${LIBS}"], AC_MSG_ERROR(Apple ALAC Decoder support requires the ALAC library. See https://github.com/mikebrady/alac.))
    else
-     AC_CHECK_LIB([alac], [BitBufferInit], , AC_MSG_ERROR(Apple ALAC Decoder support requires the alac library!))
-   fi ])
- AM_CONDITIONAL([USE_APPLE_ALAC], [test "x$REQUESTED_APPLE_ALAC" = "x1"])
 -    AC_CHECK_LIB([alac], [BitBufferInit], , AC_MSG_ERROR(Apple ALAC Decoder support requires the ALAC library.))
++    AC_CHECK_LIB([alac], [BitBufferInit], , AC_MSG_ERROR(Apple ALAC Decoder support requires the ALAC library. See https://github.com/mikebrady/alac.))
+   fi
+ fi
+ AM_CONDITIONAL([USE_APPLE_ALAC], [test "x${with_apple_alac}" = "xyes"])
  
  # Look for piddir flag
- AC_ARG_WITH(piddir, [ --with-piddir=<pathname> Specify a pathname to a directory in which to write the PID file.], [
+ AC_ARG_WITH(piddir, [AS_HELP_STRING([--with-piddir=<pathname>],[Specify a pathname to a directory in which to write the PID file.])])
+ if  test "x${with_piddir}" != "x" ; then
        AC_MSG_CHECKING(--with-piddir argument)
        if test "x${with_piddir}" = x -o "x${with_piddir}" = xyes ; then
                AC_MSG_RESULT(not found)
@@@ -146,44 -157,40 +157,40 @@@ if test "x$with_libdaemon" = "x1"; the
                AC_CHECK_LIB([daemon],[daemon_fork], , AC_MSG_ERROR(libdaemon needed))
        fi
  fi
- AM_CONDITIONAL([USE_LIBDAEMON], [test "x$REQUESTED_LIBDAEMON" = "x1"])
+ AM_CONDITIONAL([USE_LIBDAEMON], [test "x$with_libdaemon" = "x1"])
  
  # Check --with-ssl=argument
- AC_ARG_WITH(ssl, [ choose --with-ssl=openssl, --with-ssl=mbedtls or --with-ssl=polarssl (deprecated) for encryption services  ], [
-   AC_MSG_CHECKING(encryption libraries chosen)
-   if test "x${with_ssl}" = x -o "x${with_ssl}" = xyes ; then
-     AC_MSG_RESULT(not found)
-     AC_MSG_ERROR(choose "openssl", "mbedtls" or "polarssl" encryption)
-   fi
-   if test "x${with_ssl}" = xopenssl ; then
-   AC_DEFINE([CONFIG_OPENSSL], 1, [Use the OpenSSL libraries for encryption and encoding and decoding])
-     if  test "x${with_pkg_config}" = xyes ; then
-       PKG_CHECK_MODULES(
-           [SSL], [libssl,libcrypto],
-           [LIBS="${SSL_LIBS} ${LIBS}"])
-     else
-       AC_CHECK_LIB([crypto], [main], , AC_MSG_ERROR(libcrypto selected but the library cannot be found!))
-       AC_CHECK_LIB([ssl], [main], , AC_MSG_ERROR(libssl selected but the library cannot be found!))
-     fi
-   elif test "x${with_ssl}" = xmbedtls ; then
-     AC_DEFINE([CONFIG_MBEDTLS], 1, [Use the mbed TLS libraries for encryption and encoding and decoding])
-     AC_CHECK_LIB([mbedtls],[mbedtls_ssl_init],,
+ AC_ARG_WITH(ssl, [AS_HELP_STRING([--with-ssl=<argument>],[choose --with-ssl=openssl, --with-ssl=mbedtls or --with-ssl=polarssl (deprecated) for encryption services  ])])
+ if test "x${with_ssl}" = xopenssl ; then
+       AC_DEFINE([CONFIG_OPENSSL], 1, [Use the OpenSSL libraries for encryption and encoding and decoding])
+       if  test "x${with_pkg_config}" = xyes ; then
+         PKG_CHECK_MODULES(
+             [SSL], [libssl,libcrypto],
+             [LIBS="${SSL_LIBS} ${LIBS}"])
+       else
+         AC_CHECK_LIB([crypto], [main], , AC_MSG_ERROR(libcrypto selected but the library cannot be found!))
+         AC_CHECK_LIB([ssl], [main], , AC_MSG_ERROR(libssl selected but the library cannot be found!))
+       fi
+ elif test "x${with_ssl}" = xmbedtls ; then
+       AC_DEFINE([CONFIG_MBEDTLS], 1, [Use the mbed TLS libraries for encryption and encoding and decoding])
+       AC_CHECK_LIB([mbedtls],[mbedtls_ssl_init],,
                [AC_MSG_ERROR([mbed tls support requires the mbedtls library -- libmbedtls-dev suggested],1)])
-     AC_CHECK_LIB([mbedcrypto], [mbedtls_entropy_func],,
-                 [AC_MSG_ERROR([mbed tls support requires the mbedcrypto library -- libmbedcrypto0 suggested],1)])
-     AC_CHECK_LIB([mbedx509], [mbedtls_pk_init],,
-                 [AC_MSG_ERROR([mbed tls support requires the mbedx509 library -- libmbedx509-0 suggested],1)])
-   elif test "x${with_ssl}" = xpolarssl ; then
-     AC_DEFINE([CONFIG_POLARSSL], 1, [Use the PolarSSL libraries for encryption and encoding and decoding])
-     AC_CHECK_LIB([polarssl],[ssl_init], , AC_MSG_ERROR(PolarSSL is selected but the library cannot be found and is deprecated. Consider selecting mbed TLS instead using --with-ssl=mbedtls.))
-   else
-     AC_MSG_ERROR(unknown option "${with_ssl}"." Please choose with "openssl", "mbedtls" or "polarssl")
-   fi
- ], )
+       AC_CHECK_LIB([mbedcrypto], [mbedtls_entropy_func],,
+                   [AC_MSG_ERROR([mbed tls support requires the mbedcrypto library -- libmbedcrypto0 suggested],1)])
+       AC_CHECK_LIB([mbedx509], [mbedtls_pk_init],,
+                   [AC_MSG_ERROR([mbed tls support requires the mbedx509 library -- libmbedx509-0 suggested],1)])
+ elif test "x${with_ssl}" = xpolarssl ; then
+       AC_DEFINE([CONFIG_POLARSSL], 1, [Use the PolarSSL libraries for encryption and encoding and decoding])
 -      AC_CHECK_LIB([polarssl],[ssl_init], , AC_MSG_ERROR(PolarSSL is selected but the library cannot be found and is deprecated. Consider selecting mbed TLS instead using --with-ssl=mbedtls.))
++      AC_CHECK_LIB([polarssl],[ssl_init], , AC_MSG_ERROR(PolarSSL is selected but the library libpolarssl-dev does not seem to be installed and is deprecated. Consider selecting mbedtls instead using --with-ssl=mbedtls.))
+ else
+       AC_MSG_ERROR(specify one of --with-ssl=openssl or --with-ssl=mbedtls or --with-ssl=polarssl)
+ fi
  
  # Look for soxr flag
- AC_ARG_WITH(soxr, [  --with-soxr = choose libsoxr for high-quality interpolation], [
-   AC_MSG_RESULT(>>Including support for soxr-based interpolation)
+ AC_ARG_WITH(soxr, [AS_HELP_STRING([--with-soxr],[choose libsoxr for high-quality interpolation])])
+ if test "x$with_soxr" = "xyes" ; then
    AC_DEFINE([CONFIG_SOXR], 1, [Include support for using the SoX Resampler library for interpolation])
    if  test "x${with_pkg_config}" = xyes ; then
      PKG_CHECK_MODULES(
@@@ -289,75 -294,70 +294,70 @@@ if test "x$with_pa" = "xyes" ; the
    else
      AC_CHECK_LIB([pulse-simple], [pa_simple_new], , AC_MSG_ERROR(PulseAudio support requires the libpulse library!))
      AC_CHECK_LIB([pulse], [pa_stream_peek], , AC_MSG_ERROR(PulseAudio support requires the libpulse-dev library.))
-   fi ])
- AM_CONDITIONAL([USE_PA], [test "x$REQUESTED_PA" = "x1"])
+   fi
+ fi
+ AM_CONDITIONAL([USE_PA], [test "x$with_pa" = "xyes"])
  
  # Look for Convolution flag
- AC_ARG_WITH(convolution, [  --with-convolution = choose audio DSP convolution support], [
-   AC_MSG_RESULT(>>Including 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, [  --with-dns_sd = choose dns_sd mDNS support], [
-   AC_MSG_RESULT(>>Including dns_sd for 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!)])
++  AC_SEARCH_LIBS([DNSServiceRefDeallocate], [dns_sd], , [AC_MSG_ERROR(dns_sd support requires the dns_sd library. Originally in Apple's mDNSResponder but also in libavahi-compat-libdnssd-dev.)])
+ fi
+ AM_CONDITIONAL([USE_DNS_SD], [test "x$with_dns_sd" = "xyes"])
  
  # Look for dbus flag
- AC_ARG_WITH(dbus-interface, [  --with-dbus-interface = include support for the native Shairport Sync D-Bus interface], [
-   AC_MSG_RESULT(>>Including dbus support)
-   AC_DEFINE([CONFIG_DBUS_INTERFACE], 1, [Include support for the native Shairport Sync D-Bus interface])
-   REQUESTED_DBUS=1
-   PKG_CHECK_MODULES([GIO_UNIX], [gio-unix-2.0 >= 2.30.0],[CFLAGS="${GIO_UNIX_CFLAGS} ${CFLAGS}" LIBS="${GIO_UNIX_LIBS} ${LIBS}"],[AC_MSG_ERROR(dbus 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, [  --with-dbus-test-client = compile dbus test client], [
-   AC_MSG_RESULT(>>Including dbus test client)
-   REQUESTED_DBUS_CLIENT=1
-   PKG_CHECK_MODULES([GIO_UNIX], [gio-unix-2.0 >= 2.30.0],[CFLAGS="${GIO_UNIX_CFLAGS} ${CFLAGS}" LIBS="${GIO_UNIX_LIBS} ${LIBS}"],[AC_MSG_ERROR(dbus 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, [  --with-mpris-interface = include support for a D-Bus interface conforming to the MPRIS standard], [
-   AC_MSG_RESULT(>>Including the MPRIS D-Bus Interface)
-   AC_DEFINE([CONFIG_MPRIS_INTERFACE], 1, [Include support for a D-Bus interface conforming to the MPRIS standard])
-   REQUESTED_MPRIS=1
-   PKG_CHECK_MODULES([GIO_UNIX], [gio-unix-2.0 >= 2.30.0],[CFLAGS="${GIO_UNIX_CFLAGS} ${CFLAGS}" LIBS="${GIO_UNIX_LIBS} ${LIBS}"],[AC_MSG_ERROR(dbus 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, [  --with-mpris-test-client = compile mpris test client], [
-   AC_MSG_RESULT(>>Including mpris test client)
-   REQUESTED_MPRIS_CLIENT=1
-   PKG_CHECK_MODULES([GIO_UNIX], [gio-unix-2.0 >= 2.30.0],[CFLAGS="${GIO_UNIX_CFLAGS} ${CFLAGS}" LIBS="${GIO_UNIX_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"])
+ 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!)])
+ fi
  
  # Look for mqtt flag
- AC_ARG_WITH(mqtt-client, [  --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])
-   AC_MSG_RESULT(>>Including MQTT support)
-   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$REQUESTED_AVAHI" != "x1"; then
-   AC_MSG_WARN([>>MQTT needs Avahi to allow remote control functionality. 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
-   AC_MSG_RESULT(>>Including extended metadata and DACP client support)
+ 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.])
index 0000000000000000000000000000000000000000,f1dccf9c1380519c44267ce94fc1e53a16f27533..a37477965597ff523f762bbc090e4edd4a7140f1
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,201 +1,207 @@@
 -              echo "\nError: \"$1\" not included in configuration string"
+ #!/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
++# To get it to work first time, and assuming you have already build Shairport Sync according to the standard
++# you need the following extra libraries in Linux:
++# libmbedtls-dev libpolarssl-dev libjack-dev libsndio-dev libao-dev libpulse-dev libsndfile1-dev libavahi-compat-libdnssd-dev libglib2.0-dev libmosquitto-dev
++# Also, you'll need to build the ALAC library -- see https://github.com/mikebrady/alac.
++
+ # 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\" is unexpectedly included in the configuration string"
++              echo "\nError: \"$1\" not included in configuration string. See \"../configure_test.log\"."
+               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 at build step with arg \"$A2\"."
++              echo "\nError: \"$1\" is unexpectedly included in the configuration string. See \"../configure_test.log\"."
+               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 configure step with arg \"$A2\"."
++                        echo "\nError at build step with arg \"$A2\". See \"../configure_test.log\"."
+                         exit 1
+                       fi
+                       echo -n "ok"
+               else
 -                      echo "\nError: configuration did not fail with arg \"$2\"."
++                      echo "\nError at configure step with arg \"$A2\". See \"../configure_test.log\"."
+                       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 "\Error running \"autoreconf -fi\""
++                      echo "\nError: configuration did not fail with arg \"$2\". See \"../configure_test.log\"."
+                       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 "$TESTCOUNT tests completed."
++      echo " error running \"autoreconf -fi\" -- see \"../configure_test.log\"."
+       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."
++