aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac276
1 files changed, 276 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 000000000..a8f2b3fb6
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,276 @@
+dnl AC_INIT(src/main.c)
+dnl AM_INIT_AUTOMAKE(mpd, 0.10.0)
+
+AC_PREREQ(2.52)
+AC_INIT(mpd, 0.10.0, shank@mercury.chem.pitt.edu)
+AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION)
+
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_LIBTOOL
+
+dnl MAD wants this stuff
+AC_SUBST(CCAS)
+AC_SUBST(CCASFLAGS)
+
+AC_SUBST(MAD_SUBDIR)
+AC_SUBST(MAD_LIB)
+AC_SUBST(ID3_SUBDIR)
+AC_SUBST(ID3_LIB)
+AC_SUBST(MPD_LIBS)
+AC_SUBST(MPD_CFLAGS)
+
+MPD_CFLAGS="-Wall"
+MPD_LIBS=""
+
+AC_ARG_ENABLE(iconv,[ --disable-iconv disable iconv support],,enable_iconv=yes)
+AC_ARG_ENABLE(ipv6,[ --disable-ipv6 disable IPv6 support],,enable_ipv6=yes)
+AC_ARG_ENABLE(ogg,[ --disable-ogg disable ogg support],,enable_ogg=yes)
+AC_ARG_ENABLE(flac,[ --disable-flac disable flac support],,enable_flac=yes)
+AC_ARG_ENABLE(mp3,[ --disable-mp3 disable mp3 support],,enable_mp3=yes)
+AC_ARG_ENABLE(audiofile,[ --disable-audiofile disable audiofile support, disables wave support],,enable_audiofile=yes)
+AC_ARG_ENABLE(mpd_mad,[ --enable-mpd-mad use mpd libmad],use_mpd_mad=yes,)
+AC_ARG_ENABLE(id3,[ --disable-id3 disable id3 support],,enable_id3=yes)
+AC_ARG_ENABLE(mpd_id3tag,[ --enable-mpd-id3tag use mpd libid3tag],use_mpd_id3tag=yes,)
+
+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(mad,[ --with-mad=PFX Prefix where libmad is installed (optional)], mad_prefix="$withval", mad_prefix="")
+AC_ARG_WITH(mad-libraries,[ --with-mad-libraries=DIR Directory where libmad library is installed (optional)], mad_libraries="$withval", mad_libraries="")
+AC_ARG_WITH(mad-includes,[ --with-mad-includes=DIR Directory where mad header files are installed (optional)], mad_includes="$withval", mad_includes="")
+
+AC_C_BIGENDIAN
+
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
+
+AC_CHECK_LIB(socket,socket,MPD_LIBS="$MPD_LIBS -lsocket",)
+AC_CHECK_LIB(nsl,gethostbyname,MPD_LIBS="$MPD_LIBS -lnsl",)
+
+AC_CHECK_HEADER(langinfo.h,MPD_CFLAGS="$MPD_CFLAGS -DHAVE_LANGINFO",)
+AC_CHECK_HEADER(locale.h,MPD_CFLAGS="$MPD_CFLAGS -DHAVE_LOCALE",)
+
+if test x$enable_iconv = xyes; then
+ AC_CHECK_HEADER(iconv.h,MPD_CFLAGS="$MPD_CFLAGS -DHAVE_ICONV",enable_iconv=no)
+ if test x$enable_iconv = xyes; then
+ AC_CHECK_LIB(iconv,iconv,MPD_LIBS="$MPD_LIBS -liconv",)
+ fi
+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
+ ],
+ MPD_CFLAGS="$MPD_CFLAGS -DHAVE_IPV6"
+ AC_MSG_RESULT([yes]),
+ AC_MSG_RESULT([no])
+)
+fi
+
+XIPH_PATH_AO(MPD_LIBS="$MPD_LIBS $AO_LIBS" MPD_CFLAGS="$MPD_CFLAGS $AO_CFLAGS",AC_MSG_ERROR(Must have libao installed!!!))
+AC_CHECK_HEADER(sys/soundcard.h,,[MPD_CFLAGS="$MPD_CFLAGS -DNO_OSS_MIXER";AC_MSG_WARN(Soundcard headers not found -- disabling mixer)])
+
+AC_MSG_CHECKING(for alsa)
+AC_EGREP_CPP([AP_maGiC_VALUE],
+[
+#include <alsa/asoundlib.h>
+#if defined(SND_LIB_MAJOR) && defined(SND_LIB_MINOR)
+#if SND_LIB_MAJOR>0 || (SND_LIB_MAJOR==0 && SND_LIB_MINOR>=6)
+AP_maGiC_VALUE
+#endif
+#endif
+],
+MPD_CFLAGS="$MPD_CFLAGS -DHAVE_ALSA"
+MPD_LIBS="$MPD_LIBS -lasound"
+AC_MSG_RESULT([yes]),
+AC_MSG_RESULT([no])
+)
+
+ID3_SUBDIR=""
+
+if test x$enable_id3 = xyes; then
+ if test x$use_mpd_id3tag = xyes; then
+ ID3_SUBDIR="libid3tag"
+ else
+ 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"
+ elif test "x$prefix" != "xNONE"; then
+ ID3TAG_LIBS="-L$libdir"
+ 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/lib"
+ elif test "x$prefix" != "xNONE"; then
+ ID3TAG_CFLAGS="-I$libdir"
+ fi
+
+ ID3TAG_CFLAGS="$ID3TAG_CFLAGS"
+
+ oldcflags=$CFLAGS
+ CFLAGS="$CFLAGS $ID3TAG_CFLAGS $ID3TAG_LIBS"
+ AC_CHECK_LIB(id3tag,id3_file_open,[ID3_LIB="$ID3TAG_LIBS";
+ MPD_CFLAGS="$MPD_CFLAGS $ID3TAG_CFLAGS";
+ use_libid3tag=yes],
+ [use_libid3tag=no;use_mpd_id3tag=yes])
+ CFLAGS=$oldcflags
+ fi
+ if test x$use_mpd_id3tag = xyes; then
+ MPD_CFLAGS="$MPD_CFLAGS -DUSE_MPD_ID3TAG"
+ ID3_LIB="libid3tag/libid3tag.la"
+ ID3_SUBDIR="libid3tag"
+ AC_CONFIG_SUBDIRS(src/libid3tag)
+ fi
+ MPD_CFLAGS="$MPD_CFLAGS -DHAVE_ID3TAG"
+fi
+
+MAD_SUBDIR=""
+
+if test x$enable_mp3 = xyes; then
+ if test x$use_mpd_mad = xyes; then
+ MAD_SUBDIR="libmad"
+ else
+ 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"
+ elif test "x$prefix" != "xNONE"; then
+ MAD_LIBS="-L$libdir"
+ 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/lib"
+ elif test "x$prefix" != "xNONE"; then
+ MAD_CFLAGS="-I$libdir"
+ fi
+
+ AC_CHECK_LIB(mad,mad_stream_init,[MAD_LIB="$MAD_LIBS";
+ MPD_CFLAGS="$MPD_CFLAGS $MAD_CFLAGS";use_libmad=yes],
+ [use_libmad=no;use_mpd_mad=yes])
+ fi
+ if test x$use_mpd_mad = xyes; then
+ MPD_CFLAGS="$MPD_CFLAGS -DUSE_MPD_MAD"
+ MAD_LIB="libmad/libmad.la"
+ MAD_SUBDIR="libmad"
+ AC_CONFIG_SUBDIRS(src/libmad)
+ fi
+ MPD_CFLAGS="$MPD_CFLAGS -DHAVE_MAD"
+fi
+
+if test x$enable_ogg = xyes; then
+ XIPH_PATH_OGG(MPD_LIBS="$MPD_LIBS $OGG_LIBS" MPD_CFLAGS="$MPD_CFLAGS $OGG_CFLAGS",enable_ogg=no)
+fi
+
+if test x$enable_ogg = xyes; then
+ enable_vorbistest=no
+ XIPH_PATH_VORBIS(,enable_ogg=no)
+ if test x$enable_ogg = xyes; then
+
+dnl
+dnl Vorbis Test
+dnl vorbistest in XIPH_PATH_OGG is broken on my debian system
+dnl so here i used my own hacked up version till i get vorbis-dev gets
+dnl upgraded in debian (hopefully when 1.0.1 comes out)
+dnl
+
+ AC_MSG_CHECKING(that Vorbis is usable)
+
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS"
+ LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS"
+
+ AC_TRY_RUN([
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <vorbis/codec.h>
+#include <vorbis/vorbisenc.h>
+
+int main ()
+{
+ vorbis_block vb;
+ vorbis_dsp_state vd;
+ vorbis_info vi;
+
+ vorbis_info_init (&vi);
+ vorbis_encode_init (&vi, 2, 44100, -1, 128, -1);
+ /*vorbis_analysis_init (&vd, &vi);
+ vorbis_block_init (&vd, &vb);*/
+ /* this function was added in 1.0rc3, so this is what we're testing for */
+ /*vorbis_bitrate_addblock (&vb);*/
+
+ return 0;
+}
+
+], AC_MSG_RESULT(yes), AC_MSG_RESULT(no) enable_ogg=no,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+dnl
+dnl End of Vorbis Test
+dnl
+ if test x$enable_ogg = xyes; then
+ MPD_LIBS="$MPD_LIBS $VORBIS_LIBS $VORBISFILE_LIBS"
+ MPD_CFLAGS="$MPD_CFLAGS $VORBIS_CFLAGS $VORBISFILE_CFLAGS"
+ fi
+fi
+
+if test x$enable_ogg = xyes; then
+ MPD_CFLAGS="$MPD_CFLAGS -DHAVE_OGG"
+fi
+
+if test x$enable_flac = xyes; then
+ oldmpdcflags="$MPD_CFLAGS"
+ oldmpdlibs="$MPD_LIBS"
+ AM_PATH_LIBFLAC(MPD_LIBS="$MPD_LIBS $LIBFLAC_LIBS" MPD_CFLAGS="$MPD_CFLAGS $LIBFLAC_CFLAGS",enable_flac=no)
+fi
+
+if test x$enable_flac = xyes; then
+ oldcflags="$CFLAGS"
+ oldlibs="$LIBS"
+ CFLAGS="$CFLAGS $MPD_CFLAGS"
+ LIBS="$LIBS $MPD_LIBS"
+ AC_CHECK_LIB(FLAC, FLAC__metadata_object_vorbiscomment_find_entry_from,
+ ,[enable_flac=no;AC_MSG_WARN(You need FLAC 1.1 -- disabling flac support)])
+ if test x$enable_flac = xno; then
+ MPD_CFLAGS="$oldmpdcflags"
+ MPD_LIBS="$oldmpdlibs"
+ fi
+ CFLAGS="$oldcflags"
+ LIBS="$oldlibs"
+fi
+
+
+if test x$enable_flac = xyes; then
+ MPD_CFLAGS="$MPD_CFLAGS -DHAVE_FLAC"
+fi
+
+if test x$enable_audiofile = xyes; then
+ AM_PATH_AUDIOFILE(0.1.7, MPD_LIBS="$MPD_LIBS -laudiofile" MPD_CFLAGS="$MPD_CFLAGS -DHAVE_AUDIOFILE",
+ [enable_audiofile=no;AC_MSG_WARN(You need audiofile -- disabling audiofile support)])
+fi
+
+AC_OUTPUT(doc/Makefile src/Makefile Makefile )