da83f2bbe7
We're using GLib's character set conversion functions instead of iconv now.
895 lines
28 KiB
Plaintext
895 lines
28 KiB
Plaintext
dnl AC_INIT(src/main.c)
|
|
dnl AM_INIT_AUTOMAKE(mpd, 0.14.0)
|
|
|
|
AC_PREREQ(2.60)
|
|
AC_INIT(mpd-mk, 0.14~git, max@duempel.org)
|
|
AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION)
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AC_SUBST(MPD_LIBS)
|
|
AC_SUBST(MPD_CFLAGS)
|
|
AC_SUBST(MP4FF_LIB)
|
|
AC_SUBST(MP4FF_SUBDIR)
|
|
|
|
dnl Remove the check for c++ and fortran compiler
|
|
m4_defun([_LT_AC_LANG_CXX_CONFIG], [:])
|
|
m4_defun([_LT_AC_LANG_F77_CONFIG], [:])
|
|
|
|
AC_LANG(C)
|
|
AC_PROG_CC_C99
|
|
AM_PROG_CC_C_O
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LIBTOOL
|
|
AC_PROG_MAKE_SET
|
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
AC_DEFINE(PROTOCOL_VERSION, "0.14.0", [The mpd protocol version])
|
|
|
|
MPD_LIBS=""
|
|
MPD_CFLAGS=""
|
|
|
|
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
|
|
|
|
AC_ARG_ENABLE(werror,
|
|
AS_HELP_STRING([--enable-werror],
|
|
[Treat warnings as errors (default: disabled)]),
|
|
[ENABLE_WERROR=$enableval], [ENABLE_WERROR=no])
|
|
AC_ARG_ENABLE(debug,
|
|
AS_HELP_STRING([--enable-debug],
|
|
[Enable debugging (default: disabled)]),
|
|
[ENABLE_DEBUG=$enableval], [ENABLE_DEBUG=no])
|
|
AC_ARG_ENABLE(gprof,
|
|
AS_HELP_STRING([--enable-gprof],
|
|
[Enable profiling via gprof (default: disabled)]),
|
|
[ENABLE_GPROF=$enableval], [ENABLE_GPROF=no])
|
|
|
|
AC_ARG_ENABLE(ao,[ --enable-ao enable support for libao (default: disable)],[enable_ao=$enableval],[enable_ao=no])
|
|
AC_ARG_ENABLE(shout_ogg,[ --disable-shout_ogg disable support for ogg streaming through shout (default: enable)],[enable_shout_ogg=$enableval],[enable_shout_ogg=yes])
|
|
AC_ARG_ENABLE(shout_mp3,[ --disable-shout_mp3 disable support for mp3 streaming through shout (default: enable)],[enable_shout_mp3=$enableval],[enable_shout_mp3=yes])
|
|
AC_ARG_ENABLE(ipv6,[ --disable-ipv6 disable IPv6 support (default: enable)],[enable_ipv6=$enableval],[enable_ipv6=yes])
|
|
AC_ARG_ENABLE(tcp,[ --disable-tcp disable support for clients connecting via TCP (default: enable)],[enable_tcp=$enableval],[enable_tcp=yes])
|
|
AC_ARG_ENABLE(un,[ --enable-un enable support for clients connecting via unix domain sockets (default: disable)],[enable_un=$enableval],[enable_un=yes])
|
|
AC_ARG_ENABLE(oss,[ --disable-oss disable OSS support (default: enable)],[enable_oss=$enableval],[enable_oss=yes])
|
|
AC_ARG_ENABLE(alsa,[ --disable-alsa disable ALSA support (default: enable)],[enable_alsa=$enableval],[enable_alsa=yes])
|
|
AC_ARG_ENABLE(jack,[ --disable-jack disable jack support (default: enable)],[enable_jack=$enableval],[enable_jack=yes])
|
|
AC_ARG_ENABLE(pulse,[ --disable-pulse disable support for the PulseAudio sound server (default: enable)],[enable_pulse=$enableval],[enable_pulse=yes])
|
|
AC_ARG_ENABLE(fifo,[ --disable-fifo disable support for writing audio to a FIFO (default: enable)],[enable_fifo=$enableval],[enable_fifo=yes])
|
|
AC_ARG_ENABLE(mvp,[ --enable-mvp enable support for Hauppauge Media MVP (default: disable)],[enable_mvp=$enableval],[enable_mvp=no])
|
|
AC_ARG_ENABLE(oggvorbis,[ --disable-oggvorbis disable Ogg Vorbis support (default: enable)],[enable_oggvorbis=$enableval],enable_oggvorbis=yes)
|
|
AC_ARG_ENABLE(oggflac,[ --disable-oggflac disable OggFLAC support (default: enable)],[enable_oggflac=$enableval],enable_oggflac=yes)
|
|
AC_ARG_ENABLE(flac,[ --disable-flac disable flac support (default: enable)],[enable_flac=$enableval],[enable_flac=yes])
|
|
AC_ARG_ENABLE(mp3,[ --disable-mp3 disable mp3 support (default: enable)],[enable_mp3=$enableval],[enable_mp3=yes])
|
|
AC_ARG_ENABLE(lame,[ --disable-lame disable lame support (default: enable)],[enable_lame=$enableval],[enable_lame=yes])
|
|
AC_ARG_ENABLE(aac,[ --disable-aac disable AAC support (default: enable)],[enable_aac=$enableval],[enable_aac=yes])
|
|
AC_ARG_ENABLE(audiofile,[ --disable-audiofile disable audiofile support, disables wave support (default: enable)],[enable_audiofile=$enableval],[enable_audiofile=yes])
|
|
AC_ARG_ENABLE(mod,[ --enable-mod enable MOD support (default: disable)],[enable_mod=$enableval],[enable_mod=yes])
|
|
AC_ARG_ENABLE(mpc,[ --disable-mpc disable musepack (MPC) support (default: enable)],[enable_mpc=$enableval],[enable_mpc=yes])
|
|
AC_ARG_ENABLE(wavpack,[ --disable-wavpack disable WavPack support (default: enable)],[enable_wavpack=$enableval],[enable_wavpack=yes])
|
|
AC_ARG_ENABLE(id3,[ --disable-id3 disable id3 support (default: enable)],[enable_id3=$enableval],[enable_id3=yes])
|
|
AC_ARG_ENABLE(lsr,[ --disable-lsr disable libsamplerate support (default: enable)],[enable_lsr=$enableval],[enable_lsr=yes])
|
|
|
|
AC_ARG_WITH(tremor,[[ --with-tremor[=PFX] Use Tremor(vorbisidec) integer Ogg-Vorbis decoder (with optional prefix)]], use_tremor=yes; test x$withval != xyes && tremor_prefix="$withval",)
|
|
AC_ARG_WITH(tremor-libraries,[ --with-tremor-libraries=DIR Directory where Tremor library is installed (optional)], tremor_libraries="$withval", tremor_libraries="")
|
|
AC_ARG_WITH(tremor-includes,[ --with-tremor-includes=DIR Directory where Tremor header files are installed (optional)], tremor_includes="$withval", tremor_includes="")
|
|
|
|
AC_ARG_WITH(id3tag,[ --with-id3tag=PFX Prefix where libid3tag is installed (optional)], id3tag_prefix="$withval", id3tag_prefix="")
|
|
AC_ARG_WITH(id3tag-libraries,[ --with-id3tag-libraries=DIR Directory where libid3tag library is installed (optional)], id3tag_libraries="$withval", id3tag_libraries="")
|
|
AC_ARG_WITH(id3tag-includes,[ --with-id3tag-includes=DIR Directory where libid3tag header files are installed (optional)], id3tag_includes="$withval", id3tag_includes="")
|
|
|
|
AC_ARG_WITH(faad,[ --with-faad=PFX Prefix where faad2 is installed], faad_prefix="$withval", faad_prefix="")
|
|
AC_ARG_WITH(faad-libraries,[ --with-faad-libraries=DIR Directory where faad2 library is installed (optional)], faad_libraries="$withval", faad_libraries="")
|
|
AC_ARG_WITH(faad-includes,[ --with-faad-includes=DIR Directory where faad2 header files are installed (optional)], faad_includes="$withval", faad_includes="")
|
|
AC_ARG_WITH(zeroconf,[[ --with-zeroconf=[auto|avahi|bonjour|no] Enable zeroconf backend (default=auto)]], with_zeroconf="$withval", with_zeroconf="auto")
|
|
|
|
AC_C_BIGENDIAN
|
|
|
|
AC_CHECK_HEADER(sys/inttypes.h,AC_DEFINE(HAVE_SYS_INTTYPES_H,1,[Define if sys/inttypes.h present]),)
|
|
|
|
AC_CHECK_LIB(socket,socket,MPD_LIBS="$MPD_LIBS -lsocket",)
|
|
AC_CHECK_LIB(nsl,gethostbyname,MPD_LIBS="$MPD_LIBS -lnsl",)
|
|
|
|
AC_CHECK_LIB(m,exp,MPD_LIBS="$MPD_LIBS -lm",)
|
|
AC_CHECK_FUNCS(setenv)
|
|
|
|
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.4],,
|
|
[AC_MSG_ERROR([glib-2.4 is required])])
|
|
|
|
dnl doesn't work for systems that don't have CODESET like OpenBSD
|
|
dnl AC_CHECK_HEADER(langinfo.h,[enable_langinfo=yes;AC_DEFINE(HAVE_LANGINFO,1,[Define if nl_langinfo.h is present])],enable_langinfo=no)
|
|
AM_LANGINFO_CODESET
|
|
AC_CHECK_HEADER(locale.h,[enable_locale=yes;AC_DEFINE(HAVE_LOCALE,1,[Define if locale.h is present])],enable_locale=no)
|
|
|
|
ACX_PTHREAD([CC="$PTHREAD_CC"
|
|
LIBS="$PTHREAD_LIBS $LIBS"
|
|
CFLAGS="$PTHREAD_CFLAGS $CFLAGS"])
|
|
|
|
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
|
|
|
|
if test x$enable_un = xyes; then
|
|
AC_DEFINE(HAVE_UN, 1, [Define if unix domain socket support is enabled])
|
|
fi
|
|
|
|
enable_osx=no
|
|
case $host 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
|
|
|
|
if test x$enable_shout_ogg = xyes || x$enable_shout_mp3 = xyes; then
|
|
XIPH_PATH_SHOUT([enable_shout=yes;AC_DEFINE(HAVE_SHOUT, 1, [Define to enable libshout support]) MPD_LIBS="$MPD_LIBS $SHOUT_LIBS" MPD_CFLAGS="$MPD_CFLAGS $SHOUT_CFLAGS"], [AC_MSG_WARN(libshout not found -- disabling shout support);enable_shout=no])
|
|
fi
|
|
|
|
if test x$enable_shout_ogg = xyes; then
|
|
if test x$enable_oggvorbis = xno; then
|
|
AC_MSG_WARN([disabling ogg shout streaming support because vorbis is not enabled])
|
|
enable_shout_ogg=no
|
|
fi
|
|
if test x$use_tremor = xyes; then
|
|
AC_MSG_WARN([disabling ogg shout streaming support because tremor does not support vorbis encoding])
|
|
enable_shout_ogg=no
|
|
fi
|
|
if test x$enable_shout = xno; then
|
|
AC_MSG_WARN([disabling ogg shout streaming support because libshout is not found])
|
|
enable_shout_ogg=no
|
|
fi
|
|
if test x$enable_shout_ogg = xyes; then
|
|
PKG_CHECK_MODULES(VORBISENC, [vorbisenc],
|
|
AC_DEFINE(HAVE_SHOUT_OGG, 1, [Define to enable ogg streaming support]),
|
|
enable_shout_ogg=no)
|
|
fi
|
|
fi
|
|
|
|
if test x$enable_shout_mp3 = xyes; then
|
|
if test x$enable_lame = xno; then
|
|
AC_MSG_WARN([disabling mp3 shout streaming support because lame is not enabled])
|
|
enable_shout_mp3=no
|
|
fi
|
|
if test x$enable_shout = xno; then
|
|
AC_MSG_WARN([disabling mp3 shout streaming support because libshout is not found])
|
|
enable_shout_mp3=no
|
|
fi
|
|
if test x$enable_shout_mp3 = xyes; then
|
|
AC_DEFINE(HAVE_SHOUT_MP3, 1, [Define to enable mp3 streaming support])
|
|
fi
|
|
fi
|
|
|
|
if test x$enable_ao = xyes; then
|
|
PKG_CHECK_MODULES(AO, [ao],
|
|
AC_DEFINE(HAVE_AO, 1, [Define to play with ao]),
|
|
enable_ao=no)
|
|
fi
|
|
|
|
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
|
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
if test x$enable_pulse = xyes; then
|
|
PKG_CHECK_MODULES([PULSE], [libpulse-simple],
|
|
[enable_pulse=yes;AC_DEFINE([HAVE_PULSE], 1, [Define to enable PulseAudio support])] MPD_LIBS="$MPD_LIBS $PULSE_LIBS" MPD_CFLAGS="$MPD_CFLAGS $PULSE_CFLAGS",
|
|
[enable_pulse=no;AC_MSG_WARN([PulseAudio not found -- disabling])])
|
|
fi
|
|
|
|
if test x$enable_lsr = xyes; then
|
|
PKG_CHECK_MODULES([SAMPLERATE], [samplerate >= 0.0.15],
|
|
[enable_lsr=yes;AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Define to enable libsamplerate])] MPD_LIBS="$MPD_LIBS $SAMPLERATE_LIBS" MPD_CFLAGS="$MPD_CFLAGS $SAMPLERATE_CFLAGS",
|
|
[enable_lsr=no;AC_MSG_WARN([libsamplerate not found -- disabling])])
|
|
fi
|
|
|
|
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
|
|
|
|
if test x$enable_mvp = xyes; then
|
|
AC_DEFINE(HAVE_MVP,1,[Define to enable Hauppauge Media MVP support])
|
|
fi
|
|
|
|
if test x$enable_alsa = xyes; then
|
|
PKG_CHECK_MODULES(ALSA, [alsa >= 0.9.0],
|
|
AC_DEFINE(HAVE_ALSA, 1, [Define to enable ALSA support]),
|
|
enable_alsa=no)
|
|
fi
|
|
|
|
if test x$enable_jack = xyes; then
|
|
PKG_CHECK_MODULES([JACK], [jack >= 0.4],
|
|
[enable_jack=yes;AC_DEFINE([HAVE_JACK], 1, [Define to enable JACK support])] MPD_LIBS="$MPD_LIBS $JACK_LIBS" MPD_CFLAGS="$MPD_CFLAGS $JACK_CFLAGS",
|
|
[enable_jack=no;AC_MSG_WARN([JACK not found -- disabling])])
|
|
fi
|
|
|
|
ID3_SUBDIR=""
|
|
|
|
if test x$enable_id3 = xyes; then
|
|
if test "x$id3tag_libraries" != "x" ; then
|
|
ID3TAG_LIBS="-L$id3tag_libraries"
|
|
elif test "x$id3tag_prefix" != "x" ; then
|
|
ID3TAG_LIBS="-L$id3tag_prefix/lib"
|
|
fi
|
|
|
|
ID3TAG_LIBS="$ID3TAG_LIBS -lid3tag -lz"
|
|
|
|
if test "x$id3tag_includes" != "x" ; then
|
|
ID3TAG_CFLAGS="-I$id3tag_includes"
|
|
elif test "x$id3tag_prefix" != "x" ; then
|
|
ID3TAG_CFLAGS="-I$id3tag_prefix/include"
|
|
fi
|
|
|
|
ID3TAG_CFLAGS="$ID3TAG_CFLAGS"
|
|
|
|
oldcflags=$CFLAGS
|
|
oldlibs=$LIBS
|
|
oldcppflags=$CPPFLAGS
|
|
CFLAGS="$CFLAGS $MPD_CFLAGS $ID3TAG_CFLAGS"
|
|
LIBS="$LIBS $MPD_LIBS $ID3TAG_LIBS"
|
|
CPPFLAGS=$CFLAGS
|
|
AC_CHECK_HEADERS(id3tag.h,use_libid3tag=yes,
|
|
[use_libid3tag=no])
|
|
if test x$use_libid3tag = xyes; then
|
|
AC_CHECK_LIB(id3tag,id3_file_open,
|
|
[MPD_LIBS="$MPD_LIBS $ID3TAG_LIBS";
|
|
MPD_CFLAGS="$MPD_CFLAGS $ID3TAG_CFLAGS";
|
|
use_libid3tag=yes],
|
|
[use_libid3tag=no])
|
|
fi
|
|
CFLAGS=$oldcflags
|
|
LIBS=$oldlibs
|
|
CPPFLAGS=$oldcppflags
|
|
if test x$use_libid3tag = xyes; then
|
|
AC_DEFINE(HAVE_ID3TAG,1,[Define to use id3tag])
|
|
else
|
|
enable_id3=no
|
|
fi
|
|
fi
|
|
|
|
MAD_SUBDIR=""
|
|
|
|
if test x$enable_mp3 = xyes; then
|
|
if test "x$mad_libraries" != "x" ; then
|
|
MAD_LIBS="-L$mad_libraries"
|
|
elif test "x$mad_prefix" != "x" ; then
|
|
MAD_LIBS="-L$mad_prefix/lib"
|
|
fi
|
|
|
|
MAD_LIBS="$MAD_LIBS -lmad"
|
|
|
|
if test "x$mad_includes" != "x" ; then
|
|
MAD_CFLAGS="-I$mad_includes"
|
|
elif test "x$mad_prefix" != "x" ; then
|
|
MAD_CFLAGS="-I$mad_prefix/include"
|
|
fi
|
|
|
|
oldcflags=$CFLAGS
|
|
oldlibs=$LIBS
|
|
oldcppflags=$CPPFLAGS
|
|
CFLAGS="$CFLAGS $MPD_CFLAGS $MAD_CFLAGS"
|
|
LIBS="$LIBS $MPD_LIBS $MAD_LIBS"
|
|
CPPFLAGS=$CFLAGS
|
|
AC_CHECK_HEADERS(mad.h,use_libmad=yes,
|
|
[use_libmad=no])
|
|
if test x$use_libmad = xyes; then
|
|
AC_CHECK_LIB(mad,mad_stream_init,[MPD_LIBS="$MPD_LIBS $MAD_LIBS";
|
|
MPD_CFLAGS="$MPD_CFLAGS $MAD_CFLAGS";
|
|
use_libmad=yes],[use_libmad=no])
|
|
fi
|
|
CFLAGS=$oldcflags
|
|
LIBS=$oldlibs
|
|
CPPFLAGS=$oldcppflags
|
|
if test x$use_libmad = xyes; then
|
|
AC_DEFINE(HAVE_MAD,1,[Define to use libmad])
|
|
else
|
|
enable_mp3=no
|
|
fi
|
|
fi
|
|
|
|
if test x$enable_lame = xyes; then
|
|
AM_PATH_LAME([MPD_LIBS="$MPD_LIBS $LAME_LIBS" MPD_CFLAGS="$MPD_CFLAGS $LAME_CFLAGS"],
|
|
[enable_lame=no;AC_MSG_WARN(You need lame -- disabling lame support)])
|
|
fi
|
|
|
|
|
|
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(mpcdec/mpcdec.h,,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])
|
|
else
|
|
AC_MSG_WARN([mpcdec lib needed for MPC support -- disabling MPC support])
|
|
fi
|
|
CFLAGS=$oldcflags
|
|
LIBS=$oldlibs
|
|
CPPFLAGS=$oldcppflags
|
|
fi
|
|
|
|
if test x$enable_wavpack = xyes; then
|
|
PKG_CHECK_MODULES([WAVPACK], [wavpack],
|
|
[enable_wavpack=yes;AC_DEFINE([HAVE_WAVPACK], 1, [Define to enable WavPack support])] MPD_LIBS="$MPD_LIBS $WAVPACK_LIBS" MPD_CFLAGS="$MPD_CFLAGS $WAVPACK_CFLAGS",
|
|
[enable_wavpack=no;AC_MSG_WARN([WavPack not found -- disabling])])
|
|
fi
|
|
|
|
MP4FF_SUBDIR=""
|
|
|
|
if test x$enable_aac = xyes; then
|
|
if test "x$faad_libraries" != "x" ; then
|
|
FAAD_LIBS="-L$faad_libraries"
|
|
elif test "x$faad_prefix" != "x" ; then
|
|
FAAD_LIBS="-L$faad_prefix/lib"
|
|
fi
|
|
|
|
FAAD_LIBS="$FAAD_LIBS -lfaad"
|
|
|
|
if test "x$faad_includes" != "x" ; then
|
|
FAAD_CFLAGS="-I$faad_includes"
|
|
elif test "x$faad_prefix" != "x" ; then
|
|
FAAD_CFLAGS="-I$faad_prefix/include"
|
|
fi
|
|
|
|
oldcflags=$CFLAGS
|
|
oldlibs=$LIBS
|
|
oldcppflags=$CPPFLAGS
|
|
CFLAGS="$CFLAGS $MPD_CFLAGS $FAAD_CFLAGS -I."
|
|
LIBS="$LIBS $MPD_LIBS $FAAD_LIBS"
|
|
CPPFLAGS=$CFLAGS
|
|
AC_CHECK_HEADER(faad.h,,enable_aac=no)
|
|
if test x$enable_aac = xyes; then
|
|
AC_CHECK_DECL(FAAD2_VERSION,,enable_aac=no,[#include <faad.h>])
|
|
fi
|
|
if test x$enable_aac = xyes; then
|
|
AC_CHECK_DECL(faacDecInit2,,enable_aac=no,[#include <faad.h>])
|
|
fi
|
|
if test x$enable_aac = xyes; then
|
|
AC_CHECK_LIB(faad,faacDecInit2,[MPD_LIBS="$MPD_LIBS $FAAD_LIBS";MPD_CFLAGS="$MPD_CFLAGS $FAAD_CFLAGS";MP4FF_SUBDIR="mp4ff";MP4FF_LIB="mp4ff/libmp4ff.la"],enable_aac=no)
|
|
if test x$enable_aac = xno; then
|
|
enable_aac=yes
|
|
AC_CHECK_LIB(faad,NeAACDecInit2,[MPD_LIBS="$MPD_LIBS $FAAD_LIBS";MPD_CFLAGS="$MPD_CFLAGS $FAAD_CFLAGS";MP4FF_SUBDIR="mp4ff";MP4FF_LIB="mp4ff/libmp4ff.la"],enable_aac=no)
|
|
fi
|
|
fi
|
|
if test x$enable_aac = xyes; then
|
|
AC_MSG_CHECKING(that FAAD2 uses buffer and bufferlen)
|
|
AC_COMPILE_IFELSE([
|
|
#include <faad.h>
|
|
|
|
int main() {
|
|
char buffer;
|
|
long bufferlen = 0;
|
|
faacDecHandle decoder;
|
|
faacDecFrameInfo frameInfo;
|
|
faacDecConfigurationPtr config;
|
|
unsigned char channels;
|
|
long sampleRate;
|
|
mp4AudioSpecificConfig mp4ASC;
|
|
|
|
decoder = faacDecOpen();
|
|
config = faacDecGetCurrentConfiguration(decoder);
|
|
config->outputFormat = FAAD_FMT_16BIT;
|
|
faacDecSetConfiguration(decoder,config);
|
|
AudioSpecificConfig(&buffer, bufferlen, &mp4ASC);
|
|
faacDecInit(decoder,&buffer,bufferlen,&sampleRate,&channels);
|
|
faacDecInit2(decoder,&buffer,bufferlen,&sampleRate,&channels);
|
|
faacDecDecode(decoder,&frameInfo,&buffer,bufferlen);
|
|
|
|
return 0;
|
|
}
|
|
],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_FAAD_BUFLEN_FUNCS,1,[Define if FAAD2 uses buflen in function calls])],[AC_MSG_RESULT(no);
|
|
AC_MSG_CHECKING(that FAAD2 can even be used)
|
|
AC_COMPILE_IFELSE([
|
|
#include <faad.h>
|
|
|
|
int main() {
|
|
char buffer;
|
|
faacDecHandle decoder;
|
|
faacDecFrameInfo frameInfo;
|
|
faacDecConfigurationPtr config;
|
|
unsigned char channels;
|
|
long sampleRate;
|
|
long bufferlen = 0;
|
|
unsigned long dummy1_32;
|
|
unsigned char dummy2_8, dummy3_8, dummy4_8, dummy5_8, dummy6_8,
|
|
dummy7_8, dummy8_8;
|
|
|
|
decoder = faacDecOpen();
|
|
config = faacDecGetCurrentConfiguration(decoder);
|
|
config->outputFormat = FAAD_FMT_16BIT;
|
|
faacDecSetConfiguration(decoder,config);
|
|
AudioSpecificConfig(&buffer,&dummy1_32,&dummy2_8,
|
|
&dummy3_8,&dummy4_8,&dummy5_8,
|
|
&dummy6_8,&dummy7_8,&dummy8_8);
|
|
faacDecInit(decoder,&buffer,&sampleRate,&channels);
|
|
faacDecInit2(decoder,&buffer,bufferlen,&sampleRate,&channels);
|
|
faacDecDecode(decoder,&frameInfo,&buffer);
|
|
faacDecClose(decoder);
|
|
|
|
return 0;
|
|
}
|
|
],AC_MSG_RESULT(yes),[AC_MSG_RESULT(no);enable_aac=no])
|
|
])
|
|
fi
|
|
if test x$enable_aac = xyes; then
|
|
AC_CHECK_TYPES(mp4AudioSpecificConfig,,,[#include <faad.h>])
|
|
AC_CHECK_MEMBERS([faacDecConfiguration.downMatrix,faacDecConfiguration.dontUpSampleImplicitSBR,faacDecFrameInfo.samplerate],,,[#include <faad.h>])
|
|
AC_DEFINE(HAVE_FAAD,1,[Define to use FAAD2 for AAC decoding])
|
|
else
|
|
AC_MSG_WARN([faad2 lib needed for MP4/AAC support -- disabling MP4/AAC support])
|
|
fi
|
|
CFLAGS=$oldcflags
|
|
LIBS=$oldlibs
|
|
CPPFLAGS=$oldcppflags
|
|
fi
|
|
|
|
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_oggvorbis=yes,enable_oggvorbis=no;AC_MSG_WARN([vorbisidec lib needed for ogg support with tremor -- disabling ogg support]))
|
|
if test x$enable_oggvorbis = xno; then
|
|
CFLAGS="$ac_save_CFLAGS"
|
|
LIBS="$ac_save_LIBS"
|
|
fi
|
|
elif test x$enable_oggvorbis = xyes; then
|
|
PKG_CHECK_MODULES(OGGVORBIS, [ogg vorbis vorbisfile],
|
|
AC_DEFINE(HAVE_OGGVORBIS, 1, [Define for Ogg Vorbis support]),
|
|
enable_oggvorbis=no)
|
|
fi
|
|
|
|
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
|
|
|
|
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; then
|
|
AC_CHECK_DECL(FLAC_API_SUPPORTS_OGG_FLAC,
|
|
[enable_oggflac=flac], [],
|
|
[#include <FLAC/export.h>])
|
|
fi
|
|
CFLAGS="$oldcflags"
|
|
LIBS="$oldlibs"
|
|
fi
|
|
|
|
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
|
|
|
|
|
|
if test x$enable_audiofile = xyes; then
|
|
PKG_CHECK_MODULES(AUDIOFILE, [audiofile >= 0.1.7],
|
|
AC_DEFINE(HAVE_AUDIOFILE, 1, [Define for audiofile support]),
|
|
enable_audiofile=no)
|
|
fi
|
|
|
|
if test x$enable_mod = xyes; then
|
|
PKG_CHECK_MODULES(LIBMIKMOD, [libmikmod],
|
|
AC_DEFINE(HAVE_MIKMOD, 1, [Define for mikmod support]),
|
|
enable_mod=no)
|
|
fi
|
|
|
|
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],
|
|
[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
|
|
|
|
|
|
dnl
|
|
dnl build options
|
|
dnl
|
|
|
|
if test "x$ENABLE_WERROR" = xyes; then
|
|
MPD_CFLAGS="$MPD_CFLAGS -Werror -pedantic-errors"
|
|
fi
|
|
|
|
#if test "x$ENABLE_DEBUG" = xno; then
|
|
# don't set NDEBUG for now, until MPD is stable
|
|
#MPD_CFLAGS="$MPD_CFLAGS -DNDEBUG"
|
|
#fi
|
|
|
|
if test "x$ENABLE_GPROF" = xyes; then
|
|
MPD_CFLAGS="$MPD_CFLAGS -pg"
|
|
fi
|
|
|
|
|
|
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 generate files
|
|
dnl
|
|
|
|
|
|
AC_OUTPUT(src/mp4ff/Makefile doc/Makefile src/Makefile Makefile )
|
|
|
|
|
|
dnl
|
|
dnl pretty-print result
|
|
dnl
|
|
|
|
echo ""
|
|
echo "########### MPD CONFIGURATION ############"
|
|
echo ""
|
|
|
|
echo " Client Support:"
|
|
if test x$enable_tcp = xyes; then
|
|
echo " TCP support ...................enabled"
|
|
else
|
|
echo " TCP support ...................disabled"
|
|
fi
|
|
|
|
if test x$enable_ipv6 = xyes; then
|
|
echo " IPv6 support ..................enabled"
|
|
else
|
|
echo " IPv6 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_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
|
|
|
|
if test x$enable_alsa = xyes; then
|
|
echo " ALSA support ..................enabled"
|
|
else
|
|
echo " ALSA support ..................disabled"
|
|
fi
|
|
|
|
if test x$enable_jack = xyes; then
|
|
echo " JACK support ..................enabled"
|
|
else
|
|
echo " JACK 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_pulse = xyes; then
|
|
echo " PulseAudio support ............enabled"
|
|
else
|
|
echo " PulseAudio support ............disabled"
|
|
fi
|
|
|
|
if test x$enable_fifo = xyes; then
|
|
echo " FIFO support ..................enabled"
|
|
else
|
|
echo " FIFO 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_ogg = xyes; then
|
|
echo " Shout ogg streaming support ...enabled"
|
|
else
|
|
echo " Shout ogg streaming support ...disabled"
|
|
fi
|
|
|
|
if test x$enable_shout_mp3 = xyes; then
|
|
echo " Shout mp3 streaming support ...enabled"
|
|
else
|
|
echo " Shout mp3 streaming support ...disabled"
|
|
fi
|
|
|
|
echo ""
|
|
|
|
if test x$enable_ao = xno &&
|
|
test x$enable_oss = xno &&
|
|
test x$enable_shout_ogg = xno &&
|
|
test x$enable_shout_mp3 = 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_mvp = xno; then
|
|
AC_MSG_ERROR([No Audio Output types configured!])
|
|
fi
|
|
|
|
echo " File Format Support:"
|
|
|
|
if test x$enable_id3 = xyes; then
|
|
echo " ID3 tag support ...............enabled"
|
|
else
|
|
echo " ID3 tag support ...............disabled"
|
|
fi
|
|
|
|
if test x$enable_mp3 = xyes; then
|
|
echo " mp3 support ...................enabled"
|
|
else
|
|
echo " mp3 support ...................disabled"
|
|
fi
|
|
|
|
if test x$enable_lame = xyes; then
|
|
echo " lame support ..................enabled"
|
|
else
|
|
echo " lame support ..................disabled"
|
|
fi
|
|
|
|
if test x$enable_oggvorbis = 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_flac = xyes; then
|
|
echo " FLAC support ..................enabled"
|
|
else
|
|
echo " FLAC 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_audiofile = xyes; then
|
|
echo " Wave file support .............enabled"
|
|
else
|
|
echo " Wave file support .............disabled"
|
|
fi
|
|
|
|
if test x$enable_aac = xyes; then
|
|
echo " MP4/AAC support ...............enabled"
|
|
else
|
|
echo " MP4/AAC support ...............disabled"
|
|
fi
|
|
|
|
if test x$enable_mpc = xyes; then
|
|
echo " Musepack (MPC) support ........enabled"
|
|
else
|
|
echo " Musepack (MPC) support ........disabled"
|
|
fi
|
|
|
|
if test x$enable_wavpack = xyes; then
|
|
echo " WavPack support ...............enabled"
|
|
else
|
|
echo " WavPack support ...............disabled"
|
|
fi
|
|
|
|
if test x$enable_mod = xyes; then
|
|
echo " MOD support ...................enabled"
|
|
else
|
|
echo " MOD support ...................disabled"
|
|
fi
|
|
|
|
if
|
|
test x$enable_mp3 = xno &&
|
|
test x$enable_oggvorbis = 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_mod = xno; then
|
|
AC_MSG_ERROR([No input plugins supported!])
|
|
fi
|
|
|
|
echo ""
|
|
echo " Other features:"
|
|
|
|
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
|
|
|
|
echo ""
|
|
echo "##########################################"
|
|
echo ""
|
|
echo "You are now ready to compile MPD"
|
|
echo "Type \"make\" to compile MPD"
|