mpd/configure.ac

1710 lines
42 KiB
Plaintext
Raw Normal View History

AC_PREREQ(2.60)
AC_INIT(mpd, 0.16~git, musicpd-dev-team@lists.sourceforge.net)
2008-11-07 17:14:52 +01:00
AC_CONFIG_SRCDIR([src/main.c])
AM_INIT_AUTOMAKE([foreign 1.10 dist-bzip2 subdir-objects])
2008-11-07 17:14:52 +01:00
AM_CONFIG_HEADER(config.h)
AC_CONFIG_MACRO_DIR([m4])
AC_DEFINE(PROTOCOL_VERSION, "0.16.0", [The MPD protocol version])
dnl
dnl programs
dnl
AC_PROG_CC_C99
AC_PROG_CXX
HAVE_CXX=yes
if test x$CXX = xg++; then
# CXX=g++ probably means that autoconf hasn't found any C++
# compiler; to be sure, we check again
AC_PATH_PROG(CXX, $CXX, no)
if test x$CXX = xno; then
# no, we don't have C++ - the following hack is
# required because automake insists on using $(CXX)
# for linking the MPD binary
AC_MSG_NOTICE([Disabling C++ support])
CXX="$CC"
HAVE_CXX=no
fi
fi
AC_PROG_INSTALL
AC_PROG_MAKE_SET
PKG_PROG_PKG_CONFIG
dnl
dnl declare variables
dnl
AC_SUBST(AM_CFLAGS,"")
AC_SUBST(MPD_LIBS)
AC_SUBST(MPD_CFLAGS)
MPD_LIBS=""
MPD_CFLAGS=""
dnl
dnl OS specific defaults
dnl
AC_CANONICAL_HOST
case "$host_os" in
mingw32* | windows*)
MPD_LIBS="$MPD_LIBS -lws2_32"
;;
esac
if test -z "$prefix" || test "x$prefix" = xNONE; then
local_lib=
local_include=
# aren't autotools supposed to be smart enough to figure this out? oh
# well, the git-core Makefile managed to do some of the work for us :)
case "$host_os" in
darwin*)
local_lib='/sw/lib /opt/local/lib'
local_include='/sw/include /opt/local/include'
;;
freebsd* | openbsd*)
local_lib=/usr/local/lib
local_include=/usr/local/include
;;
netbsd*)
local_lib=/usr/pkg/lib
local_include=/usr/pkg/include
LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/pkg/lib"
;;
esac
for d in $local_lib; do
if test -d "$d"; then
LDFLAGS="$LDFLAGS -L$d"
break
fi
done
for d in $local_include; do
if test -d "$d"; then
CFLAGS="$CFLAGS -I$d"
break
fi
done
fi
dnl
dnl libc features
dnl
AC_SYS_LARGEFILE
if test x$enable_largefile != xno; then
AC_DEFINE([ENABLE_LARGEFILE], 1, [Define if large file support is enabled])
fi
AC_CHECK_FUNCS(daemon fork syslog)
if test $ac_cv_func_syslog = no; then
# syslog is not in the default libraries. See if it's in some other.
for lib in bsd socket inet; do
AC_CHECK_LIB($lib, syslog,
[AC_DEFINE(HAVE_SYSLOG)
LIBS="$LIBS -l$lib"; break])
done
fi
AC_CHECK_LIB(socket,socket,MPD_LIBS="$MPD_LIBS -lsocket",)
AC_CHECK_LIB(nsl,gethostbyname,MPD_LIBS="$MPD_LIBS -lnsl",)
AC_CHECK_FUNCS(pipe2 accept4)
AC_CHECK_LIB(m,exp,MPD_LIBS="$MPD_LIBS -lm",)
AC_CHECK_HEADERS(locale.h)
AC_CHECK_HEADERS(valgrind/memcheck.h)
AC_CHECK_FUNCS(inotify_init inotify_init1)
AC_ARG_ENABLE(inotify,
AS_HELP_STRING([--disable-inotify],
[disable support Inotify automatic database update (default: enabled) ]),,
[enable_inotify=yes])
if test x$ac_cv_func_inotify_init = xno; then
enable_inotify=no
fi
if test x$enable_inotify = xyes; then
AC_DEFINE([ENABLE_INOTIFY], 1, [Define to enable inotify support])
fi
AM_CONDITIONAL(ENABLE_INOTIFY, test x$enable_inotify = xyes)
dnl
dnl mandatory libraries
dnl
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.12 gthread-2.0],,
[AC_MSG_ERROR([GLib 2.12 is required])])
dnl
dnl protocol options
dnl
AC_ARG_ENABLE(tcp,
AS_HELP_STRING([--disable-tcp],
[disable support for clients connecting via TCP (default: enable)]),,
[enable_tcp=yes])
AC_ARG_ENABLE(ipv6,
AS_HELP_STRING([--disable-ipv6],
[disable IPv6 support (default: enable)]),,
[enable_ipv6=yes])
if test x$enable_tcp = xno; then
# if we don't support TCP, we don't need IPv6 either
enable_ipv6=no
fi
if test x$enable_ipv6 = xyes; then
AC_MSG_CHECKING(for ipv6)
AC_EGREP_CPP([AP_maGiC_VALUE],
[
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#ifdef PF_INET6
#ifdef AF_INET6
AP_maGiC_VALUE
#endif
#endif
],
AC_DEFINE(HAVE_IPV6, 1, [Define if IPv6 support present])
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no])
)
fi
if test x$enable_tcp = xyes; then
AC_DEFINE(HAVE_TCP, 1, [Define if TCP socket support is enabled])
fi
AC_ARG_ENABLE(un,
AS_HELP_STRING([--disable-un],
[disable support for clients connecting via unix domain sockets (default: enable)]),,
[enable_un=yes])
if test x$enable_un = xyes; then
AC_DEFINE(HAVE_UN, 1, [Define if unix domain socket support is enabled])
STRUCT_UCRED
fi
dnl ##
dnl misc libraries
dnl ##
AC_ARG_ENABLE(cue,
AS_HELP_STRING([--enable-cue],
[enable support for libcue support]),,
enable_cue=auto)
MPD_AUTO_PKG(cue, CUE, [libcue],
[libcue parsing library], [libcue not found])
if test x$enable_cue = xyes; then
AC_DEFINE([HAVE_CUE], 1,
[Define to enable libcue support])
fi
AM_CONDITIONAL(HAVE_CUE, test x$enable_cue = xyes)
dnl ##
dnl Avahi / Zeroconf
dnl ##
AC_ARG_WITH(zeroconf,
AS_HELP_STRING([--with-zeroconf=@<:@auto|avahi|bonjour|no@:>@],
[enable zeroconf backend (default=auto)]),,
with_zeroconf="auto")
case $with_zeroconf in
no|avahi|bonjour)
;;
*)
with_zeroconf=auto
;;
esac
if test x$with_zeroconf != xno; then
if test x$with_zeroconf = xavahi || test x$with_zeroconf = xauto; then
PKG_CHECK_MODULES([AVAHI], [avahi-client avahi-glib],
[found_avahi=1;AC_DEFINE([HAVE_AVAHI], 1, [Define to enable Avahi Zeroconf support])]
MPD_LIBS="$MPD_LIBS $AVAHI_LIBS" MPD_CFLAGS="$MPD_CFLAGS $AVAHI_CFLAGS",
[found_avahi=0])
fi
if test x$found_avahi = x1; then
with_zeroconf=avahi
elif test x$with_zeroconf = xavahi; then
AC_MSG_ERROR([Avahi support requested but not found])
fi
if test x$with_zeroconf = xbonjour || test x$with_zeroconf = xauto; then
AC_CHECK_HEADER(dns_sd.h,
[found_bonjour=1;AC_DEFINE([HAVE_BONJOUR], 1, [Define to enable Bonjour Zeroconf support])],
[found_bonjour=0])
AC_CHECK_LIB(dns_sd, DNSServiceRegister,
MPD_LIBS="$MPD_LIBS -ldns_sd")
fi
if test x$found_bonjour = x1; then
with_zeroconf=bonjour
elif test x$with_zeroconf = xbonjour; then
AC_MSG_ERROR([Bonjour support requested but not found])
fi
if test x$with_zeroconf = xauto; then
AC_MSG_WARN([No supported Zeroconf backend found, disabling Zeroconf])
with_zeroconf=no
else
AC_DEFINE([HAVE_ZEROCONF], 1, [Define to enable Zeroconf support])
fi
fi
AM_CONDITIONAL(HAVE_ZEROCONF, test x$with_zeroconf != xno)
AM_CONDITIONAL(HAVE_AVAHI, test x$with_zeroconf = xavahi)
AM_CONDITIONAL(HAVE_BONJOUR, test x$with_zeroconf = xbonjour)
AC_ARG_ENABLE(sqlite,
AS_HELP_STRING([--enable-sqlite],
2009-03-28 21:48:09 +01:00
[enable support for the SQLite database]),,
[enable_sqlite=auto])
2009-03-28 21:48:09 +01:00
MPD_AUTO_PKG(sqlite, SQLITE, [sqlite3],
[SQLite database support], [sqlite not found])
if test x$enable_sqlite = xyes; then
AC_DEFINE([ENABLE_SQLITE], 1, [Define to enable sqlite database support])
fi
AM_CONDITIONAL(ENABLE_SQLITE, test x$enable_sqlite = xyes)
dnl
dnl input plugins
dnl
AC_ARG_ENABLE(curl,
2009-03-28 21:48:09 +01:00
AS_HELP_STRING([--enable-curl],
2009-04-01 22:13:38 +02:00
[enable support for libcurl HTTP streaming (default: auto)]),,
2009-03-28 21:48:09 +01:00
[enable_curl=auto])
2009-03-28 21:48:09 +01:00
MPD_AUTO_PKG(curl, CURL, [libcurl],
[libcurl HTTP streaming], [libcurl not found])
if test x$enable_curl = xyes; then
AC_DEFINE(ENABLE_CURL, 1, [Define when libcurl is used for HTTP streaming])
fi
AM_CONDITIONAL(ENABLE_CURL, test x$enable_curl = xyes)
AC_ARG_ENABLE(lastfm,
AS_HELP_STRING([--enable-lastfm],
[enable support for last.fm radio (default: disable)]),,
[enable_lastfm=no])
if test x$enable_lastfm = xyes; then
if test x$enable_curl != xyes; then
AC_MSG_ERROR([Cannot enable last.fm radio without curl])
fi
AC_DEFINE(ENABLE_LASTFM, 1, [Define when last.fm radio is enabled])
fi
AM_CONDITIONAL(ENABLE_LASTFM, test x$enable_lastfm = xyes)
AC_ARG_ENABLE(mms,
AS_HELP_STRING([--enable-mms],
2009-03-28 21:48:09 +01:00
[enable the MMS protocol with libmms]),,
[enable_mms=auto])
MPD_AUTO_PKG(mms, MMS, [libmms >= 0.4],
2009-03-28 21:48:09 +01:00
[libmms mms:// protocol support], [libmms not found])
if test x$enable_mms = xyes; then
2009-03-28 21:48:09 +01:00
AC_DEFINE(ENABLE_MMS, 1,
[Define when libmms is used for the MMS protocol])
fi
AM_CONDITIONAL(ENABLE_MMS, test x$enable_mms = xyes)
dnl
dnl archive plugins
dnl
dnl bzip2
AC_ARG_ENABLE(bzip2,
AS_HELP_STRING([--enable-bzip2],
[enable bzip2 archive support (default: disabled)]),,
enable_bzip2=no)
if test x$enable_bzip2 = xyes; then
AC_CHECK_LIB(bz2, BZ2_bzDecompressInit,
[MPD_LIBS="$MPD_LIBS -lbz2"],
[AC_MSG_ERROR([libbz2 not found])])
fi
AM_CONDITIONAL(HAVE_BZ2, test x$enable_bzip2 = xyes)
if test x$enable_bzip2 = xyes; then
AC_DEFINE(HAVE_BZ2, 1, [Define to have bz2 archive support])
fi
dnl zzip
AC_ARG_ENABLE(zzip,
AS_HELP_STRING([--enable-zzip],
[enable zip archive support (default: disabled)]),,
enable_zzip=no)
MPD_AUTO_PKG(zzip, ZZIP, [zziplib >= 0.13],
[libzzip archive library], [libzzip not found])
AM_CONDITIONAL(HAVE_ZZIP, test x$enable_zzip = xyes)
if test x$enable_zzip = xyes; then
AC_DEFINE(HAVE_ZZIP, 1, [Define to have zip archive support])
fi
dnl iso9660
AC_ARG_ENABLE(iso9660,
AS_HELP_STRING([--enable-iso9660],
[enable iso9660 archive support (default: disabled)]),,
enable_iso9660=no)
MPD_AUTO_PKG(iso9660, ISO9660, [libiso9660],
[libiso9660 archive library], [libiso9660 not found])
AM_CONDITIONAL(HAVE_ISO9660, test x$enable_iso9660 = xyes)
if test x$enable_iso9660 = xyes; then
AC_DEFINE(HAVE_ISO9660, 1, [Define to have ISO9660 archive support])
fi
dnl archive API
if
test x$enable_bzip2 = xyes ||
test x$enable_zzip = xyes ||
test x$enable_iso9660 = xyes; then
enable_archive=yes
AC_DEFINE(ENABLE_ARCHIVE, 1, [The archive API is available])
else
enable_archive=no
fi
AM_CONDITIONAL(ENABLE_ARCHIVE, test x$enable_archive = xyes)
dnl
dnl metadata
dnl
AC_ARG_ENABLE(id3,
AS_HELP_STRING([--disable-id3],
[disable id3 support (default: enable)]),,
enable_id3=yes)
dnl
dnl decoder plugins
dnl
AC_ARG_ENABLE(audiofile,
AS_HELP_STRING([--enable-audiofile],
[enable audiofile support (WAV and others)]),,
enable_audiofile=auto)
MPD_AUTO_PKG(audiofile, AUDIOFILE, [audiofile >= 0.1.7],
[audiofile decoder plugin], [libaudiofile not found])
AM_CONDITIONAL(HAVE_AUDIOFILE, test x$enable_audiofile = xyes)
if test x$enable_audiofile = xyes; then
AC_DEFINE(HAVE_AUDIOFILE, 1, [Define for audiofile support])
fi
AC_ARG_ENABLE(ffmpeg,
AS_HELP_STRING([--enable-ffmpeg],
[enable FFMPEG support]),,
enable_ffmpeg=auto)
AC_ARG_ENABLE(flac,
AS_HELP_STRING([--disable-flac],
[disable flac support (default: enable)]),,
enable_flac=yes)
dnl ###
dnl MAD mp3 decoder
dnl ###
AC_ARG_ENABLE(mad,
2009-03-28 21:48:09 +01:00
AS_HELP_STRING([--enable-mad],
[enable libmad mp3 decoder plugin]),,
enable_mad=auto)
2009-03-28 21:48:09 +01:00
MPD_AUTO_PKG(mad, MAD, [mad],
[libmad MP3 decoder plugin], [libmad not found])
if test x$enable_mad = xyes; then
2009-03-28 21:48:09 +01:00
AC_DEFINE(HAVE_MAD, 1, [Define to use libmad])
fi
AM_CONDITIONAL(HAVE_MAD, test x$enable_mad = xyes)
AC_ARG_ENABLE(mpg123,
AS_HELP_STRING([--enable-mpg123],
[enable libmpg123 decoder plugin]),,
enable_mpg123=auto)
MPD_AUTO_PKG(mpg123, MPG123, [libmpg123],
[libmpg123 decoder plugin], [libmpg123 not found])
if test x$enable_mpg123 = xyes; then
AC_DEFINE(HAVE_MPG123, 1, [Define to use libmpg123])
fi
AM_CONDITIONAL(HAVE_MPG123, test x$enable_mpg123 = xyes)
AC_ARG_ENABLE(mikmod,
AS_HELP_STRING([--enable-mikmod],
[enable the mikmod decoder (default: disable)]),,
enable_mikmod=no)
if test x$enable_mikmod = xyes; then
AC_PATH_PROG(LIBMIKMOD_CONFIG, libmikmod-config)
if test x$LIBMIKMOD_CONFIG != x ; then
AC_SUBST(LIBMIKMOD_CFLAGS, `$LIBMIKMOD_CONFIG --cflags`)
AC_SUBST(LIBMIKMOD_LIBS, `$LIBMIKMOD_CONFIG --libs`)
AC_DEFINE(ENABLE_MIKMOD_DECODER, 1, [Define for mikmod support])
else
enable_mikmod=no
fi
fi
AM_CONDITIONAL(ENABLE_MIKMOD_DECODER, test x$enable_mikmod = xyes)
AC_ARG_ENABLE(modplug,
AS_HELP_STRING([--enable-modplug],
2009-03-28 21:48:09 +01:00
[enable modplug decoder plugin]),,
enable_modplug=auto)
found_modplug=$HAVE_CXX
MPD_AUTO_PRE(modplug, [modplug decoder plugin], [No C++ compiler found])
2009-03-28 21:48:09 +01:00
MPD_AUTO_PKG(modplug, MODPLUG, [libmodplug],
[modplug decoder plugin], [libmodplug not found])
AM_CONDITIONAL(HAVE_MODPLUG, test x$enable_modplug = xyes)
if test x$enable_modplug = xyes; then
AC_DEFINE(HAVE_MODPLUG, 1, [Define for modplug support])
fi
AC_ARG_ENABLE(mpc,
AS_HELP_STRING([--disable-mpc],
[disable musepack (MPC) support (default: enable)]),,
enable_mpc=yes)
AC_ARG_ENABLE(oggflac,
AS_HELP_STRING([--disable-oggflac],
[disable OggFLAC support (default: enable)]),,
enable_oggflac=yes)
AC_ARG_ENABLE(vorbis,
AS_HELP_STRING([--disable-vorbis],
[disable Ogg Vorbis support (default: enable)]),,
enable_vorbis=yes)
AC_ARG_ENABLE(sndfile,
AS_HELP_STRING([--enable-sndfile],
[enable sndfile support]),,
enable_sndfile=auto)
if test x$enable_sndfile = xauto && test x$enable_modplug = xyes; then
dnl If modplug is enabled, enable sndfile only if explicitly
dnl requested - modplug's modplug/sndfile.h is known to
dnl conflict with libsndfile's sndfile.h.
AC_MSG_NOTICE([disabling libsndfile auto-detection, because the modplug decoder is enabled])
enable_sndfile=no
fi
MPD_AUTO_PKG(sndfile, SNDFILE, [sndfile],
[libsndfile decoder plugin], [libsndfile not found])
AM_CONDITIONAL(ENABLE_SNDFILE, test x$enable_sndfile = xyes)
if test x$enable_sndfile = xyes; then
AC_DEFINE(ENABLE_SNDFILE, 1, [Define to enable the sndfile decoder plugin])
fi
dnl ###
dnl Ogg Tremor
dnl ###
AC_ARG_WITH(tremor,
AS_HELP_STRING([--with-tremor=PFX],
[use Tremor (vorbisidec) integer Ogg Vorbis decoder (with optional prefix)]),,
with_tremor=no)
if test x$with_tremor = xyes || test x$with_tremor = xno; then
use_tremor="$with_tremor"
else
tremor_prefix="$with_tremor"
use_tremor=yes
fi
AC_ARG_WITH(tremor-libraries,
AS_HELP_STRING([--with-tremor-libraries=DIR],
[directory where Tremor library is installed (optional)]),,
tremor_libraries="")
AC_ARG_WITH(tremor-includes,
AS_HELP_STRING([--with-tremor-includes=DIR],
[directory where Tremor header files are installed (optional)]),,
tremor_includes="")
AC_ARG_ENABLE(sidplay,
AS_HELP_STRING([--enable-sidplay],
[enable C64 SID support via libsidplay2]),,
enable_sidplay=auto)
found_sidplay=$HAVE_CXX
MPD_AUTO_PRE(sidplay, [sidplay decoder plugin], [No C++ compiler found])
if test x$enable_sidplay != xno; then
# we're not using pkg-config here
# because libsidplay2's .pc file requires libtool
AC_HAVE_LIBRARY(sidplay2, [found_sidplay=yes], [found_sidplay=no])
MPD_AUTO_PRE(sidplay, [sidplay decoder plugin],
[libsidplay2 not found])
fi
if test x$enable_sidplay != xno; then
# can't use AC_HAVE_LIBRARY here, because the dash in the
# library name triggers an autoconf bug
AC_CHECK_LIB(resid-builder, main,
[found_sidplay=yes], [found_sidplay=no])
if test x$found_sidplay = xyes; then
AC_HAVE_LIBRARY(sidutils,, [found_sidplay=no])
fi
MPD_AUTO_RESULT(sidplay, [sidplay decoder plugin],
[libresid-builder or libsidutils not found])
fi
if test x$enable_sidplay = xyes; then
AC_SUBST(SIDPLAY_LIBS,"-lsidplay2 -lresid-builder -lsidutils")
AC_SUBST(SIDPLAY_CFLAGS,)
AC_DEFINE(ENABLE_SIDPLAY, 1, [Define for libsidplay2 support])
fi
AM_CONDITIONAL(ENABLE_SIDPLAY, test x$enable_sidplay = xyes)
AC_ARG_ENABLE(fluidsynth,
AS_HELP_STRING([--enable-fluidsynth],
[enable MIDI support via fluidsynth (default: disable)]),,
enable_fluidsynth=no)
AC_ARG_ENABLE(wildmidi,
AS_HELP_STRING([--enable-wildmidi],
[enable MIDI support via wildmidi (default: disable)]),,
enable_wildmidi=no)
AC_ARG_ENABLE(wavpack,
AS_HELP_STRING([--enable-wavpack],
[enable WavPack support]),,
enable_wavpack=auto)
MPD_AUTO_PKG(wavpack, WAVPACK, [wavpack],
[WavPack decoder plugin], [libwavpack not found])
AM_CONDITIONAL(HAVE_WAVPACK, test x$enable_wavpack = xyes)
if test x$enable_wavpack = xyes; then
AC_DEFINE([HAVE_WAVPACK], 1, [Define to enable WavPack support])
fi
dnl
dnl converters
dnl
AC_ARG_ENABLE(lsr,
2009-03-28 21:48:09 +01:00
AS_HELP_STRING([--enable-lsr],
[enable libsamplerate support]),,
enable_lsr=auto)
2009-03-28 21:48:09 +01:00
MPD_AUTO_PKG(lsr, SAMPLERATE, [samplerate >= 0.0.15],
[libsamplerate resampling], [libsamplerate not found])
if test x$enable_lsr = xyes; then
2009-03-28 21:48:09 +01:00
AC_DEFINE([HAVE_LIBSAMPLERATE], 1,
[Define to enable libsamplerate])
fi
if test x$enable_lsr = xyes; then
PKG_CHECK_MODULES([SAMPLERATE_013],
[samplerate >= 0.1.3],,
[AC_DEFINE([HAVE_LIBSAMPLERATE_NOINT], 1,
[libsamplerate doesn't provide src_int_to_float_array() (<0.1.3)])])
fi
AM_CONDITIONAL(HAVE_LIBSAMPLERATE, test x$enable_lsr = xyes)
dnl
dnl encoder plugins
dnl
AC_ARG_ENABLE(vorbis-encoder,
AS_HELP_STRING([--enable-vorbis-encoder],
[enable the Ogg Vorbis encoder]),,
[enable_vorbis_encoder=auto])
AC_ARG_ENABLE(lame-encoder,
AS_HELP_STRING([--enable-lame-encoder],
[enable the LAME mp3 encoder]),,
enable_lame_encoder=auto)
AC_ARG_ENABLE(twolame-encoder,
AS_HELP_STRING([--enable-twolame-encoder],
[enable the TwoLAME mp2 encoder]),,
enable_twolame_encoder=auto)
AC_ARG_ENABLE(wave-encoder,
AS_HELP_STRING([--enable-wave-encoder],
[enable the PCM wave encoder]),,
enable_wave_encoder=yes)
dnl
dnl audio output plugins
dnl
AC_ARG_ENABLE(alsa,
AS_HELP_STRING([--enable-alsa], [enable ALSA support]),,
enable_alsa=auto)
AC_ARG_ENABLE(ao,
AS_HELP_STRING([--enable-ao],
2009-03-28 21:48:09 +01:00
[enable support for libao]),,
enable_ao=auto)
MPD_AUTO_PKG(ao, AO, [ao],
[libao output plugin], [libao not found])
if test x$enable_ao = xyes; then
AC_DEFINE(HAVE_AO, 1, [Define to play with ao])
fi
AM_CONDITIONAL(HAVE_AO, test x$enable_ao = xyes)
AC_ARG_ENABLE(fifo,
AS_HELP_STRING([--disable-fifo],
[disable support for writing audio to a FIFO (default: enable)]),,
enable_fifo=yes)
AC_ARG_ENABLE(pipe-output,
AS_HELP_STRING([--enable-pipe-output],
[enable support for writing audio to a pipe (default: disable)]),,
enable_pipe_output=no)
if test x$enable_pipe_output = xyes; then
AC_DEFINE([ENABLE_PIPE_OUTPUT], 1,
[Define to enable support for writing audio to a pipe])
fi
AM_CONDITIONAL(ENABLE_PIPE_OUTPUT, test x$enable_pipe_output = xyes)
AC_ARG_ENABLE(jack,
2009-03-28 21:48:09 +01:00
AS_HELP_STRING([--enable-jack],
[enable jack support]),,
enable_jack=auto)
MPD_AUTO_PKG(jack, JACK, [jack >= 0.100],
2009-03-28 21:48:09 +01:00
[JACK output plugin], [libjack not found])
if test x$enable_jack = xyes; then
AC_DEFINE([HAVE_JACK], 1, [Define to enable JACK support])
fi
if test x$enable_jack = xyes; then
# check whether jack_set_info_function() is available
old_LIBS=$LIBS
LIBS="$LIBS $JACK_LIBS"
AC_CHECK_FUNCS(jack_set_info_function)
LIBS=$old_LIBS
fi
AM_CONDITIONAL(HAVE_JACK, test x$enable_jack = xyes)
AC_ARG_ENABLE(mvp,
AS_HELP_STRING([--enable-mvp],
[enable support for Hauppauge Media MVP (default: disable)]),,
enable_mvp=no)
AC_ARG_ENABLE(oss,
AS_HELP_STRING([--disable-oss],
[disable OSS support (default: enable)]),,
enable_oss=yes)
2009-08-31 09:26:22 +02:00
AC_ARG_ENABLE(openal,
AS_HELP_STRING([--enable-openal],
[enable OpenAL support (default: disable)]),,
enable_openal=no)
AC_ARG_ENABLE(pulse,
2009-03-28 21:48:09 +01:00
AS_HELP_STRING([--enable-pulse],
[enable support for the PulseAudio sound server]),,
enable_pulse=auto)
MPD_AUTO_PKG(pulse, PULSE, [libpulse],
2009-03-28 21:48:09 +01:00
[PulseAudio output plugin], [libpulse not found])
if test x$enable_pulse = xyes; then
AC_DEFINE([HAVE_PULSE], 1,
[Define to enable PulseAudio support])
fi
AM_CONDITIONAL(HAVE_PULSE, test x$enable_pulse = xyes)
AC_ARG_ENABLE(recorder-output,
AS_HELP_STRING([--enable-recorder-output],
[enables the recorder file output plugin (default: disable)]),,
[enable_recorder_output=auto])
AC_ARG_ENABLE(httpd-output,
AS_HELP_STRING([--enable-httpd-output],
[enables the HTTP server output]),,
[enable_httpd_output=auto])
enable_osx=no
case "$host_os" in
darwin*)
AC_DEFINE(HAVE_OSX, 1, [Define for compiling OS X support])
MPD_LIBS="$MPD_LIBS -framework AudioUnit -framework CoreServices"
enable_osx=yes ;;
esac
AM_CONDITIONAL(HAVE_OSX, test x$enable_osx = xyes)
AC_ARG_ENABLE(shout,
AS_HELP_STRING([--enable-shout],
[enables the shoutcast streaming output]),,
[enable_shout=auto])
enable_shout2="$enable_shout"
MPD_AUTO_PKG(shout, SHOUT, [shout],
[shout output plugin], [libshout not found])
if test x$enable_shout = xyes && test x$enable_shout2 = xauto; then
enable_shout=auto
shout: introduce pluggable encoder API I've perhaps gone a bit overboard, but here's the current rundown: Both Ogg and MP3 use the "shout" audio output plugin. The shout audio output plugin itself has two new plugins, one for the Ogg encoder, and another for the MP3 (LAME) encoder. Configuration for an Ogg stream doesn't change. For an MP3 stream, configuration is the same as Ogg, with two exceptions. First, you must specify the optional "encoding" parameter, which should be set to "mp3". See mpd.conf(5) for more details. Second, the "quality" parameter is reversed for LAME, such that 1 is high quality for LAME, whereas 10 is high quality for Ogg. I've decomposed the code so that all libshout related operations are done in audioOutput_shout.c, all Ogg specific functions are in audioOutput_shout_ogg.c, and of course then all LAME specific functions are handled in audioOutput_shout_mp3.c. To develop encoder plugins for the shout audio output plugin, I basically just mimicked the plugin system used for audio outputs. This might be overkill, but hopefully if anyone ever wants to support some other sort of stream, like maybe AAC, FLAC, or WMA (hey it could happen), they will hopefully be all set. The Ogg encoder is slightly less optimal under this configuration. It used to send shout data directly out of its ogg_page structures. Now, in the interest of encapsulation, it copies the data from its ogg_page structures into a buffer provided by the shout audio output plugin (see audioOutput_shout_ogg.c, line 77.) I suspect the performance impact is negligible. As for metadata, I'm pretty sure they'll both work. I wrote up a test scaffold that would create a fake tag, and tell the plugin to send it out to the stream every few seconds. It seemed to work fine. Of course, if something does break, I'll be glad to fix it. Lastly, I've renamed lots of things into snake_case, in keeping with normalperson's wishes in that regard. [mk: moved the MP3 patch after this one. Splitted this patch into several parts; the others were already applied before this one. Fixed a bunch GCC warnings and wrong whitespace modifications. Made it compile with mpd-mk by adapting to its prototypes]
2008-09-12 16:04:40 +02:00
fi
case "$host_os" in
solaris*)
AC_DEFINE(ENABLE_SOLARIS_OUTPUT, 1, [Define to enable Solaris /dev/audio support])
enable_solaris_output=yes
;;
*)
enable_solaris_output=no
;;
esac
AM_CONDITIONAL(ENABLE_SOLARIS_OUTPUT, test x$enable_solaris_output = xyes)
if test x$enable_oss = xyes; then
AC_CHECK_HEADER(sys/soundcard.h,
[enable_oss=yes;AC_DEFINE(HAVE_OSS,1,[Define to enable OSS])],
[AC_MSG_WARN(Soundcard headers not found -- disabling OSS support);
enable_oss=no])
fi
AM_CONDITIONAL(HAVE_OSS, test x$enable_oss = xyes)
2009-08-31 09:26:22 +02:00
if test x$enable_openal = xyes; then
if test x$enable_osx = xyes; then
AC_CHECK_HEADERS([OpenAL/al.h OpenAL/alc.h], [], [enable_openal=no])
if test x$enable_openal = xyes; then
OPENAL_LIBS="-framework OpenAL"
AC_DEFINE(HAVE_OPENAL, 1, [Define for OpenAL support])
else
AC_MSG_WARN(OpenAL headers not found -- disabling OpenAL support)
fi
else
PKG_CHECK_MODULES([OPENAL], [openal],
AC_DEFINE(HAVE_OPENAL, 1, [Define for OpenAL support]),
enable_openal=no)
fi
2009-08-31 09:26:22 +02:00
fi
if test x$enable_openal = xyes; then
MPD_CFLAGS="$MPD_CFLAGS $OPENAL_CFLAGS"
MPD_LIBS="$MPD_LIBS $OPENAL_LIBS"
fi
AM_CONDITIONAL(HAVE_OPENAL, test x$enable_openal = xyes)
if test x$enable_fifo = xyes; then
AC_CHECK_FUNC([mkfifo],
[enable_fifo=yes;AC_DEFINE([HAVE_FIFO], 1,
[Define to enable support for writing audio to a FIFO])],
[enable_fifo=no;AC_MSG_WARN([mkfifo not found -- disabling support for writing audio to a FIFO])])
fi
AM_CONDITIONAL(HAVE_FIFO, test x$enable_fifo = xyes)
if test x$enable_mvp = xyes; then
AC_DEFINE(HAVE_MVP,1,[Define to enable Hauppauge Media MVP support])
fi
AM_CONDITIONAL(HAVE_MVP, test x$enable_mvp = xyes)
MPD_AUTO_PKG(alsa, ALSA, [alsa >= 0.9.0],
[ALSA output plugin], [libasound not found])
if test x$enable_alsa = xyes; then
AC_DEFINE(HAVE_ALSA, 1, [Define to enable ALSA support])
fi
AM_CONDITIONAL(HAVE_ALSA, test x$enable_alsa = xyes)
if test x$enable_id3 = xyes; then
PKG_CHECK_MODULES([ID3TAG], [id3tag],,
AC_CHECK_LIB(id3tag, id3_file_open,
[ID3TAG_LIBS="-lid3tag -lz" ID3TAG_CFLAGS=""],
enable_id3=no))
fi
if test x$enable_id3 = xyes; then
AC_DEFINE(HAVE_ID3TAG, 1, [Define to use id3tag])
fi
AM_CONDITIONAL(HAVE_ID3TAG, test x$enable_id3 = xyes)
if test x$enable_mpc = xyes; then
if test "x$mpcdec_libraries" != "x" ; then
MPCDEC_LIBS="-L$mpcdec_libraries"
elif test "x$mpcdec_prefix" != "x" ; then
MPCDEC_LIBS="-L$mpcdec_prefix/lib"
fi
MPCDEC_LIBS="$MPCDEC_LIBS -lmpcdec"
if test "x$mpcdec_includes" != "x" ; then
MPCDEC_CFLAGS="-I$mpcdec_includes"
elif test "x$mpcdec_prefix" != "x" ; then
MPCDEC_CFLAGS="-I$mpcdec_prefix/include"
fi
oldcflags=$CFLAGS
oldlibs=$LIBS
oldcppflags=$CPPFLAGS
CFLAGS="$CFLAGS $MPD_CFLAGS $MPCDEC_CFLAGS -I."
LIBS="$LIBS $MPD_LIBS $MPCDEC_LIBS"
CPPFLAGS=$CFLAGS
AC_CHECK_HEADER(mpc/mpcdec.h,
old_mpcdec=no,
[AC_CHECK_HEADER(mpcdec/mpcdec.h,
old_mpcdec=yes,
enable_mpc=no)])
if test x$enable_mpc = xyes; then
AC_CHECK_LIB(mpcdec,main,
[MPD_LIBS="$MPD_LIBS $MPCDEC_LIBS";
MPD_CFLAGS="$MPD_CFLAGS $MPCDEC_CFLAGS";],
enable_mpc=no)
fi
if test x$enable_mpc = xyes; then
AC_DEFINE(HAVE_MPCDEC,1,
[Define to use libmpcdec for MPC decoding])
if test x$old_mpcdec = xyes; then
AC_DEFINE(MPC_IS_OLD_API, 1,
[Define if an old pre-SV8 libmpcdec is used])
fi
else
AC_MSG_WARN([mpcdec lib needed for MPC support -- disabling MPC support])
fi
CFLAGS=$oldcflags
LIBS=$oldlibs
CPPFLAGS=$oldcppflags
fi
AM_CONDITIONAL(HAVE_MPCDEC, test x$enable_mpc = xyes)
AM_PATH_FAAD()
AM_CONDITIONAL(HAVE_FAAD, test x$enable_aac = xyes)
AM_CONDITIONAL(HAVE_MP4, test x$enable_mp4 = xyes)
if test x$use_tremor = xyes; then
if test "x$tremor_libraries" != "x" ; then
TREMOR_LIBS="-L$tremor_libraries"
elif test "x$tremor_prefix" != "x" ; then
TREMOR_LIBS="-L$tremor_prefix/lib"
fi
TREMOR_LIBS="$TREMOR_LIBS -lvorbisidec"
if test "x$tremor_includes" != "x" ; then
TREMOR_CFLAGS="-I$tremor_includes"
elif test "x$tremor_prefix" != "x" ; then
TREMOR_CFLAGS="-I$tremor_prefix/include"
fi
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $TREMOR_CFLAGS"
LIBS="$LIBS $TREMOR_LIBS"
AC_CHECK_LIB(vorbisidec,ov_read,enable_vorbis=yes,enable_vorbis=no;
AC_MSG_WARN([vorbisidec lib needed for ogg support with tremor -- disabling ogg support]))
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
if test x$enable_vorbis = xyes; then
AC_DEFINE(ENABLE_VORBIS_DECODER, 1, [Define for Ogg Vorbis support])
fi
elif test x$enable_vorbis = xyes; then
PKG_CHECK_MODULES(VORBIS, [ogg vorbis vorbisfile],
AC_DEFINE(ENABLE_VORBIS_DECODER, 1, [Define for Ogg Vorbis support]),
enable_vorbis=no)
fi
AM_CONDITIONAL(ENABLE_VORBIS_DECODER, test x$enable_vorbis = xyes)
if test x$use_tremor = xyes; then
AC_DEFINE(HAVE_TREMOR,1,
[Define to use tremor (libvorbisidec) for ogg support])
if test x$enable_oggflac = xyes; then
AC_MSG_WARN([disabling OggFLAC support because it is incompatible with tremor])
enable_oggflac=no
fi
fi
AC_SUBST(TREMOR_CFLAGS)
AC_SUBST(TREMOR_LIBS)
if test x$enable_flac = xyes; then
PKG_CHECK_MODULES(FLAC, [flac >= 1.1],
AC_DEFINE(HAVE_FLAC, 1, [Define for FLAC support]),
enable_flac=no)
oldcflags="$CFLAGS"
oldlibs="$LIBS"
CFLAGS="$CFLAGS $FLAC_CFLAGS"
LIBS="$LIBS $FLAC_LIBS"
if test x$enable_flac = xyes && test x$enable_oggflac = xyes; then
AC_CHECK_DECL(FLAC_API_SUPPORTS_OGG_FLAC,
[enable_oggflac=flac], [],
[#include <FLAC/export.h>])
fi
CFLAGS="$oldcflags"
LIBS="$oldlibs"
fi
AM_CONDITIONAL(HAVE_FLAC, test x$enable_flac = xyes)
enable_flac_encoder=$enable_flac
if test x$enable_oggflac = xyes; then
oldmpdcflags="$MPD_CFLAGS"
oldmpdlibs="$MPD_LIBS"
AM_PATH_LIBOGGFLAC(MPD_LIBS="$MPD_LIBS $LIBOGGFLAC_LIBS"
MPD_CFLAGS="$MPD_CFLAGS $LIBOGGFLAC_CFLAGS",
enable_oggflac=no)
fi
if test x$enable_oggflac = xyes; then
AC_DEFINE(HAVE_OGGFLAC,1,[Define for OggFLAC support])
fi
AM_CONDITIONAL(HAVE_OGGFLAC, test x$enable_oggflac = xyes)
AM_CONDITIONAL(HAVE_FLAC_COMMON,
test x$enable_flac = xyes || test x$enable_oggflac = xyes)
AM_CONDITIONAL(HAVE_OGG_COMMON,
test x$enable_vorbis = xyes || test x$enable_oggflac = xyes || test x$enable_flac = xyes)
MPD_AUTO_PKG(ffmpeg, FFMPEG, [libavformat libavcodec libavutil],
[ffmpeg decoder library], [libavformat+libavcodec+libavutil not found])
if test x$enable_ffmpeg = xyes; then
old_LIBS=$LIBS
LIBS="$LIBS $FFMPEG_LIBS"
AC_CHECK_LIB(avcodec, avcodec_decode_audio2,,
enable_ffmpeg=no)
LIBS=$old_LIBS
fi
if test x$enable_ffmpeg = xyes; then
# prior to ffmpeg svn12865, you had to specify include files
# without path prefix
old_CPPCFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $FFMPEG_CFLAGS"
AC_CHECK_HEADER(libavcodec/avcodec.h,,
AC_DEFINE(OLD_FFMPEG_INCLUDES, 1,
[Define if avcodec.h instead of libavcodec/avcodec.h should be included]))
CPPCFLAGS=$old_CPPFLAGS
fi
if test x$enable_ffmpeg = xyes; then
2009-02-11 19:58:53 +01:00
AC_DEFINE(HAVE_FFMPEG, 1, [Define for FFMPEG support])
fi
AM_CONDITIONAL(HAVE_FFMPEG, test x$enable_ffmpeg = xyes)
if test x$enable_fluidsynth = xyes; then
PKG_CHECK_MODULES(FLUIDSYNTH, [fluidsynth],
AC_DEFINE(ENABLE_FLUIDSYNTH, 1, [Define for fluidsynth support]),
enable_fluidsynth=no)
fi
AM_CONDITIONAL(ENABLE_FLUIDSYNTH, test x$enable_fluidsynth = xyes)
if test x$enable_wildmidi = xyes; then
oldcflags=$CFLAGS
oldlibs=$LIBS
oldcppflags=$CPPFLAGS
AC_CHECK_LIB(WildMidi, WildMidi_Init,,
AC_MSG_ERROR([libwildmidi not found]))
CFLAGS=$oldcflags
LIBS=$oldlibs
CPPFLAGS=$oldcppflags
AC_SUBST(WILDMIDI_LIBS,-lWildMidi)
AC_SUBST(WILDMIDI_CFLAGS,)
AC_DEFINE(ENABLE_WILDMIDI, 1, [Define for wildmidi support])
fi
AM_CONDITIONAL(ENABLE_WILDMIDI, test x$enable_wildmidi = xyes)
dnl
dnl Encoder API and shout/httpd output plugin
dnl
if test x$enable_shout = xyes || \
test x$enable_recorder_output = xyes || \
test x$enable_httpd_output = xyes; then
# at least one output using encoders is explicitly enabled
need_encoder=yes
elif test x$enable_shout = xauto || \
test x$enable_recorder_output = xauto || \
test x$enable_httpd_output = xauto; then
need_encoder=auto
else
# all outputs using encoders are disabled
need_encoder=no
# don't bother to check for encoder plugins
enable_vorbis_encoder=no
enable_lame_encoder=no
enable_twolame_encoder=no
enable_wave_encoder=no
enable_flac_encoder=no
fi
MPD_AUTO_PKG(vorbis_encoder, VORBISENC, [vorbisenc],
[Ogg Vorbis encoder], [libvorbisenc not found])
if test x$enable_lame_encoder != xno; then
AM_PATH_LAME([found_lame_encoder=yes], [found_lame_encoder=no])
MPD_AUTO_RESULT(lame_encoder, [LAME encoder plugin],
[LAME not found])
fi
AC_SUBST(LAME_CFLAGS)
AC_SUBST(LAME_LIBS)
MPD_AUTO_PKG(twolame_encoder, TWOLAME, [twolame],
[TwoLAME encoder], [libtwolame not found])
if test x$enable_vorbis_encoder != xno ||
test x$enable_lame_encoder != xno ||
test x$enable_twolame_encoder != xno ||
test x$enable_flac_encoder != xno ||
test x$enable_wave_encoder != xno; then
# at least one encoder plugin is enabled
enable_encoder=yes
else
# no encoder plugin is enabled: disable the whole encoder API
enable_encoder=no
if test x$need_encoder = xyes; then
AC_MSG_ERROR([No encoder plugin found])
fi
fi
if test x$enable_shout = xauto; then
# handle shout auto-detection: disable if no encoder is
# available
if test x$enable_encoder = xyes; then
enable_shout=yes
else
AC_MSG_WARN([No encoder plugin -- disabling the shout output plugin])
enable_shout=no
fi
fi
if test x$enable_recorder_output = xauto; then
# handle recorder auto-detection: disable if no encoder is
# available
if test x$enable_encoder = xyes; then
enable_recorder_output=yes
else
AC_MSG_WARN([No encoder plugin -- disabling the recorder output plugin])
enable_recorder_output=no
fi
fi
if test x$enable_httpd_output = xauto; then
# handle HTTPD auto-detection: disable if no encoder is
# available
if test x$enable_encoder = xyes; then
enable_httpd_output=yes
else
AC_MSG_WARN([No encoder plugin -- disabling the HTTP output plugin])
enable_httpd_output=no
fi
fi
AM_CONDITIONAL(HAVE_SHOUT, test x$enable_shout = xyes)
if test x$enable_shout = xyes; then
AC_DEFINE(HAVE_SHOUT, 1, [Define to enable the shoutcast output])
fi
AM_CONDITIONAL(ENABLE_RECORDER_OUTPUT, test x$enable_recorder_output = xyes)
if test x$enable_recorder_output = xyes; then
AC_DEFINE(ENABLE_RECORDER_OUTPUT, 1, [Define to enable the recorder output])
fi
AM_CONDITIONAL(ENABLE_HTTPD_OUTPUT, test x$enable_httpd_output = xyes)
if test x$enable_httpd_output = xyes; then
AC_DEFINE(ENABLE_HTTPD_OUTPUT, 1, [Define to enable the HTTP server output])
fi
AM_CONDITIONAL(ENABLE_ENCODER, test x$enable_encoder = xyes)
if test x$enable_encoder = xyes; then
AC_DEFINE(ENABLE_ENCODER, 1,
[Define to enable the encoder plugins])
fi
AM_CONDITIONAL(ENABLE_VORBIS_ENCODER, test x$enable_vorbis_encoder = xyes)
if test x$enable_vorbis_encoder = xyes; then
AC_DEFINE(ENABLE_VORBIS_ENCODER, 1,
[Define to enable the vorbis encoder plugin])
fi
AM_CONDITIONAL(ENABLE_LAME_ENCODER, test x$enable_lame_encoder = xyes)
if test x$enable_lame_encoder = xyes; then
AC_DEFINE(ENABLE_LAME_ENCODER, 1,
[Define to enable the lame encoder plugin])
fi
AM_CONDITIONAL(ENABLE_TWOLAME_ENCODER, test x$enable_twolame_encoder = xyes)
if test x$enable_twolame_encoder = xyes; then
AC_DEFINE(ENABLE_TWOLAME_ENCODER, 1,
[Define to enable the TwoLAME encoder plugin])
fi
AM_CONDITIONAL(ENABLE_WAVE_ENCODER, test x$enable_wave_encoder = xyes)
if test x$enable_wave_encoder = xyes; then
AC_DEFINE(ENABLE_WAVE_ENCODER, 1,
[Define to enable the PCM wave encoder plugin])
fi
AM_CONDITIONAL(ENABLE_FLAC_ENCODER, test x$enable_flac_encoder = xyes)
if test x$enable_flac_encoder = xyes; then
AC_DEFINE(ENABLE_FLAC_ENCODER, 1,
[Define to enable the FLAC encoder plugin])
fi
dnl
dnl Documentation
dnl
AC_ARG_ENABLE(documentation,
AS_HELP_STRING([--enable-documentation],
[build documentation (default: disable)]),,
[enable_documentation=no])
if test x$enable_documentation = xyes; then
AC_PATH_PROG(XMLTO, xmlto)
AC_SUBST(XMLTO)
AM_CONDITIONAL(HAVE_XMLTO, test x$XMLTO != x)
AC_PATH_PROG(DOXYGEN, doxygen)
if test x$DOXYGEN = x; then
AC_MSG_ERROR([doxygen not found])
fi
AC_SUBST(DOXYGEN)
else
AM_CONDITIONAL(HAVE_XMLTO, false)
fi
AM_CONDITIONAL(ENABLE_DOCUMENTATION, test x$enable_documentation = xyes)
dnl
dnl build options
dnl
AC_ARG_ENABLE(werror,
AS_HELP_STRING([--enable-werror],
[treat warnings as errors (default: disabled)]),,
enable_werror=no)
if test "x$enable_werror" = xyes; then
AM_CFLAGS="$AM_CFLAGS -Werror -pedantic-errors"
fi
AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug],
[enable debugging (default: disabled)]),,
enable_debug=no)
#if test "x$enable_debug" = xno; then
# don't set NDEBUG for now, until MPD is stable
#AM_CFLAGS="$AM_CFLAGS -DNDEBUG"
#fi
AC_ARG_ENABLE(gprof,
AS_HELP_STRING([--enable-gprof],
[enable profiling via gprof (default: disabled)]),,
enable_gprof=no)
if test "x$enable_gprof" = xyes; then
MPD_CFLAGS="$MPD_CFLAGS -pg"
MPD_LIBS="$MPD_LIBS -pg"
fi
AC_ARG_ENABLE(test,
AS_HELP_STRING([--enable-test],
[build the test programs (default: disabled)]),,
enable_test=no)
AM_CONDITIONAL(ENABLE_TEST, test "x$enable_test" = xyes)
dnl
dnl CFLAGS
dnl
if test x$GCC = xyes
then
MPD_CHECK_FLAG([-Wall])
MPD_CHECK_FLAG([-Wextra])
MPD_CHECK_FLAG([-Wno-deprecated-declarations])
MPD_CHECK_FLAG([-Wmissing-prototypes])
MPD_CHECK_FLAG([-Wdeclaration-after-statement])
MPD_CHECK_FLAG([-Wshadow])
MPD_CHECK_FLAG([-Wpointer-arith])
MPD_CHECK_FLAG([-Wstrict-prototypes])
MPD_CHECK_FLAG([-Wcast-qual])
MPD_CHECK_FLAG([-Wwrite-strings])
MPD_CHECK_FLAG([-pedantic])
fi
dnl
dnl pretty-print result
dnl
echo ""
echo "########### MPD CONFIGURATION ############"
echo ""
echo " Client Support:"
if test x$enable_ipv6 = xyes; then
echo " IPv6 support ..................enabled"
else
echo " IPv6 support ..................disabled"
fi
if test x$enable_tcp = xyes; then
echo " TCP support ...................enabled"
else
echo " TCP support ...................disabled"
fi
if test x$enable_un = xyes; then
echo " Unix domain socket support ....enabled"
else
echo " Unix domain socket support ....disabled"
fi
echo ""
if
test x$enable_tcp = xno &&
test x$enable_un = xno; then
AC_MSG_ERROR([No client interfaces configured!])
fi
echo " Playback Support:"
if test x$enable_alsa = xyes; then
echo " ALSA support ..................enabled"
else
echo " ALSA support ..................disabled"
fi
if test x$enable_fifo = xyes; then
echo " FIFO support ..................enabled"
else
echo " FIFO support ..................disabled"
fi
if test x$enable_recorder_output = xyes; then
echo " File Recorder support .........enabled"
else
echo " File Recorder support .........disabled"
fi
if test x$enable_httpd_output = xyes; then
echo " HTTP daemon support ...........enabled"
else
echo " HTTP daemon support ...........disabled"
fi
if test x$enable_jack = xyes; then
echo " JACK support ..................enabled"
else
echo " JACK support ..................disabled"
fi
if test x$enable_ao = xyes; then
echo " libao support .................enabled"
else
echo " libao support .................disabled"
fi
if test x$enable_oss = xyes; then
echo " OSS support ...................enabled"
else
echo " OSS support ...................disabled"
fi
2009-08-31 09:26:22 +02:00
if test x$enable_openal = xyes; then
echo " OpenAL support ................enabled"
else
echo " OpenAL support ................disabled"
fi
if test x$enable_osx = xyes; then
echo " OS X support ..................enabled"
else
echo " OS X support ..................disabled"
fi
if test x$enable_pipe_output = xyes; then
echo " Pipeline output support .......enabled"
else
echo " Pipeline output support .......disabled"
fi
if test x$enable_pulse = xyes; then
echo " PulseAudio support ............enabled"
else
echo " PulseAudio support ............disabled"
fi
if test x$enable_mvp = xyes; then
echo " Media MVP support .............enabled"
else
echo " Media MVP support .............disabled"
fi
if test x$enable_shout = xyes; then
echo " SHOUTcast support .............enabled"
else
echo " SHOUTcast support .............disabled"
fi
if test x$enable_solaris_output = xyes; then
echo " Solaris /dev/audio support ....enabled"
else
echo " Solaris /dev/audio support ....disabled"
fi
echo ""
if
test x$enable_ao = xno &&
test x$enable_oss = xno &&
2009-08-31 09:26:22 +02:00
test x$enable_openal = xno &&
test x$enable_shout = xno &&
test x$enable_recorder_output = xno &&
test x$enable_httpd_output = xno &&
test x$enable_solaris_output = xno &&
test x$enable_alsa = xno &&
test x$enable_osx = xno &&
test x$enable_pulse = xno &&
test x$enable_jack = xno &&
test x$enable_fifo = xno &&
test x$enable_pipe_output = xno &&
test x$enable_mvp = xno; then
AC_MSG_ERROR([No Audio Output types configured!])
fi
if
test x$enable_shout = xyes ||
test x$enable_recorder = xyes ||
test x$enable_httpd_output = xyes; then
echo " Streaming Encoder Support:"
if test x$enable_lame_encoder = xyes; then
echo " LAME mp3 encoder ..............enabled"
else
echo " LAME mp3 encoder ..............disabled"
fi
if test x$enable_vorbis_encoder = xyes; then
echo " Ogg Vorbis encoder ............enabled"
else
echo " Ogg Vorbis encoder ............disabled"
fi
if test x$enable_twolame_encoder = xyes; then
echo " TwoLAME mp3 encoder ...........enabled"
else
echo " TwoLAME mp3 encoder ...........disabled"
fi
if test x$enable_flac_encoder = xyes; then
echo " FLAC encoder ..................enabled"
else
echo " FLAC encoder ..................disabled"
fi
if test x$enable_wave_encoder = xyes; then
echo " PCM wave encoder ..............enabled"
else
echo " PCM wave encoder ..............disabled"
fi
echo ""
fi
echo " File Format Support:"
if test x$enable_aac = xyes; then
echo " AAC support ...................enabled"
else
echo " AAC support ...................disabled"
fi
if test x$enable_sidplay = xyes; then
echo " C64 SID support ...............enabled"
else
echo " C64 SID support ...............disabled"
fi
if test x$enable_ffmpeg = xyes; then
echo " FFMPEG support ................enabled"
else
echo " FFMPEG support ................disabled"
fi
if test x$enable_flac = xyes; then
echo " FLAC support ..................enabled"
else
echo " FLAC support ..................disabled"
fi
if test x$enable_fluidsynth = xyes; then
echo " fluidsynth MIDI support .......enabled"
else
echo " fluidsynth MIDI support .......disabled"
fi
if test x$enable_mikmod = xyes; then
echo " MikMod support ................enabled"
else
echo " MikMod support ................disabled"
fi
if test x$enable_modplug = xyes; then
echo " MODPLUG support ...............enabled"
else
echo " MODPLUG support ...............disabled"
fi
if test x$enable_mad = xyes; then
echo " MAD mp3 decoder support .......enabled"
else
echo " MAD mp3 decoder support .......disabled"
fi
if test x$enable_mpg123 = xyes; then
echo " libmpg123 decoder support .....enabled"
else
echo " libmpg123 decoder support .....disabled"
fi
if test x$enable_mp4 = xyes; then
echo " MP4 support ...................enabled"
else
echo " MP4 support ...................disabled"
fi
if test x$enable_mpc = xyes; then
echo " Musepack (MPC) support ........enabled"
else
echo " Musepack (MPC) support ........disabled"
fi
case $enable_oggflac in
yes)
echo " OggFLAC support ...............enabled"
;;
flac)
echo " OggFLAC support ...............enabled(FLAC 1.1.3)"
;;
*)
echo " OggFLAC support ...............disabled"
;;
esac
if test x$enable_vorbis = xyes; then
echo " Ogg Vorbis support ............enabled"
if test x$use_tremor = xyes; then
echo " using tremor.................yes"
else
echo " using tremor.................no"
fi
else
echo " Ogg Vorbis support ............disabled"
fi
if test x$enable_sndfile = xyes; then
echo " libsndfile ....................enabled"
else
echo " libsndfile ....................disabled"
fi
if test x$enable_audiofile = xyes; then
echo " Wave file support .............enabled"
else
echo " Wave file support .............disabled"
fi
if test x$enable_wavpack = xyes; then
echo " WavPack support ...............enabled"
else
echo " WavPack support ...............disabled"
fi
if test x$enable_wildmidi = xyes; then
echo " wildmidi MIDI support .........enabled"
else
echo " wildmidi MIDI support .........disabled"
fi
if
test x$enable_mad = xno &&
test x$enable_mpg123 = xno &&
test x$enable_vorbis = xno &&
test x$enable_flac = xno &&
test x$enable_oggflac = xno &&
test x$enable_audiofile = xno &&
test x$enable_aac = xno &&
test x$enable_mpc = xno &&
test x$enable_wavpack = xno &&
test x$enable_ffmpeg = xno &&
test x$enable_modplug = xno &&
test x$enable_sidplay = xno &&
test x$enable_fluidsynth = xno &&
test x$enable_wildmidi = xno &&
test x$enable_mp4 = xno &&
test x$enable_mikmod = xno; then
AC_MSG_ERROR([No input plugins supported!])
fi
echo ""
echo " Archive support:"
if test x$enable_bzip2 = xyes; then
echo " BZ2 archives support ..........enabled"
else
echo " BZ2 archives support ..........disabled"
fi
if test x$enable_iso9660 = xyes; then
echo " ISO 9660 archives support .....enabled"
else
echo " ISO 9660 archives support .....disabled"
fi
if test x$enable_zzip = xyes; then
echo " ZIP archives support ..........enabled"
else
echo " ZIP archives support ..........disabled"
fi
echo ""
echo " Streaming support:"
if test x$enable_lastfm = xyes; then
echo " last.fm radio support .........enabled"
else
echo " last.fm radio support .........disabled"
fi
if test x$enable_curl = xyes; then
echo " libcurl support (streaming) ...enabled"
else
echo " libcurl support (streaming) ...disabled"
fi
if test x$enable_mms = xyes; then
echo " libmms support ................enabled"
else
echo " libmms support ................disabled"
fi
echo ""
echo " Other features:"
if test x$enable_id3 = xyes; then
echo " ID3 tag support ...............enabled"
else
echo " ID3 tag support ...............disabled"
fi
if test x$enable_lsr = xyes; then
echo " libsamplerate support .........enabled"
else
echo " libsamplerate support .........disabled"
fi
if test x$with_zeroconf != xno; then
echo " Zeroconf support ..............$with_zeroconf"
else
echo " Zeroconf support ..............disabled"
fi
if test x$enable_cue = xyes; then
echo " libcue support ................enabled"
else
echo " libcue support ................disabled"
fi
if test x$enable_inotify = xyes; then
echo " Inotify support (autoupdate) ..enabled"
else
echo " Inotify support (autoupdate) ..disabled"
fi
echo ""
echo "##########################################"
echo ""
if test x$enable_sndfile = xyes && test x$enable_modplug = xyes; then
AC_MSG_WARN([compilation may fail, because libmodplug conflicts with libsndfile])
AC_MSG_WARN([libmodplug ships modplug/sndfile.h, which hides libsndfile's sndfile.h])
fi
echo "Generating needed files for compilation"
echo ""
dnl
dnl generate files
dnl
AC_OUTPUT(Makefile)
echo ""
echo "You are now ready to compile MPD"
echo "Type \"make\" to compile MPD"