Correct mistakes in configure.ac whereby it would interpret a --without-<option> as a --with<option>. Improve some of the library hints.
This commit is contained in:
@@ -5,6 +5,7 @@
|
|||||||
/shairport-sync-mpris-test-client
|
/shairport-sync-mpris-test-client
|
||||||
|
|
||||||
*.o
|
*.o
|
||||||
|
*.log
|
||||||
/*~
|
/*~
|
||||||
*.xml~
|
*.xml~
|
||||||
/config.mk
|
/config.mk
|
||||||
|
|||||||
@@ -634,3 +634,7 @@ MQTT
|
|||||||
---------------
|
---------------
|
||||||
Please refer to the [MQTT INFO](https://github.com/mikebrady/shairport-sync/blob/master/MQTT.md) page for additional info on building, configuring and using MQTT to interface shairport-sync with common home automation systems (contributed by users).
|
Please refer to the [MQTT INFO](https://github.com/mikebrady/shairport-sync/blob/master/MQTT.md) page for additional info on building, configuring and using MQTT to interface shairport-sync with common home automation systems (contributed by users).
|
||||||
|
|
||||||
|
Packaging status
|
||||||
|
----------------
|
||||||
|
|
||||||
|
[](https://repology.org/project/shairport-sync/versions)
|
||||||
|
|||||||
+185
-186
@@ -2,7 +2,7 @@
|
|||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ([2.50])
|
AC_PREREQ([2.50])
|
||||||
AC_INIT([shairport-sync], [3.3.8rc2], [4265913+mikebrady@users.noreply.github.com])
|
AC_INIT([shairport-sync], [3.3.8rc3], [4265913+mikebrady@users.noreply.github.com])
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
AC_CONFIG_SRCDIR([shairport.c])
|
AC_CONFIG_SRCDIR([shairport.c])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
@@ -17,6 +17,10 @@ if test "z$with_os" = "z"; then
|
|||||||
fi
|
fi
|
||||||
with_os=`echo ${with_os} | tr '[[:upper:]]' '[[:lower:]]' `
|
with_os=`echo ${with_os} | tr '[[:upper:]]' '[[:lower:]]' `
|
||||||
|
|
||||||
|
if test "x${with_os}" != xlinux && "x${with_os}" != xfreebsd && "x${with_os}" != xdarwin ; then
|
||||||
|
AC_MSG_ERROR(--with-os=<arg> argument must linux, freebsd, openbsd or darwin)
|
||||||
|
fi
|
||||||
|
|
||||||
# Checks for programs.
|
# Checks for programs.
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_PROG_CXX
|
AC_PROG_CXX
|
||||||
@@ -40,9 +44,9 @@ AM_CONDITIONAL([BUILD_FOR_OPENBSD], [test "x${with_os}" = xopenbsd ])
|
|||||||
|
|
||||||
##### Some build systems are not fully using pkg-config, so we can use the flag ${with_pkg_config} on a case-by-case basis
|
##### Some build systems are not fully using pkg-config, so we can use the flag ${with_pkg_config} on a case-by-case basis
|
||||||
##### to control how to deal with them
|
##### to control how to deal with them
|
||||||
|
##### Note -- this flag is sometimes ignored, especially for newer packages
|
||||||
|
|
||||||
AC_ARG_WITH([pkg_config],
|
AC_ARG_WITH([pkg_config],[AS_HELP_STRING([--with-pkg-config],[use pkg-config to find libraries])],[],[with_pkg_config=yes])
|
||||||
[ --with-pkg-config = use pkg-config to find libraries], ,[with_pkg_config=yes])
|
|
||||||
|
|
||||||
##### The following check for the pthreads library doesn't put the compiler into the correct pthread mode
|
##### The following check for the pthreads library doesn't put the compiler into the correct pthread mode
|
||||||
##### so we add the -pthread compilation flag in AMFLAGS in the Makefile.am as well.
|
##### so we add the -pthread compilation flag in AMFLAGS in the Makefile.am as well.
|
||||||
@@ -50,94 +54,101 @@ AC_ARG_WITH([pkg_config],
|
|||||||
AC_CHECK_LIB([pthread],[pthread_create], , AC_MSG_ERROR(pthread library needed))
|
AC_CHECK_LIB([pthread],[pthread_create], , AC_MSG_ERROR(pthread library needed))
|
||||||
AC_CHECK_LIB([m],[exp], , AC_MSG_ERROR(maths library needed))
|
AC_CHECK_LIB([m],[exp], , AC_MSG_ERROR(maths library needed))
|
||||||
|
|
||||||
AC_MSG_RESULT(>>Including libpopt)
|
|
||||||
if test "x${with_pkg_config}" = xyes ; then
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
PKG_CHECK_MODULES(
|
PKG_CHECK_MODULES(
|
||||||
[POPT], [popt],
|
[popt], [popt],
|
||||||
[CFLAGS="${POPT_CFLAGS} ${CFLAGS}"
|
[CFLAGS="${popt_CFLAGS} ${CFLAGS}"
|
||||||
LIBS="${POPT_LIBS} ${LIBS}"])
|
LIBS="${popt_LIBS} ${LIBS}"], AC_MSG_ERROR(libpopt needed))
|
||||||
else
|
else
|
||||||
AC_CHECK_LIB([popt],[poptGetContext], , AC_MSG_ERROR(libpopt needed))
|
AC_CHECK_LIB([popt],[poptGetContext], , AC_MSG_ERROR(libpopt needed))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([dummy],[ --with-dummy = include the dummy audio back end ],[AC_MSG_RESULT(>>Including the dummy audio back end) AC_DEFINE([CONFIG_DUMMY], 1, [Needed by the compiler.]) ], )
|
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, [Include a fake audio backend.])
|
||||||
|
fi
|
||||||
AM_CONDITIONAL([USE_DUMMY], [test "x$with_dummy" = "xyes" ])
|
AM_CONDITIONAL([USE_DUMMY], [test "x$with_dummy" = "xyes" ])
|
||||||
|
|
||||||
AC_ARG_WITH([stdout],[ --with-stdout = include the stdout audio back end ],[ AC_MSG_RESULT(>>Including the stdout audio back end) AC_DEFINE([CONFIG_STDOUT], 1, [Needed by the compiler.]) ], )
|
AC_ARG_WITH([stdout],[AS_HELP_STRING([--with-stdout],[include the stdout audio back end])])
|
||||||
AM_CONDITIONAL([USE_STDOUT], [test "x$with_stdout" = "xyes" ])
|
if test "x$with_stdout" = "xyes" ; then
|
||||||
|
AC_MSG_RESULT(include the stdout audio back end)
|
||||||
|
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],[ --with-pipe = include the pipe audio back end ],[ AC_MSG_RESULT(>>Including the pipe audio back end) AC_DEFINE([CONFIG_PIPE], 1, [Needed by the compiler.]) ], )
|
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, [Include an audio backend to output to a unix pipe.])
|
||||||
|
fi
|
||||||
AM_CONDITIONAL([USE_PIPE], [test "x$with_pipe" = "xyes" ])
|
AM_CONDITIONAL([USE_PIPE], [test "x$with_pipe" = "xyes" ])
|
||||||
|
|
||||||
# Check to see if we should include the System V initscript
|
# Check to see if we should include the System V initscript
|
||||||
|
|
||||||
AC_ARG_WITH([systemv],
|
AC_ARG_WITH([systemv],[AS_HELP_STRING([--with-systemv],[install a System V startup script during a make install])])
|
||||||
[ --with-systemv = install a System V startup script during a make install], , )
|
|
||||||
AM_CONDITIONAL([INSTALL_SYSTEMV], [test "x$with_systemv" = "xyes"])
|
AM_CONDITIONAL([INSTALL_SYSTEMV], [test "x$with_systemv" = "xyes"])
|
||||||
|
|
||||||
# Check to see if we should include the systemd stuff to define it as a service
|
# Check to see if we should include the systemd stuff to define it as a service
|
||||||
|
|
||||||
AC_ARG_WITH([systemd],
|
AC_ARG_WITH([systemd],[AS_HELP_STRING([--with-systemd],[install a systemd startup script during a make install])])
|
||||||
[ --with-systemd = install a systemd startup script during a make install], , )
|
|
||||||
AM_CONDITIONAL([INSTALL_SYSTEMD], [test "x$with_systemd" = "xyes"])
|
AM_CONDITIONAL([INSTALL_SYSTEMD], [test "x$with_systemd" = "xyes"])
|
||||||
|
|
||||||
AC_ARG_WITH([freebsd-service],
|
AC_ARG_WITH([freebsd-service],[AS_HELP_STRING([--with-freebsd-service],[install a FreeBSD startup script during a make install])])
|
||||||
[ --with-freebsd-service = install a FreeBSD startup script during a make install], , )
|
|
||||||
AM_CONDITIONAL([INSTALL_FREEBSD_SERVICE], [test "x$with_freebsd_service" = "xyes"])
|
AM_CONDITIONAL([INSTALL_FREEBSD_SERVICE], [test "x$with_freebsd_service" = "xyes"])
|
||||||
|
|
||||||
AC_ARG_WITH([cygwin-service],
|
AC_ARG_WITH([cygwin-service],[AS_HELP_STRING([--with-cygwin-service],[install a CYGWIN config script during a make install])])
|
||||||
[ --with-cygwin-service = install a CYGWIN config script during a make install], , )
|
|
||||||
AM_CONDITIONAL([INSTALL_CYGWIN_SERVICE], [test "x$with_cygwin_service" = "xyes"])
|
AM_CONDITIONAL([INSTALL_CYGWIN_SERVICE], [test "x$with_cygwin_service" = "xyes"])
|
||||||
|
|
||||||
AC_ARG_WITH([external-mdns],[ --with-external-mdns = support the use of 'avahi-publish-service' or 'mDNSPublish' to advertise the service on Bonjour/ZeroConf ],[ AC_MSG_RESULT(>>Including external mdns support) AC_DEFINE([CONFIG_EXTERNAL_MDNS], 1, [Needed by the compiler.]) ], )
|
AC_ARG_WITH([external-mdns],[AS_HELP_STRING([--with-external-mdns],[support the use of 'avahi-publish-service' or 'mDNSPublish' to advertise the service on Bonjour/ZeroConf])])
|
||||||
|
if test "x$with_external_mdns" = xyes ; then
|
||||||
|
AC_MSG_RESULT(include external mdns support)
|
||||||
|
AC_DEFINE([CONFIG_EXTERNAL_MDNS], 1, [Use 'avahi-publish-service' or 'mDNSPublish' to advertise.])
|
||||||
|
fi
|
||||||
AM_CONDITIONAL([USE_EXTERNAL_MDNS], [test "x$with_external_mdns" = "xyes" ])
|
AM_CONDITIONAL([USE_EXTERNAL_MDNS], [test "x$with_external_mdns" = "xyes" ])
|
||||||
|
|
||||||
# Add the libconfig package
|
# Add the libconfig package
|
||||||
if test "x${with_pkg_config}" = xyes ; then
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
PKG_CHECK_MODULES(
|
PKG_CHECK_MODULES(
|
||||||
[LIBCONFIG], [libconfig],
|
[libconfig], [libconfig],
|
||||||
[LIBS="${LIBCONFIG_LIBS} ${LIBS}"])
|
[LIBS="${libconfig_LIBS} ${LIBS}"], AC_MSG_ERROR([libconfig library needed]))
|
||||||
else
|
else
|
||||||
AC_CHECK_LIB([config],[config_init], , AC_MSG_ERROR([libconfig library needed]))
|
AC_CHECK_LIB([config],[config_init], , AC_MSG_ERROR([libconfig library needed]))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([configfiles],
|
AC_ARG_WITH([configfiles],[AS_HELP_STRING([--with-configfiles],[install configuration files during a make install])], ,[with_configfiles=yes])
|
||||||
[ --with-configfiles = install configuration files during a make install ], ,[with_configfiles=yes])
|
|
||||||
AM_CONDITIONAL([INSTALL_CONFIG_FILES], [test "x$with_configfiles" = "xyes"])
|
AM_CONDITIONAL([INSTALL_CONFIG_FILES], [test "x$with_configfiles" = "xyes"])
|
||||||
|
|
||||||
# Look for Apple ALAC flag
|
# Look for Apple ALAC flag
|
||||||
AC_ARG_WITH(apple-alac, [ --with-apple-alac = include support for the Apple ALAC decoder],
|
AC_ARG_WITH(apple-alac,[AS_HELP_STRING([--with-apple-alac],[include support for the Apple ALAC decoder])])
|
||||||
[AC_MSG_RESULT(>>Including 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])
|
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
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
PKG_CHECK_MODULES(
|
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.))
|
||||||
[ALAC], [alac],
|
|
||||||
[LIBS="${ALAC_LIBS} ${LIBS}"])
|
|
||||||
else
|
else
|
||||||
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$REQUESTED_APPLE_ALAC" = "x1"])
|
fi
|
||||||
|
AM_CONDITIONAL([USE_APPLE_ALAC], [test "x${with_apple_alac}" = "xyes"])
|
||||||
|
|
||||||
# Look for piddir flag
|
# 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)
|
AC_MSG_CHECKING(--with-piddir argument)
|
||||||
if test "x${with_piddir}" = x -o "x${with_piddir}" = xyes ; then
|
if test "x${with_piddir}" = x -o "x${with_piddir}" = xyes ; then
|
||||||
AC_MSG_RESULT(not found)
|
AC_MSG_RESULT(not found)
|
||||||
AC_MSG_ERROR(when you use the --with-piddir directive you must specify the pathname of the directory into which the PID file will be written)
|
AC_MSG_ERROR(when you use the --with-piddir directive you must specify the pathname of the directory into which the PID file will be written)
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT(${with_piddir})
|
AC_MSG_RESULT(${with_piddir})
|
||||||
REQUESTED_CUSTOMPIDDIR=1
|
AC_SUBST(CUSTOM_PID_DIR,["${with_piddir}"])
|
||||||
AC_SUBST(CUSTOM_PID_DIR,["${with_piddir}"])
|
AC_DEFINE([DEFINED_CUSTOM_PID_DIR],1,[Hook up special proc to libdaemon to point to this directory])
|
||||||
AC_DEFINE([DEFINED_CUSTOM_PID_DIR],1,[Hook up special proc to libdaemon to point to this directory])], )
|
fi
|
||||||
AM_CONDITIONAL([USE_CUSTOMPIDDIR], [test "x$REQUESTED_CUSTOMPIDDIR" = "x1"])
|
AM_CONDITIONAL([USE_CUSTOMPIDDIR], [ test "x${with_piddir}" != "x" ])
|
||||||
|
|
||||||
|
|
||||||
# Look for libdaemon
|
# Look for libdaemon
|
||||||
AC_ARG_WITH(libdaemon, [--with-libdaemon = include support for daemonising in non-systemd systems], REQUESTED_LIBDAEMON=1, )
|
AC_ARG_WITH(libdaemon,[AS_HELP_STRING([--with-libdaemon],[include support for daemonising in non-systemd systems])])
|
||||||
if test "x$REQUESTED_LIBDAEMON" = "x1"; then
|
if test "x$with_libdaemon" = "x1"; then
|
||||||
AC_MSG_RESULT(>>Including libdaemon support for older systems)
|
AC_DEFINE([CONFIG_LIBDAEMON], 1, [Include libdaemon for daemonising in non-systemd systems])
|
||||||
AC_DEFINE([CONFIG_LIBDAEMON], 1, [Include libdaemon])
|
|
||||||
if test "x${with_pkg_config}" = xyes ; then
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
PKG_CHECK_MODULES(
|
PKG_CHECK_MODULES(
|
||||||
[DAEMON], [libdaemon],
|
[DAEMON], [libdaemon],
|
||||||
@@ -146,49 +157,45 @@ if test "x$REQUESTED_LIBDAEMON" = "x1"; then
|
|||||||
AC_CHECK_LIB([daemon],[daemon_fork], , AC_MSG_ERROR(libdaemon needed))
|
AC_CHECK_LIB([daemon],[daemon_fork], , AC_MSG_ERROR(libdaemon needed))
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL([USE_LIBDAEMON], [test "x$REQUESTED_LIBDAEMON" = "x1"])
|
AM_CONDITIONAL([USE_LIBDAEMON], [test "x$with_libdaemon" = "x1"])
|
||||||
|
|
||||||
# Check --with-ssl=argument
|
# Check --with-ssl=argument
|
||||||
AC_ARG_WITH(ssl, [ choose --with-ssl=openssl, --with-ssl=mbedtls or --with-ssl=polarssl (deprecated) for encryption services ], [
|
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 ])])
|
||||||
AC_MSG_CHECKING(encryption libraries chosen)
|
|
||||||
if test "x${with_ssl}" = x -o "x${with_ssl}" = xyes ; then
|
if test "x${with_ssl}" = xopenssl ; then
|
||||||
AC_MSG_RESULT(not found)
|
AC_DEFINE([CONFIG_OPENSSL], 1, [Use the OpenSSL libraries for encryption and encoding and decoding])
|
||||||
AC_MSG_ERROR(choose "openssl", "mbedtls" or "polarssl" encryption)
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
fi
|
PKG_CHECK_MODULES(
|
||||||
if test "x${with_ssl}" = xopenssl ; then
|
[SSL], [libssl,libcrypto],
|
||||||
AC_DEFINE([CONFIG_OPENSSL], 1, [Use the OpenSSL libraries for encryption and encoding and decoding])
|
[LIBS="${SSL_LIBS} ${LIBS}"])
|
||||||
if test "x${with_pkg_config}" = xyes ; then
|
else
|
||||||
PKG_CHECK_MODULES(
|
AC_CHECK_LIB([crypto], [main], , AC_MSG_ERROR(libcrypto selected but the library cannot be found!))
|
||||||
[SSL], [libssl,libcrypto],
|
AC_CHECK_LIB([ssl], [main], , AC_MSG_ERROR(libssl selected but the library cannot be found!))
|
||||||
[LIBS="${SSL_LIBS} ${LIBS}"])
|
fi
|
||||||
else
|
elif test "x${with_ssl}" = xmbedtls ; then
|
||||||
AC_CHECK_LIB([crypto], [main], , AC_MSG_ERROR(libcrypto selected but the library cannot be found!))
|
AC_DEFINE([CONFIG_MBEDTLS], 1, [Use the mbed TLS libraries for encryption and encoding and decoding])
|
||||||
AC_CHECK_LIB([ssl], [main], , AC_MSG_ERROR(libssl selected but the library cannot be found!))
|
AC_CHECK_LIB([mbedtls],[mbedtls_ssl_init],,
|
||||||
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_MSG_ERROR([mbed tls support requires the mbedtls library -- libmbedtls-dev suggested],1)])
|
||||||
AC_CHECK_LIB([mbedcrypto], [mbedtls_entropy_func],,
|
AC_CHECK_LIB([mbedcrypto], [mbedtls_entropy_func],,
|
||||||
[AC_MSG_ERROR([mbed tls support requires the mbedcrypto library -- libmbedcrypto0 suggested],1)])
|
[AC_MSG_ERROR([mbed tls support requires the mbedcrypto library -- libmbedcrypto0 suggested],1)])
|
||||||
AC_CHECK_LIB([mbedx509], [mbedtls_pk_init],,
|
AC_CHECK_LIB([mbedx509], [mbedtls_pk_init],,
|
||||||
[AC_MSG_ERROR([mbed tls support requires the mbedx509 library -- libmbedx509-0 suggested],1)])
|
[AC_MSG_ERROR([mbed tls support requires the mbedx509 library -- libmbedx509-0 suggested],1)])
|
||||||
elif test "x${with_ssl}" = xpolarssl ; then
|
elif test "x${with_ssl}" = xpolarssl ; then
|
||||||
AC_DEFINE([CONFIG_POLARSSL], 1, [Use the PolarSSL libraries for encryption and encoding and decoding])
|
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
|
else
|
||||||
AC_MSG_ERROR(unknown option "${with_ssl}"." Please choose with "openssl", "mbedtls" or "polarssl")
|
AC_MSG_ERROR(specify one of --with-ssl=openssl or --with-ssl=mbedtls or --with-ssl=polarssl)
|
||||||
fi
|
fi
|
||||||
], )
|
|
||||||
|
|
||||||
# Look for soxr flag
|
# 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])
|
AC_DEFINE([CONFIG_SOXR], 1, [Include support for using the SoX Resampler library for interpolation])
|
||||||
if test "x${with_pkg_config}" = xyes ; then
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
PKG_CHECK_MODULES(
|
PKG_CHECK_MODULES(
|
||||||
[SOXR], [soxr],
|
[soxr], [soxr],
|
||||||
[LIBS="${SOXR_LIBS} ${LIBS}"],
|
[LIBS="${soxr_LIBS} ${LIBS}"],
|
||||||
[AC_MSG_ERROR(soxr support requires the libsoxr library -- libsoxr-dev suggested!)])
|
[AC_MSG_ERROR(soxr support requires the libsoxr library -- libsoxr-dev suggested!)])
|
||||||
else
|
else
|
||||||
AC_CHECK_LIB([avutil],[av_get_cpu_flags])
|
AC_CHECK_LIB([avutil],[av_get_cpu_flags])
|
||||||
@@ -199,89 +206,87 @@ AC_ARG_WITH(soxr, [ --with-soxr = choose libsoxr for high-quality interpolation
|
|||||||
AC_CHECK_LIB([soxr],[soxr_create], , AC_MSG_ERROR(soxr support requires the libsoxr library -- libsoxr-dev suggested!))
|
AC_CHECK_LIB([soxr],[soxr_create], , AC_MSG_ERROR(soxr support requires the libsoxr library -- libsoxr-dev suggested!))
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
], )
|
fi
|
||||||
|
|
||||||
# Look for metadata flag and resolve it further down the script
|
# Look for metadata flag and resolve it further down the script
|
||||||
AC_ARG_WITH(metadata, [ --with-metadata = include support for a metadata feed], [
|
AC_ARG_WITH(metadata,[AS_HELP_STRING([--with-metadata],[include support for a metadata feed])])
|
||||||
REQUESTED_METADATA=1], )
|
|
||||||
|
|
||||||
# What follows is a bit messy, because if the relevant library is requested, a compiler flag is defined, a file is included in the compilation
|
# What follows is a bit messy, because if the relevant library is requested, a compiler flag is defined, a file is included in the compilation
|
||||||
# and the relevant link files are added.
|
# and the relevant link files are added.
|
||||||
|
|
||||||
# Look for avahi flag
|
# Look for avahi flag
|
||||||
AC_ARG_WITH(avahi, [ --with-avahi = choose Avahi-based mDNS support], [
|
AC_ARG_WITH(avahi, [AS_HELP_STRING([--with-avahi],[choose Avahi-based mDNS support])])
|
||||||
AC_MSG_RESULT(>>Including Avahi mDNS support)
|
if test "x$with_avahi" = "xyes" ; then
|
||||||
REQUESTED_AVAHI=1
|
AC_DEFINE([CONFIG_AVAHI], 1, [Include Avahi-based mDNS support.])
|
||||||
AC_DEFINE([CONFIG_AVAHI], 1, [Needed by the compiler.])
|
|
||||||
AC_CHECK_LIB([avahi-client], [avahi_client_new], , AC_MSG_ERROR(Avahi support requires the avahi-client library!))
|
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!))], )
|
AC_CHECK_LIB([avahi-common],[avahi_strerror], , AC_MSG_ERROR(Avahi support requires the avahi-common library!))
|
||||||
AM_CONDITIONAL([USE_AVAHI], [test "x$REQUESTED_AVAHI" = "x1"])
|
fi
|
||||||
|
AM_CONDITIONAL([USE_AVAHI], [test "x$with_avahi" = "xyes"])
|
||||||
|
|
||||||
# Look for tinysvcmdns flag
|
# Look for tinysvcmdns flag
|
||||||
AC_ARG_WITH(tinysvcmdns, [ --with-tinysvcmdns = choose tinysvcmdns-based mDNS support], [
|
AC_ARG_WITH(tinysvcmdns, [AS_HELP_STRING([--with-tinysvcmdns],[choose tinysvcmdns-based mDNS support])])
|
||||||
AC_MSG_RESULT(>>Including tinysvcmdns mDNS support)
|
if test "x$with_tinysvcmdns" = "xyes" ; then
|
||||||
REQUESTED_TINYSVCMDNS=1
|
AC_DEFINE([CONFIG_TINYSVCMDNS], 1, [Include TinySVCmDNS-based mDNS support])
|
||||||
AC_DEFINE([CONFIG_TINYSVCMDNS], 1, [Needed by the compiler.])], )
|
fi
|
||||||
AM_CONDITIONAL([USE_TINYSVCMDNS], [test "x$REQUESTED_TINYSVCMDNS" = "x1"])
|
AM_CONDITIONAL([USE_TINYSVCMDNS], [test "x$with_tinysvcmdns" = "xyes"])
|
||||||
|
|
||||||
# Look for ALSA flag
|
# Look for ALSA flag
|
||||||
AC_ARG_WITH(alsa, [ --with-alsa = choose ALSA API support (GNU/Linux only)],
|
AC_ARG_WITH(alsa, [AS_HELP_STRING([--with-alsa],[choose ALSA API support (GNU/Linux only)])])
|
||||||
[AC_MSG_RESULT(>>Including an ALSA back end)
|
if test "x$with_alsa" = "xyes" ; then
|
||||||
REQUESTED_ALSA=1
|
|
||||||
AC_DEFINE([CONFIG_ALSA], 1, [Needed by the compiler.])
|
AC_DEFINE([CONFIG_ALSA], 1, [Needed by the compiler.])
|
||||||
if test "x${with_pkg_config}" = xyes ; then
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
PKG_CHECK_MODULES(
|
PKG_CHECK_MODULES(
|
||||||
[ALSA], [alsa],
|
[alsa], [alsa],
|
||||||
[LIBS="${ALSA_LIBS} ${LIBS}"])
|
[LIBS="${alsa_LIBS} ${LIBS}"])
|
||||||
else
|
else
|
||||||
AC_CHECK_LIB([asound], [snd_pcm_open], , AC_MSG_ERROR(ALSA support requires the asound library!))
|
AC_CHECK_LIB([asound], [snd_pcm_open], , AC_MSG_ERROR(ALSA support requires the asound library!))
|
||||||
fi ])
|
fi
|
||||||
AM_CONDITIONAL([USE_ALSA], [test "x$REQUESTED_ALSA" = "x1"])
|
fi
|
||||||
|
AM_CONDITIONAL([USE_ALSA], [test "x$with_alsa" = "xyes"])
|
||||||
|
|
||||||
# Look for jack flag
|
# Look for jack flag
|
||||||
AC_ARG_WITH(jack, [ --with-jack = include a Jack Audio Connection Kit (jack) backend], [
|
AC_ARG_WITH(jack, [AS_HELP_STRING([--with-jack],[include a Jack Audio Connection Kit (jack) backend])])
|
||||||
AC_MSG_RESULT(>>Including a Jack Audio Connection Kit (jack) back end)
|
if test "x$with_jack" = "xyes" ; then
|
||||||
REQUESTED_JACK=1
|
AC_DEFINE([CONFIG_JACK], 1, [Include a Jack Audio Connection Kit (jack) audio backend])
|
||||||
AC_DEFINE([CONFIG_JACK], 1, [Needed by the compiler.])
|
|
||||||
if test "x${with_pkg_config}" = xyes ; then
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
PKG_CHECK_MODULES(
|
PKG_CHECK_MODULES(
|
||||||
[JACK], [jack],
|
[jack], [jack],
|
||||||
[LIBS="${JACK_LIBS} ${LIBS}"],
|
[LIBS="${jack_LIBS} ${LIBS}"],
|
||||||
[AC_MSG_ERROR(Jack Audio Connection Kit support requires the jack library -- libjack-dev suggested!)])
|
[AC_MSG_ERROR(Jack Audio Connection Kit support requires the jack library -- libjack-dev suggested!)])
|
||||||
else
|
else
|
||||||
AC_CHECK_LIB([jack], [jack_client_open], , AC_MSG_ERROR(Jack Audio Connection Kit support requires the jack library -- libjack-dev suggested!))
|
AC_CHECK_LIB([jack], [jack_client_open], , AC_MSG_ERROR(Jack Audio Connection Kit support requires the jack library -- libjack-dev suggested!))
|
||||||
fi ])
|
fi
|
||||||
AM_CONDITIONAL([USE_JACK], [test "x$REQUESTED_JACK" = "x1"])
|
fi
|
||||||
|
AM_CONDITIONAL([USE_JACK], [test "x$with_jack" = "xyes"])
|
||||||
|
|
||||||
# Look for SNDIO flag
|
# Look for SNDIO flag
|
||||||
AC_ARG_WITH(sndio, [ --with-sndio = choose SNDIO API support], [
|
AC_ARG_WITH(sndio, [AS_HELP_STRING([--with-sndio],[choose SNDIO API support])])
|
||||||
AC_MSG_RESULT(>>Including a SNDIO back end)
|
if test "x$with_sndio" = "xyes" ; then
|
||||||
REQUESTED_SNDIO=1
|
AC_DEFINE([CONFIG_SNDIO], 1, [Include a sndio-compatible audio backend.])
|
||||||
AC_DEFINE([CONFIG_SNDIO], 1, [Needed by the compiler.])
|
AC_CHECK_LIB([sndio], [sio_open], , AC_MSG_ERROR(SNDIO support requires the sndio library -- libsndio-dev suggested))
|
||||||
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$REQUESTED_SNDIO" = "x1"])
|
AM_CONDITIONAL([USE_SNDIO], [test "x$with_sndio" = "xyes"])
|
||||||
|
|
||||||
# Look for AO flag
|
# Look for AO flag
|
||||||
AC_ARG_WITH(ao, [ --with-ao = choose AO (Audio Output?) API support. N.B. no synchronisation -- so underflow or overflow is inevitable!], [
|
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!])])
|
||||||
AC_MSG_RESULT(>>Including an AO back end. N.B. no synchronisation -- so underflow or overflow is inevitable!)
|
if test "x$with_ao" = "xyes" ; then
|
||||||
REQUESTED_AO=1
|
AC_DEFINE([CONFIG_AO], 1, [Include an AO-compatible audio backend.])
|
||||||
AC_DEFINE([CONFIG_AO], 1, [Needed by the compiler.])
|
AC_CHECK_LIB([ao], [ao_initialize], , AC_MSG_ERROR(AO support requires the ao library -- libao-dev suggested))
|
||||||
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$REQUESTED_AO" = "x1"])
|
AM_CONDITIONAL([USE_AO], [test "x$with_ao" = "xyes"])
|
||||||
|
|
||||||
# Look for Soundio flag
|
# Look for Soundio flag
|
||||||
AC_ARG_WITH(soundio, [ --with-soundio = choose soundio API support.], [
|
AC_ARG_WITH(soundio, [AS_HELP_STRING([--with-soundio],[choose soundio API support.])])
|
||||||
AC_MSG_RESULT(>>Including an soundio back end)
|
if test "x$with_soundio" = "xyes" ; then
|
||||||
REQUESTED_SOUNDIO=1
|
AC_DEFINE([CONFIG_SOUNDIO], 1, [Include SoundIO Support.])
|
||||||
AC_DEFINE([CONFIG_SOUNDIO], 1, [Needed by the compiler.])
|
AC_CHECK_LIB([soundio], [soundio_create], , AC_MSG_ERROR(soundio support requires the soundio library -- libsoundio-dev suggested))
|
||||||
AC_CHECK_LIB([soundio], [soundio_create], , AC_MSG_ERROR(soundio support requires the soundio library -- libsoundio-dev suggested))], )
|
fi
|
||||||
AM_CONDITIONAL([USE_SOUNDIO], [test "x$REQUESTED_SOUNDIO" = "x1"])
|
AM_CONDITIONAL([USE_SOUNDIO], [test "x$with_soundio" = "xyes"])
|
||||||
|
|
||||||
# Look for pulseaudio flag
|
# Look for pulseaudio flag
|
||||||
AC_ARG_WITH(pa, [ --with-pa = choose PulseAudio support.], [
|
AC_ARG_WITH(pa, [AS_HELP_STRING([--with-pa],[choose PulseAudio support.])])
|
||||||
AC_MSG_RESULT(>>Including a PulseAudio back end.)
|
if test "x$with_pa" = "xyes" ; then
|
||||||
REQUESTED_PA=1
|
AC_DEFINE([CONFIG_PA], 1, [Include PulseAudio support.])
|
||||||
AC_DEFINE([CONFIG_PA], 1, [Needed by the compiler.])
|
|
||||||
if test "x${with_pkg_config}" = xyes ; then
|
if test "x${with_pkg_config}" = xyes ; then
|
||||||
PKG_CHECK_MODULES(
|
PKG_CHECK_MODULES(
|
||||||
[PULSEAUDIO], [libpulse >= 0.9.2],
|
[PULSEAUDIO], [libpulse >= 0.9.2],
|
||||||
@@ -289,75 +294,70 @@ AC_ARG_WITH(pa, [ --with-pa = choose PulseAudio support.], [
|
|||||||
else
|
else
|
||||||
AC_CHECK_LIB([pulse-simple], [pa_simple_new], , AC_MSG_ERROR(PulseAudio support requires the libpulse library!))
|
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.))
|
AC_CHECK_LIB([pulse], [pa_stream_peek], , AC_MSG_ERROR(PulseAudio support requires the libpulse-dev library.))
|
||||||
fi ])
|
fi
|
||||||
AM_CONDITIONAL([USE_PA], [test "x$REQUESTED_PA" = "x1"])
|
fi
|
||||||
|
AM_CONDITIONAL([USE_PA], [test "x$with_pa" = "xyes"])
|
||||||
|
|
||||||
# Look for Convolution flag
|
# Look for Convolution flag
|
||||||
AC_ARG_WITH(convolution, [ --with-convolution = choose audio DSP convolution support], [
|
AC_ARG_WITH(convolution, [AS_HELP_STRING([--with-convolution],[choose audio DSP convolution support])])
|
||||||
AC_MSG_RESULT(>>Including convolution support)
|
if test "x$with_convolution" = "xyes" ; then
|
||||||
REQUESTED_CONVOLUTION=1
|
|
||||||
AM_INIT_AUTOMAKE([subdir-objects])
|
AM_INIT_AUTOMAKE([subdir-objects])
|
||||||
AC_DEFINE([CONFIG_CONVOLUTION], 1, [Needed by the compiler.])
|
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!))], )
|
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"])
|
fi
|
||||||
|
AM_CONDITIONAL([USE_CONVOLUTION], [test "x$with_convolution" = "xyes"])
|
||||||
|
|
||||||
# Look for dns_sd flag
|
# Look for dns_sd flag
|
||||||
AC_ARG_WITH(dns_sd, [ --with-dns_sd = choose dns_sd mDNS support], [
|
AC_ARG_WITH(dns_sd, [AS_HELP_STRING([--with-dns_sd],[choose dns_sd mDNS support])])
|
||||||
AC_MSG_RESULT(>>Including dns_sd for mDNS support)
|
if test "x$with_dns_sd" = "xyes" ; then
|
||||||
REQUESTED_DNS_SD=1
|
AC_DEFINE([CONFIG_DNS_SD], 1, [Include dns_sd mDNS support.])
|
||||||
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. Originally in Apple's mDNSResponder but also in libavahi-compat-libdnssd-dev.)])
|
||||||
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$REQUESTED_DNS_SD" = "x1"])
|
AM_CONDITIONAL([USE_DNS_SD], [test "x$with_dns_sd" = "xyes"])
|
||||||
|
|
||||||
# Look for dbus flag
|
# Look for dbus flag
|
||||||
AC_ARG_WITH(dbus-interface, [ --with-dbus-interface = include support for the native Shairport Sync D-Bus interface], [
|
AC_ARG_WITH(dbus-interface, [AS_HELP_STRING([--with-dbus-interface],[include support for the native Shairport Sync D-Bus interface])])
|
||||||
AC_MSG_RESULT(>>Including dbus support)
|
if test "x$with_dbus_interface" = "xyes" ; then
|
||||||
AC_DEFINE([CONFIG_DBUS_INTERFACE], 1, [Include support for the native Shairport Sync D-Bus interface])
|
AC_DEFINE([CONFIG_DBUS_INTERFACE], 1, [Support the native Shairport Sync D-Bus interface])
|
||||||
REQUESTED_DBUS=1
|
# remember to include glib, below
|
||||||
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!)])
|
fi
|
||||||
], )
|
AM_CONDITIONAL([USE_DBUS], [test "x$with_dbus_interface" = "xyes"])
|
||||||
AM_CONDITIONAL([USE_DBUS], [test "x$REQUESTED_DBUS" = "x1"])
|
|
||||||
|
|
||||||
# Look for dbus test client flag
|
# Look for dbus test client flag
|
||||||
AC_ARG_WITH(dbus-test-client, [ --with-dbus-test-client = compile dbus test client], [
|
AC_ARG_WITH(dbus-test-client, [AS_HELP_STRING([--with-dbus-test-client],[compile a D-Bus test client application])])
|
||||||
AC_MSG_RESULT(>>Including dbus test client)
|
# remember to include glib, below
|
||||||
REQUESTED_DBUS_CLIENT=1
|
AM_CONDITIONAL([USE_DBUS_CLIENT], [test "x$with_dbus_test_client" = "xyes"])
|
||||||
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"])
|
|
||||||
|
|
||||||
# Look for mpris flag
|
# 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_ARG_WITH(mpris-interface, [AS_HELP_STRING([--with-mpris-interface],[include support for a D-Bus interface conforming to the MPRIS standard])])
|
||||||
AC_MSG_RESULT(>>Including the MPRIS D-Bus Interface)
|
if test "x$with_mpris_interface" = "xyes" ; then
|
||||||
AC_DEFINE([CONFIG_MPRIS_INTERFACE], 1, [Include support for a D-Bus interface conforming to the MPRIS standard])
|
AC_DEFINE([CONFIG_MPRIS_INTERFACE], 1, [Support the MPRIS standard])
|
||||||
REQUESTED_MPRIS=1
|
# remember to include glib, below
|
||||||
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!)])
|
fi
|
||||||
], )
|
AM_CONDITIONAL([USE_MPRIS], [test "x$with_mpris_interface" = "xyes"])
|
||||||
AM_CONDITIONAL([USE_MPRIS], [test "x$REQUESTED_MPRIS" = "x1"])
|
|
||||||
|
|
||||||
# Look for mpris test client flag
|
# Look for mpris test client flag
|
||||||
AC_ARG_WITH(mpris-test-client, [ --with-mpris-test-client = compile mpris test client], [
|
AC_ARG_WITH(mpris-test-client, [AS_HELP_STRING([--with-mpris-test-client],[compile an MPRIS test client application])])
|
||||||
AC_MSG_RESULT(>>Including mpris test client)
|
# remember to include glib, below
|
||||||
REQUESTED_MPRIS_CLIENT=1
|
AM_CONDITIONAL([USE_MPRIS_CLIENT], [test "x$with_mpris_test_client" = "xyes"])
|
||||||
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"])
|
|
||||||
|
|
||||||
# Look for mqtt flag
|
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
|
||||||
AC_ARG_WITH(mqtt-client, [ --with-mqtt-client = include a client for MQTT -- the Message Queuing Telemetry Transport protocol], [
|
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!)])
|
||||||
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"])
|
|
||||||
|
|
||||||
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])
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$REQUESTED_MPRIS" = "x1" || test "x$REQUESTED_DBUS" = "x1" || test "x$REQUESTED_MQTT" = "x1"; then
|
# Look for mqtt flag
|
||||||
AC_MSG_RESULT(>>Including extended metadata and DACP client support)
|
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_CHECK_LIB([mosquitto], [mosquitto_lib_init], , AC_MSG_ERROR(MQTT support requires the mosquitto library -- libmosquitto-dev suggested!))
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL([USE_MQTT], [test "x$with_mqtt_client" = "xyes"])
|
||||||
|
|
||||||
|
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$with_mpris_interface" = "xyes" || test "x$with_dbus_interface" = "xyes" || test "x$with_mqtt_client" = "xyes" ; then
|
||||||
REQUESTED_EXTENDED_METADATA_SUPPORT=1
|
REQUESTED_EXTENDED_METADATA_SUPPORT=1
|
||||||
AC_DEFINE([CONFIG_METADATA_HUB], 1, [Needed by the compiler.])
|
AC_DEFINE([CONFIG_METADATA_HUB], 1, [Needed by the compiler.])
|
||||||
AC_DEFINE([CONFIG_DACP_CLIENT], 1, [Needed by the compiler.])
|
AC_DEFINE([CONFIG_DACP_CLIENT], 1, [Needed by the compiler.])
|
||||||
@@ -365,11 +365,10 @@ fi
|
|||||||
AM_CONDITIONAL([USE_METADATA_HUB], [test "x$REQUESTED_EXTENDED_METADATA_SUPPORT" = "x1"])
|
AM_CONDITIONAL([USE_METADATA_HUB], [test "x$REQUESTED_EXTENDED_METADATA_SUPPORT" = "x1"])
|
||||||
AM_CONDITIONAL([USE_DACP_CLIENT], [test "x$REQUESTED_EXTENDED_METADATA_SUPPORT" = "x1"])
|
AM_CONDITIONAL([USE_DACP_CLIENT], [test "x$REQUESTED_EXTENDED_METADATA_SUPPORT" = "x1"])
|
||||||
|
|
||||||
if test "x$REQUESTED_EXTENDED_METADATA_SUPPORT" = "x1" || test "x$REQUESTED_METADATA" = "x1"; then
|
if test "x$REQUESTED_EXTENDED_METADATA_SUPPORT" = "x1" || test "x$with_metadata" = "xyes" ; then
|
||||||
AC_MSG_RESULT(>>Including metadata support)
|
|
||||||
AC_DEFINE([CONFIG_METADATA], 1, [Needed by the compiler.])
|
AC_DEFINE([CONFIG_METADATA], 1, [Needed by the compiler.])
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL([USE_METADATA], [test "x$REQUESTED_METADATA" = "x1"])
|
AM_CONDITIONAL([USE_METADATA], [test "x$with_metadata" = "xyes"])
|
||||||
|
|
||||||
if test "x${with_systemd}" = xyes ; then
|
if test "x${with_systemd}" = xyes ; then
|
||||||
# Find systemd unit dir
|
# Find systemd unit dir
|
||||||
@@ -391,7 +390,7 @@ fi
|
|||||||
# Look for xmltoman
|
# Look for xmltoman
|
||||||
AC_CHECK_PROGS([XMLTOMAN], [xmltoman])
|
AC_CHECK_PROGS([XMLTOMAN], [xmltoman])
|
||||||
if test -z "$XMLTOMAN"; then
|
if test -z "$XMLTOMAN"; then
|
||||||
AC_MSG_WARN([>>xmltoman not found - not rebuilding man pages])
|
AC_MSG_WARN([xmltoman not found - not rebuilding man pages])
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL([HAVE_XMLTOMAN], [test -n "$XMLTOMAN"])
|
AM_CONDITIONAL([HAVE_XMLTOMAN], [test -n "$XMLTOMAN"])
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,207 @@
|
|||||||
|
#!/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\" 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: \"$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 build step with arg \"$A2\". See \"../configure_test.log\"."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo -n "ok"
|
||||||
|
else
|
||||||
|
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 "\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 " 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."
|
||||||
|
|
||||||
Reference in New Issue
Block a user