Mercurial > audlegacy-plugins
diff configure.ac @ 0:13389e613d67 trunk
[svn] - initial import of audacious-plugins tree (lots to do)
author | nenolod |
---|---|
date | Mon, 18 Sep 2006 01:11:49 -0700 |
parents | |
children | 54f9e753b511 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure.ac Mon Sep 18 01:11:49 2006 -0700 @@ -0,0 +1,1207 @@ +dnl Process this file with autoconf to produce a configure script. + +AC_INIT([audacious-plugins], [1.2.0], [bugs+audacious-plugins@atheme.org]) +AC_PREREQ([2.59]) + +AC_CANONICAL_HOST +AC_CANONICAL_TARGET + +AC_CONFIG_HEADERS([config.h]) + +dnl libbeep +LIBBEEP_MAJOR_VERSION=2 +LIBBEEP_MINOR_VERSION=0 +LIBBEEP_MICRO_VERSION=0 +LIBBEEP_VERSION=$LIBBEEP_MAJOR_VERSION.$LIBBEEP_MINOR_VERSION.$LIBBEEP_MICRO_VERSION +AC_SUBST(LIBBEEP_MAJOR_VERSION) +AC_SUBST(LIBBEEP_MINOR_VERSION) +AC_SUBST(LIBBEEP_MICRO_VERSION) + +dnl XXX kludge for FreeBSD +if test -d "/usr/X11R6/include"; then + CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include" +fi + +AM_INIT_AUTOMAKE + +dnl Check for C compiler + +AC_PROG_CC +AC_PROG_CXX +AC_ISC_POSIX +AC_C_BIGENDIAN + +dnl Check for assembler + +AM_PROG_AS + +dnl Checks for various programs + +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET + +AC_PATH_PROG(RM, rm) +AC_PATH_PROG(MV, mv) +AC_PATH_PROG(CP, cp) +AC_PATH_PROG(AR, ar) +AC_PATH_PROG(RANLIB, ranlib) + +dnl Path settings + +AC_ARG_WITH(dev-dsp, + [ --with-dev-dsp=path Path to OSS DSP data pipe, default is /dev/dsp.], + [dev_dsp=$withval], + [dev_dsp=/dev/dsp] +) +AC_DEFINE_UNQUOTED(DEV_DSP, "$dev_dsp", + [Path to OSS DSP, really just a data pipe, default is /dev/dsp.] +) + +AC_ARG_WITH(dev-mixer, + [ --with-dev-mixer=path Path to OSS sound mixer, default is /dev/mixer.], + [dev_mixer=$withval], + [dev_mixer=/dev/mixer] +) +AC_DEFINE_UNQUOTED(DEV_MIXER, "$dev_mixer", + [Path to OSS mixer, default is /dev/mixer.] +) + +AC_ARG_WITH(cdda-device, + [ --with-cdda-device=path Path to default cdaudio device.], + [AC_DEFINE_UNQUOTED(CDDA_DEVICE, "$withval", + [Path to default cdaudio device.] + ) + ] +) + +AC_ARG_WITH(cdda-dir, + [ --with-cdda-dir=path Path to default cdaudio directory.], + [AC_DEFINE_UNQUOTED(CDDA_DIRECTORY, "$withval", + [Path to default cdaudio directory.] + ) + ] +) + +dnl These plugins are always built. + +INPUT_PLUGINS="tonegen console sexypsf wav cue" +OUTPUT_PLUGINS="disk_writer" +EFFECT_PLUGINS="audiocompress ladspa voice_removal" +GENERAL_PLUGINS="song_change" +VISUALIZATION_PLUGINS="blur_scope" +CONTAINER_PLUGINS="m3u pls" + +dnl Check for Audacious + +PKG_CHECK_MODULES(AUDACIOUS, [audacious >= 1.2.0], + [ADD_PC_REQUIRES([audacious >= 1.2.0])], + [AC_MSG_ERROR([Cannot find Audacious, have you installed audacious yet?])] +) + +dnl Check for GTK/GLib/GThread/Pango + +PKG_CHECK_MODULES(GTK, [glib-2.0 >= 2.6.0 gtk+-2.0 >= 2.6.0 gthread-2.0 pango], + [ADD_PC_REQUIRES([glib-2.0 >= 2.6.0, gtk+-2.0 >= 2.6.0])], + [AC_MSG_ERROR([Cannot find glib2/gtk2/pango])] +) + +dnl Check for libglade + +PKG_CHECK_MODULES(LIBGLADE, [libglade-2.0 >= 2.3.1], + [], + [AC_MSG_ERROR([Cannot find libglade])] +) + +AC_PATH_PROG(TAGLIB_CONFIG, taglib-config, [no], [$PATH:$prefix/bin]) +if test "x$TAGLIB_CONFIG" = "xno" ; then +AC_MSG_ERROR([Cannot find taglib]) +else + TAGLIB_CFLAGS=[`$TAGLIB_CONFIG --cflags`] + TAGLIB_LIBS=[`$TAGLIB_CONFIG --libs`] +fi +AC_SUBST(TAGLIB_CFLAGS) +AC_SUBST(TAGLIB_LIBS) + +# Check if socklen_t is defined + +AC_CACHE_CHECK(for socklen_t, beep_cv_type_socklen_t, + [AC_TRY_COMPILE( + [#include <sys/types.h> + #include <sys/socket.h>], + [socklen_t s;], + [beep_cv_type_socklen_t=yes], + [beep_cv_type_socklen_t=no] + ) + ] +) + +if test "$beep_cv_type_socklen_t" = "no"; then + AC_DEFINE(socklen_t, int, [Define to int if the socklen_t type is missing]) +fi + +dnl IPv6 support +dnl ======================== +AC_ARG_ENABLE(ipv6, + [ --enable-ipv6 enable IPv6 support (default=no)], + enable_ipv6=$enableval, enable_ipv6=no) +if test "x$enable_ipv6" = xyes; then + AC_DEFINE(USE_IPV6,, [Define if building with IPv6 support] ) +fi +AM_CONDITIONAL(USE_IPV6,test "x$enable_ipv6" = xyes) +AC_SUBST(USE_IPV6) + +dnl plugin stuff +dnl ======================== + +dnl Ok, first we find out what flags we need to use. +AC_MSG_CHECKING([for what extension and flags to use for plugin compilation]) +case "$target" in + *-apple-*) + AC_MSG_RESULT([Mac OS X: -fPIC -bundle -fno-common -flat_namespace -undefined suppress, .dylib]) + PICFLAGS="-fPIC -DPIC" + PICLDFLAGS="-fPIC -DPIC -bundle -fno-common -flat_namespace -undefined suppress" + LIBLDFLAGS="-dynamiclib" + AUDLDFLAGS="" + SHARED_SUFFIX=".dylib" + ;; + *) + AC_MSG_RESULT([libdl-compatible: -fPIC -DPIC -shared, .so]) + PICFLAGS="-fPIC -DPIC" + PICLDFLAGS="-fPIC -DPIC -shared" + LIBLDFLAGS="-fPIC -DPIC -shared" + AUDLDFLAGS="-Wl,-export-dynamic -Wl,-rpath=\${libdir}" + SHARED_SUFFIX=".so" + ;; +esac +AC_SUBST(PICFLAGS) +AC_SUBST(PICLDFLAGS) +AC_SUBST(LIBLDFLAGS) +AC_SUBST(AUDLDFLAGS) +AC_SUBST(SHARED_SUFFIX) +AC_DEFINE_UNQUOTED(SHARED_SUFFIX, "${SHARED_SUFFIX}", + [Define the shared module suffix extension on your platform.]) + +AC_MSG_CHECKING([if you are running Apple-GCC]) +case "$target" in + *-apple-*) + AC_MSG_RESULT([yes, sorry you poor bastard]) + LDFLAGS="$LDFLAGS -Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices" + ;; + *) + AC_MSG_RESULT([no]) + ;; +esac + +dnl GConf support + +AC_ARG_ENABLE( gconf, + [ --enable-gconf enable GConf support (default=disabled)], + [enable_gconf=$enableval], + [enable_gconf="no"] +) + +if test "$enable_gconf" = "yes"; then + PKG_CHECK_MODULES(GCONF, [gconf-2.0 >= 2.6.0], + [ + AC_DEFINE(HAVE_GCONF, , [Define if building with GConf support]) + ADD_PC_REQUIRES([gconf-2.0 >= 2.6.0]) + ], + [AC_MSG_ERROR([Cannot find GConf])] + ) +fi + +if test "$enable_gconf" = "yes"; then + CONFIGDB_BACKEND="gconf" +else + CONFIGDB_BACKEND="rcfile" +fi + +AC_SUBST(CONFIGDB_BACKEND) + +dnl GnomeVFS support + +AC_ARG_ENABLE( gnome-vfs, + [ --enable-gnome-vfs enable GnomeVFS support (default=disabled)], + [enable_gnomevfs=$enableval], + [enable_gnomevfs="no"] +) + +if test "$enable_gnomevfs" = "yes"; then + PKG_CHECK_MODULES(GNOMEVFS, [gnome-vfs-2.0 >= 2.6.0], + [ + AC_DEFINE(HAVE_GNOME_VFS, , [Define if building with GnomeVFS support]) + ADD_PC_REQUIRES([gnome-vfs-2.0 >= 2.6.0]) + ], + [AC_MSG_ERROR([Cannot find GnomeVFS])] + ) +fi + +if test "$enable_gnomevfs" = "yes"; then + VFS_BACKEND="gnome" +else + VFS_BACKEND="stdio" +fi + +AC_SUBST(VFS_BACKEND) + +dnl Check for esound + +AC_ARG_ENABLE( esd, + [ --disable-esd disable esound output plugin [default=enabled]], + [enable_esd=$enableval], + [enable_esd="yes"] +) + +if test "$enable_esd" = "yes"; then + PKG_CHECK_MODULES(ESD, [esound >= 0.2], + [have_esd=yes + OUTPUT_PLUGINS="$OUTPUT_PLUGINS esd"], + [have_esd=no] + ) +else + AC_MSG_RESULT([*** esound plugin disabled per user request ***]) + have_esd=no +fi + +dnl Check for PulseAudio + +AC_ARG_ENABLE( pulse, + [ --disable-pulse disable PulseAudio output plugin [default=enabled]], + [enable_pulse=$enableval], + [enable_pulse="yes"] +) + +if test "$enable_pulse" = "yes"; then + PKG_CHECK_MODULES(PULSE, [libpulse >= 0.9.3], + [have_pulse=yes + OUTPUT_PLUGINS="$OUTPUT_PLUGINS pulse_audio"], + [have_pulse=no] + ) +else + AC_MSG_RESULT([*** pulseaudio output plugin disabled per user request ***]) + have_pulse=no +fi + +dnl *** CoreAudio + +AC_ARG_ENABLE(coreaudio, + [ --disable-coreaudio disable CoreAudio output plugin (default=enabled)], + [enable_coreaudio=$enableval], + [enable_coreaudio="yes"] +) + +if test "$enable_coreaudio" = "yes"; then + AC_CHECK_HEADERS([CoreServices/CoreServices.h], + [have_coreaudio=yes + OUTPUT_PLUGINS="$OUTPUT_PLUGINS CoreAudio"], + [have_coreaudio=no]) +else + AC_MSG_RESULT([*** CoreAudio output plugin disabled per user request ***]) + have_coreaudio=no +fi + +dnl *** AltiVec + +AC_CHECK_HEADERS(altivec.h, + [AC_DEFINE(HAVE_ALTIVEC, 1, [Define to 1 if your system has AltiVec.]) + AC_DEFINE(HAVE_ALTIVEC_H, 1, [Define to 1 if your system has an altivec.h file.]) + AC_DEFINE(ARCH_POWERPC, 1, [Define to 1 if your system is a PowerPC.]) + DCT64=dct64_altivec.c], + [DCT64=dct64.c] +) +AC_SUBST(DCT64) + +dnl *** MP3 + +AC_ARG_ENABLE(mp3, + [ --disable-mp3 disable mp3 plugin. (default=enabled) ], + [enable_mp3=$enableval], + [enable_mp3=yes] +) + +if test "$enable_mp3" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS mpg123" + PKG_CHECK_MODULES(LIBNMS,[libnms >= 0.6.0], + [LIBNMS_SRC=rtsp.c + AC_DEFINE(HAVE_NEMESI,,[Define if rtp/rtsp support is available]) + ],[LIBNMS_SRC=""]) + AC_SUBST(LIBNMS_CFLAGS) + AC_SUBST(LIBNMS_LIBS) + AC_SUBST(LIBNMS_SRC) +fi + +dnl *** ThinkLight support + +AC_CHECK_FILE([/proc/acpi/ibm/light], [VISUALIZATION_PLUGINS="$VISUALIZATION_PLUGINS rocklight"]) + +dnl *** LIRC client libraries + +AC_ARG_ENABLE(lirc, + [ --disable-lirc disable LIRC plugin (default=enabled)], + [enable_lirc=$enableval], + [enable_lirc="yes"] +) + +if test "$enable_lirc" = "yes"; then + AC_CHECK_LIB([lirc_client],[lirc_init],[have_lirc=yes],[have_lirc=no]) +else + AC_MSG_RESULT([*** LIRC plugin disabled per user request ***]) + have_lirc="no" +fi + +if test "$have_lirc" = "yes"; then + GENERAL_PLUGINS="$GENERAL_PLUGINS lirc" +fi + +dnl *** libnotify requirement + +AC_ARG_ENABLE(notify, + [ --disable-notify disable libnotify plugin (default=enabled)], + [enable_libnotify=$enableval], + [enable_libnotify="yes"] +) + +if test "$enable_libnotify" = "yes"; then + PKG_CHECK_MODULES(LIBNOTIFY, [libnotify >= 0.4.2], + [have_libnotify=yes + GENERAL_PLUGINS="$GENERAL_PLUGINS notify"], + [have_libnotify=no] + ) +else + AC_MSG_RESULT([*** libnotify plugin disabled per user request ***]) + have_libnotify="no" +fi + +dnl *** AdPlug requirement (libbinio) + +AC_ARG_ENABLE(adplug, + [ --disable-adplug disable AdPlug plugin (default=enabled)], + [enable_adplug=$enableval], + [enable_adplug="yes"] +) + +if test "$enable_adplug" = "yes"; then + have_adplug="yes" + PKG_CHECK_MODULES(BINIO,[libbinio >= 1.4],,[have_adplug=no]) +else + AC_MSG_RESULT([*** AdPlug plugin disabled per user request ***]) + have_adplug="no" +fi + +if test "$have_adplug" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS adplug" +fi + +dnl *** Ogg Vorbis + +AC_ARG_ENABLE(vorbis, + [ --disable-vorbis disable Ogg Vorbis input plugin (default=enabled)], + [enable_vorbis=$enableval], + [enable_vorbis="yes"] +) + +if test "$enable_vorbis" = "yes"; then + PKG_CHECK_MODULES(OGG_VORBIS, [ogg >= 1.0 vorbis >= 1.0 vorbisfile >= 1.0], + [have_oggvorbis=yes], + [AC_MSG_WARN([*** Cannot find libogg/libvorbis, Ogg Vorbis support will not be built ***]) + have_oggvorbis=no] + ) +else + AC_MSG_RESULT([*** Ogg Vorbis plugin disabled per user request ***]) + have_oggvorbis=no +fi + +if test "$have_oggvorbis" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS vorbis" +fi + +dnl *** AAC + +AC_ARG_ENABLE(aac, + [ --disable-aac disable aac plugin (default=enabled) ], + [enable_aac=$enableval], + [enable_aac=yes] +) + +if test "$enable_aac" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS aac" +fi + +dnl *** sndfile + +AC_ARG_ENABLE(sndfile, + [ --disable-sndfile disable sndfile extensions. [default=enabled] ], + [enable_sndfile=$enableval], + [enable_sndfile=yes] +) + +if test "$enable_sndfile" = "yes"; then + PKG_CHECK_MODULES(SNDFILE, [sndfile >= 0.19], + [enable_sndfile=yes], + [enable_sndfile=no] + ) +else + AC_MSG_RESULT([*** libsndfile extensions disabled per user request ***]) + enable_sndfile=no +fi + +if test "$enable_sndfile" = "yes"; then + WAV_SNDFILE="-sndfile" +fi + +AC_SUBST(WAV_SNDFILE) + +dnl *** modplug + +AC_ARG_ENABLE(modplug, + [ --disable-modplug disable ModPlug plugin (default=enabled)], + [enable_modplug=$enableval], + [enable_modplug="yes"] +) + +if test "$enable_modplug" = "yes"; then + AC_CHECK_LIB([modplug],[XMLinearTable],[have_modplug=yes],[have_modplug=no],[-lstdc++]) +else + AC_MSG_RESULT([*** ModPlug plugin disabled per user request ***]) + have_modplug="no" +fi + +if test "$have_modplug" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS modplug" +fi + +dnl *** flac +AC_ARG_ENABLE( flac, +[ --disable-flac disable flac input plugin (default=enabled)],, + enable_flac="yes") + +if test "x$enable_flac" = xyes; then + AM_PATH_LIBFLAC(have_flac=yes, have_flac=no) +else + AC_MSG_RESULT([*** flac plugin disabled per user request ***]) + have_flac=no +fi + +if test "$have_flac" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS flac" +fi + +dnl *** WMA + +AC_ARG_ENABLE(wma, + [ --disable-wma disable wma plugin. (default=enabled)], + [enable_wma=$enableval], + [enable_wma=yes] +) + +if test "$enable_wma" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS wma" +fi + +dnl *** jack output plugin +AC_ARG_ENABLE( jack, +[ --disable-jack disable jack output plugin (default=enabled)],, + enable_jack="yes") + +if test "x$enable_jack" = xyes; then + AM_PATH_JACK(have_jack=yes, have_jack=no) +else + AC_MSG_RESULT([*** jack plugin disabled per user request ***]) + have_jack=no +fi + +if test "$have_jack" = yes; then + OUTPUT_PLUGINS="$OUTPUT_PLUGINS jack" +fi + +dnl *** arts output plugin +AC_ARG_ENABLE( arts, +[ --disable-arts disable arts output plugin (default=enabled)],, + enable_arts="yes") + +if test "x$enable_arts" = xyes; then + AM_PATH_ARTSC(0.9.5, have_arts=yes, have_arts=no) +else + AC_MSG_RESULT([*** arts plugin disabled per user request ***]) + have_arts=no +fi + +if test "$have_arts" = yes; then + OUTPUT_PLUGINS="$OUTPUT_PLUGINS arts" +fi + +dnl *** sid +AC_ARG_ENABLE( sid, +[ --disable-sid disable sid input plugin (default=enabled)],, + enable_sid="yes") + +if test "x$enable_sid" = xyes; then + AM_PATH_SIDPLAY(have_sidplay=yes, have_sidplay=no) +else + AC_MSG_RESULT([*** sid plugin disabled per user request ***]) + have_sidplay=no +fi + +if test "$have_sidplay" = yes; then + INPUT_PLUGINS="$INPUT_PLUGINS sid" +fi + +dnl *** Musepack + +AC_ARG_ENABLE(musepack, + [ --disable-musepack disable musepack input plugin (default=enabled)], + [enable_musepack=$enableval], + [enable_musepack="yes"] +) + +if test "$enable_musepack" = "yes"; then + AC_CHECK_HEADERS(mpcdec/config_types.h,, + enable_musepack=no + ) +else + AC_MSG_RESULT([*** Musepack plugin disabled per user request ***]) + enable_musepack=no +fi + +if test "$enable_musepack" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS musepack" +fi + +dnl *** OSS output + +AC_ARG_ENABLE(oss, + [ --disable-oss disable the OSS output plugin (default=enabled)], + [enable_oss=$enableval], + [enable_oss=yes] +) + +have_oss=no +if test "$enable_oss" = "yes"; then + AC_MSG_CHECKING(for OSS include dir) + OSS_CFLAGS="" + if test -f "/etc/oss.conf" ; then + for i in `cat /etc/oss.conf`; do + t=`echo $i | sed -e 's/OSSLIBDIR=//'` + if test "$i" != "$t" ; then + if test -f "$t/include/sys/soundcard.h" -o -f "$i/include/soundcard.h" ; then + OSS_CFLAGS="-I$t/include" + fi + fi + done + fi + if test -n "$OSS_CFLAGS" ; then + AC_MSG_RESULT([$OSS_CFLAGS]) + else + AC_MSG_RESULT([not found]) + fi + CFLAGS_save=$CFLAGS + CFLAGS="$CFLAGS $OSS_CFLAGS" + AC_CHECK_HEADERS(soundcard.h) + AC_CHECK_HEADERS(sys/soundcard.h) + AC_CHECK_HEADERS(machine/soundcard.h) + CFLAGS=$CFLAGS_save + + if test "${ac_cv_header_soundcard_h}" = "yes" || test "${ac_cv_header_sys_soundcard_h}" = "yes" || test "${ac_cv_header_machine_soundcard_h}" = "yes"; then + have_oss=yes + fi + + AC_MSG_CHECKING(whether we need -lossaudio) + AC_TRY_LINK([ + #include <sys/ioctl.h> + #ifdef HAVE_SYS_SOUNDCARD_H + #include <sys/soundcard.h> + #else + #include <soundcard.h> + #endif + ], [ + int fd, value; + ioctl(fd, SOUND_MIXER_READ_VOLUME, &value); + ], AC_MSG_RESULT(no), [ + OSS_LIBS="-lossaudio" + AC_MSG_RESULT(yes) + ]) +fi + +if test "$have_oss" = "yes"; then + AC_DEFINE(HAVE_OSS, 1, [Define if the OSS output plugin should be built]) +else + have_oss=no +fi + +if test "$have_oss" = "yes"; then + OUTPUT_PLUGINS="$OUTPUT_PLUGINS OSS" +fi + +AC_SUBST(OSS_LIBS) + +dnl *** ALSA output plugin + +AC_ARG_ENABLE(alsa, + [ --disable-alsa disable ALSA input plugin (default=enabled)], + [enable_alsa=$enableval], + [enable_alsa=yes] +) + +if test "$enable_alsa" = "yes"; then + PKG_CHECK_MODULES(ALSA, [alsa >= 1.0], +[ +have_alsa=yes +alsalib_available=yes +], +[ +have_alsa=no +alsalib_available=no +] + ) +else + AC_MSG_RESULT([*** ALSA output plugin disabled per user request ***]) + have_alsa=no + alsalib_available=check +fi + +if test "$have_alsa" = "yes"; then + OUTPUT_PLUGINS="$OUTPUT_PLUGINS alsa" +fi + + +dnl *** amidi-plug (note: to avoid checking twice ALSA, this should appear somewhere after the alsa ouput plugin check) + +AC_ARG_ENABLE(amidiplug, + [ --disable-amidiplug disable amidi-plug input plugin (default=check) ], + [enable_amidiplug=$enableval], + [enable_amidiplug=check] +) + +AC_ARG_ENABLE(amidiplug-alsa, + [ --disable-amidiplug-alsa disable amidi-plug ALSA backend (default=enabled) ], + [enable_amidiplug_alsa=$enableval], + [enable_amidiplug_alsa=auto] +) + +AC_ARG_ENABLE(amidiplug-flsyn, + [ --disable-amidiplug-flsyn disable amidi-plug FluidSynth backend (default=enabled) ], + [enable_amidiplug_fluidsynth=$enableval], + [enable_amidiplug_fluidsynth=auto] +) + +AC_ARG_ENABLE(amidiplug-dummy, + [ --disable-amidiplug-dummy disable amidi-plug dummy backend (default=enabled) ], + [enable_amidiplug_dummy=$enableval], + [enable_amidiplug_dummy=auto] +) + + +if test "x$enable_amidiplug" = "xno"; then + AC_MSG_RESULT([*** amidi-plug disabled per user request ***]) + enable_amidiplug=no +else + if test "x$enable_amidiplug_alsa" != "xauto"; then + enable_amidiplug=yes + elif test "x$enable_amidiplug_fluidsynth" != "xauto"; then + enable_amidiplug=yes + elif test "x$enable_amidiplug_dummy" != "xauto"; then + enable_amidiplug=yes + fi +fi + +if test "x$enable_amidiplug" = "xcheck"; then + if test "x$alsalib_available" = "xcheck"; then + PKG_CHECK_MODULES(ALSA, [alsa >= 1.0], + [alsalib_available=yes],[alsalib_available=no]) + fi + if test "x$alsalib_available" = "xyes"; then + AM_PATH_AMIDIPLUG_HWSYNTH(ap_have_hwsynth=yes, ap_have_hwsynth=no) + if test "x$ap_have_hwsynth" = "xyes"; then + enable_amidiplug=yes + ap_disable_timidity=yes + else + PKG_CHECK_MODULES(FLUIDSYNTH, [fluidsynth >= 1.0.6], + [fluidsynth_available=yes],[fluidsynth_available=no]) + if test "x$fluidsynth_available" = "xyes"; then + enable_amidiplug=yes + ap_disable_timidity=yes + else + enable_amidiplug=no + AC_MSG_WARN([*** Neither an ALSA-supported hardware synth or FluidSynth software synth (>= 1.0.6) have been found (even if ALSA was detected), so amidi-plug won't be compiled unless you explicitly request it with --enable-amidiplug ***]) + fi + fi + else + PKG_CHECK_MODULES(FLUIDSYNTH, [fluidsynth >= 1.0.6], + [fluidsynth_available=yes],[fluidsynth_available=no]) + if test "x$fluidsynth_available" = "xyes"; then + enable_amidiplug=yes + ap_disable_timidity=yes + else + enable_amidiplug=no + AC_MSG_WARN([*** Neither ALSA or FluidSynth software synth (>= 1.0.6) have been found, so amidi-plug won't be compiled unless you explicitly request it with --enable-amidiplug ***]) + fi + fi +fi + +if test "x$enable_amidiplug" = "xyes"; then + INPUT_PLUGINS="$INPUT_PLUGINS amidi-plug" + PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.6.0],,) + PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.6.0],,) + AMIDIPLUGBACKENDDIR=${libdir}/amidi-plug/backends + AC_SUBST(AMIDIPLUGBACKENDDIR) + if test "x$enable_amidiplug_alsa" = "xauto" -o "x$enable_amidiplug_alsa" = "xyes"; then + if test "x$alsalib_available" = "xcheck"; then + PKG_CHECK_MODULES(ALSA, [alsa >= 1.0], + [alsalib_available=yes],[alsalib_available=no]) + fi + if test "x$alsalib_available" = "xyes"; then + AMIDIPLUG_BACKENDS="$AMIDIPLUG_BACKENDS backend-alsa" + enable_amidiplug_alsa=yes + else + if test "x$enable_amidiplug_alsa" = "xyes"; then + AC_MSG_ERROR([Cannot find ALSA development files (ver >= 1.0), but compilation of AMIDI-Plug ALSA backend has been explicitly requested; please install ALSA dev files and run configure again]) + enable_amidiplug_alsa=no + else + enable_amidiplug_alsa=no + fi + fi + fi + if test "x$enable_amidiplug_fluidsynth" = "xauto" -o "x$enable_amidiplug_fluidsynth" = "xyes"; then + if test "x$fluidsynth_available" != "xyes" -a "x$fluidsynth_available" != "xno"; then + PKG_CHECK_MODULES(FLUIDSYNTH, [fluidsynth >= 1.0.6], + [fluidsynth_available=yes],[fluidsynth_available=no]) + fi + if test "x$fluidsynth_available" = "xyes"; then + AMIDIPLUG_BACKENDS="$AMIDIPLUG_BACKENDS backend-fluidsynth" + enable_amidiplug_fluidsynth=yes + else + if test "x$enable_amidiplug_fluidsynth" = "xyes"; then + AC_MSG_ERROR([Cannot find FluidSynth development files (ver >= 1.0.6), but compilation of AMIDI-Plug FluidSynth backend has been explicitly requested; please install FluidSynth dev files and run configure again]) + enable_amidiplug_fluidsynth=no + else + enable_amidiplug_fluidsynth=no + fi + fi + fi + if test "x$enable_amidiplug_dummy" = "xauto" -o "x$enable_amidiplug_dummy" = "xyes"; then + AMIDIPLUG_BACKENDS="$AMIDIPLUG_BACKENDS backend-dummy" + enable_amidiplug_dummy=yes + fi + AC_SUBST(AMIDIPLUG_BACKENDS) +fi + +if test "x$enable_amidiplug" = "xyes"; then + INPUT_PLUGINS="$INPUT_PLUGINS amidi-plug" +fi + + +dnl *** TiMidity input plugin (note: should appear somewhere after the amidi-plug check) + +AC_ARG_ENABLE(timidity, +[ --disable-timidity disable timidity plugin. (default=enabled)], +[enable_timidity=$enableval], +[ + if test "x$ap_disable_timidity" = "xyes"; then + enable_timidity=no + else + enable_timidity=yes + fi +] +) + +if test "$enable_timidity" = "yes"; then + INPUT_PLUGINS="$INPUT_PLUGINS timidity" +fi + +dnl FreeBSD newpcm driver detection + +AC_CACHE_CHECK(for FreeBSD newpcm driver, beep_cv_newpcm_driver, + if test -r "/dev/sndstat"; then + grep 'newpcm' /dev/sndstat 2>/dev/null 1>/dev/null + if test "x$?" = "x0"; then + beep_cv_newpcm_driver="yes" + else + beep_cv_newpcm_driver="no" + fi + else + beep_cv_newpcm_driver="no" + fi +) + +if test "$beep_cv_newpcm_driver" = "yes"; then + AC_DEFINE(HAVE_NEWPCM, 1, [Define if you have the FreeBSD newpcm driver]) +fi + + +AC_CHECK_HEADERS(linux/cdrom.h) +AC_CHECK_HEADERS(sys/cdio.h) +AC_CHECK_HEADERS(sys/cdrio.h) +AC_CHECK_HEADERS(linux/joystick.h) +AC_CHECK_HEADERS(unistd.h) +AC_CHECK_HEADERS(fcntl.h) +AC_CHECK_HEADERS(sys/ioctl.h) +AC_CHECK_HEADERS(fnmatch.h) +AC_CHECK_HEADERS(limits.h) +AC_CHECK_HEADERS(wchar.h) +AC_CHECK_HEADERS(fts.h) + +AC_CHECK_FUNCS([mkdtemp getmntinfo statvfs strtoul lrintf]) + + +if test "${ac_cv_header_linux_cdrom_h}" = "yes" || test "${ac_cv_header_sys_cdio_h}" = "yes" +then + INPUT_PLUGINS="cdaudio $INPUT_PLUGINS" + case "$host" in + *-*-sunos* | *-*-solaris* | *-*-linux*) + AC_DEFINE(BEEP_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style]) + ;; + *-*-freebsd*) + AC_DEFINE(BEEP_CDROM_BSD,, [Define if cdrom access is in BSD style]) + ;; + *-*-netbsd* | *-*-openbsd*) + AC_DEFINE(BEEP_CDROM_BSD,, [Define if cdrom access is in BSD style]) + AC_DEFINE(BEEP_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant]) + ;; + *-*darwin*) + AC_DEFINE(BEEP_CDROM_BSD,, [Define if cdrom access is in BSD style]) + AC_DEFINE(BEEP_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant]) + ;; + esac +fi + + +AM_CONDITIONAL(HAVE_CDROM, test "${ac_cv_header_linux_cdrom_h}" = "yes" || test "${ac_cv_header_sys_cdio_h}" = "yes") +AM_CONDITIONAL(HAVE_LINUX_JOYSTICK,test "${ac_cv_header_linux_joystick_h}" = "yes") + +if test -n "$GCC" +then + CFLAGS="$CFLAGS -Wall -Wno-unused-parameter -Wpointer-arith -finline-functions -ffast-math" + case "$CFLAGS" in + -g*) ;; + *\ -g*) ;; + *) CFLAGS="$CFLAGS -fomit-frame-pointer" ;; + esac + case "$host" in + *-*-freebsd*) + ;; + *) + CFLAGS="$CFLAGS -funroll-all-loops" + ;; + esac +fi + +AC_MSG_CHECKING(if __ELF__ is defined) +AC_EGREP_CPP(yes, + [#ifdef __ELF__ + yes + #endif + ], + [is_elf=yes], + [is_elf=no] +) +AC_MSG_RESULT([${is_elf}]) + + +have_solaris=no +have_sun=no +ARCH_DEFINES="" +case "$host" in + *-*-openbsd* | *-*-netbsd*) + have_sun=yes + if test "${is_elf}" = "no" + then + AC_DEFINE(SYMBOL_PREFIX, "_", [Define to symbol prefix, if any]) + fi + OUTPUT_PLUGINS="$OUTPUT_PLUGINS sun" + ;; + *-*-darwin*) + AC_DEFINE(SYMBOL_PREFIX, "_", [Define to symbol prefix, if any]) + ;; + *-hpux-*) + ARCH_DEFINES="-DHPUX" + ;; + *-*-solaris* | *-*-sunos*) + have_solaris=yes + ;; +esac + +arch_type=other +x86_asm=no +case "$host" in + i386-*-* | i486-*-* | i586-*-* | i686-*-* | i86pc-*-*) + arch_type=ix86 + case "$host" in + *-*-netbsd* | *-*openbsd*) + ;; + *) + ARCH_DEFINES="-DI386_ASSEM" + x86_asm=yes + ;; + esac + ;; +esac + +dnl *** Scrobbler *** + +scrobbler="yes" + +dnl Checks for libmusicbrainz +PKG_CHECK_MODULES(MUSICBRAINZ, [libmusicbrainz >= 2.0.0], , [scrobbler="no"]) + +dnl libcurl check + +my_cv_curl_vers=NONE +dnl check is the plain-text version of the required version +check="7.9.7" +dnl check_hex must be UPPERCASE if any hex letters are present +check_hex="070907" + +AC_MSG_CHECKING([for curl >= $check]) + +PKG_CHECK_MODULES(CURL, [libcurl >= 7.9.7], , [scrobbler="no"]) + +if test "x$scrobbler" = "xyes"; then + GENERAL_PLUGINS="$GENERAL_PLUGINS scrobbler" +fi + +AC_SUBST(CURL_CFLAGS) +AC_SUBST(CURL_LIBS) +AC_SUBST(MUSICBRAINZ_LIBS) + +dnl *** End of Scrobbler checks *** + +dnl *** libparanormal checks + +AC_ARG_ENABLE(paranormal, +[ --disable-paranormal disable paranormal vis plugin. (default=enabled)], +[have_paranormal=$enableval], +[have_paranormal=yes]) + +if test "x$ap_disable_paranormal" = "xyes"; then + have_paranormal=no + AC_MSG_RESULT([*** paranormal plugin disabled by request ***]) +else + have_paranormal=yes + AM_PATH_SDL(1.2.5, , [ + AC_MSG_WARN([*** SDL is not installed. Paranormal will not be built. ***]) + have_paranormal="no" + ]) +fi + +AC_ARG_ENABLE(xspf, +[ --disable-xspf disable XSPF support. (default=enabled)], +[have_xspf=$enableval], [have_xspf=yes]) + +AM_PATH_XML2(2.0.0, , [ + AC_MSG_WARN([*** libxml2 is not installed. Paranormal nor XSPF support will not be built. ***]) + have_paranormal="no" + have_xspf="no" +]) + +if test "$have_paranormal" = "yes"; then + VISUALIZATION_PLUGINS="$VISUALIZATION_PLUGINS paranormal" +fi + +if test "$have_xspf" = "yes"; then + CONTAINER_PLUGINS="$CONTAINER_PLUGINS xspf" + AC_DEFINE(HAVE_XSPF_PLAYLIST, 1, [Define if XSPF playlists are available.]) +fi + +dnl *** End of all plugin checks *** + +AC_SUBST(ARCH_DEFINES) + +dnl XXX delete ASAP -nenolod +AM_CONDITIONAL(ARCH_X86, test "x$arch_type" = "xix86") +AM_CONDITIONAL(USE_X86ASM, test "x$x86_asm" = xyes) +AM_CONDITIONAL(HAVE_SOLARIS, test "x$have_solaris" = xyes) +AM_CONDITIONAL(HAVE_SUN, test "x$have_sun" = xyes) + +plugindir="$libdir/audacious" +AC_SUBST(plugindir) + +if test "x$enable_one_plugin_dir" = "xyes"; then + pluginsubs="\\\"Plugins\\\"" + INPUT_PLUGIN_DIR=Plugins + OUTPUT_PLUGIN_DIR=Plugins + EFFECT_PLUGIN_DIR=Plugins + GENERAL_PLUGIN_DIR=Plugins + VISUALIZATION_PLUGIN_DIR=Plugins + CONTAINER_PLUGIN_DIR=Plugins +else + pluginsubs="\\\"Output\\\",\\\"Input\\\",\\\"Effect\\\",\\\"General\\\",\\\"Visualization\\\",\\\"Container\\\"" + INPUT_PLUGIN_DIR=Input + OUTPUT_PLUGIN_DIR=Output + EFFECT_PLUGIN_DIR=Effect + GENERAL_PLUGIN_DIR=General + VISUALIZATION_PLUGIN_DIR=Visualization + CONTAINER_PLUGIN_DIR=Container +fi + +AC_SUBST(INPUT_PLUGIN_DIR) +AC_SUBST(OUTPUT_PLUGIN_DIR) +AC_SUBST(EFFECT_PLUGIN_DIR) +AC_SUBST(GENERAL_PLUGIN_DIR) +AC_SUBST(VISUALIZATION_PLUGIN_DIR) +AC_SUBST(CONTAINER_PLUGIN_DIR) +AC_SUBST(pluginsubs) + +dnl XXX Work around some autoconf bugs. +if test "$prefix" = "NONE"; then + prefix="${ac_default_prefix}" +fi + +if test -z "$datadir"; then + datadir="${prefix}/share" +fi + +localedir="$datadir/locale" +AC_SUBST(localedir) + +BEEP_DEFINES="$CFLAGS -DDATA_DIR=\\\"$datadir/audacious\\\" -DPLUGIN_DIR=\\\"$plugindir\\\" -DPLUGINSUBS=$pluginsubs -DLOCALEDIR=\\\"$localedir\\\"" +CFLAGS="$CFLAGS $EXTRA_CFLAGS" + +if test "$enable_user_plugin_dir" = "no"; then + AC_DEFINE(DISABLE_USER_PLUGIN_DIR,, [Define to disable per user plugin directory]) +fi + +AC_SUBST(BEEP_DEFINES) + +AC_SUBST(beepdir) +AC_SUBST(plugindir) + +AC_SUBST(EFFECT_PLUGINS) +AC_SUBST(GENERAL_PLUGINS) +AC_SUBST(INPUT_PLUGINS) +AC_SUBST(OUTPUT_PLUGINS) +AC_SUBST(VISUALIZATION_PLUGINS) +AC_SUBST(CONTAINER_PLUGINS) + +AC_CONFIG_FILES([ + src/Makefile + src/Output/Makefile + src/Output/OSS/Makefile + src/Output/esd/Makefile + src/Output/alsa/Makefile + src/Output/jack/Makefile + src/Output/arts/Makefile + src/Output/arts/arts_helper/Makefile + src/Output/disk_writer/Makefile + src/Output/pulse_audio/Makefile + src/Output/sun/Makefile + src/Input/Makefile + src/Input/mpg123/Makefile + src/Input/aac/Makefile + src/Input/aac/mp4ff/Makefile + src/Input/aac/libfaad2/Makefile + src/Input/aac/src/Makefile + src/Input/modplug/Makefile + src/Input/modplug/archive/Makefile + src/Input/modplug/gui/Makefile + src/Input/musepack/Makefile + src/Input/tonegen/Makefile + src/Input/vorbis/Makefile + src/Input/cdaudio/Makefile + src/Input/wav/Makefile + src/Input/flac/Makefile + src/Input/flac/plugin_common/Makefile + src/Input/sid/Makefile + src/Input/wma/Makefile + src/Input/wma/libffwma/Makefile + src/Input/timidity/Makefile + src/Input/timidity/libtimidity/Makefile + src/Input/timidity/src/Makefile + src/Input/sexypsf/Makefile + src/Input/adplug/Makefile + src/Input/adplug/core/Makefile + src/Input/amidi-plug/Makefile + src/Input/amidi-plug/pcfg/Makefile + src/Input/amidi-plug/backend-alsa/Makefile + src/Input/amidi-plug/backend-fluidsynth/Makefile + src/Input/amidi-plug/backend-dummy/Makefile + src/Visualization/Makefile + src/Visualization/blur_scope/Makefile + src/Visualization/rocklight/Makefile + src/General/Makefile + src/General/song_change/Makefile + src/General/lirc/Makefile + src/General/scrobbler/Makefile + src/Effect/Makefile + src/Effect/audiocompress/Makefile + src/Effect/ladspa/Makefile + src/Effect/stereo_plugin/Makefile + src/Effect/voice_removal/Makefile + src/Container/Makefile + mk/rules.mk +]) + +AC_OUTPUT + + +echo +echo "Configuration:" +echo +echo " Install path: ${audacious_plugin_root}" +echo +echo " Output Plugins" +echo " --------------" +echo " Open Sound System (oss): $have_oss" +echo " Advanced Linux Sound Arch. (alsa): $have_alsa" +echo " Enlightenment Sound Daemon (esd): $have_esd" +echo " Jack Audio Connection Kit (jack): $have_jack" +echo " Analog Realtime Synthesizer (arts): $have_arts" +echo " BSD/SUN audio output (sun): $have_sun" +echo " PulseAudio sound server (pulse_audio): $have_pulse" +echo " Mac OS X sound support (CoreAudio): $have_coreaudio" +echo +echo " Input Plugins" +echo " -------------" +echo " MPEG 1/2/3 (mpg123): $enable_mp3" +echo " MPEG 4 Audio (AAC): $enable_aac" +echo " Windows Media Audio (wma): $enable_wma" +echo " .mpc playback (musepack): $enable_musepack" +echo " Module decoder (modplug): $have_modplug" +echo " MIDI modular plugin (amidi-plug): $enable_amidiplug" +echo " -> ALSA backend: $enable_amidiplug_alsa" +echo " -> FluidSynth backend: $enable_amidiplug_fluidsynth" +echo " -> dummy backend: $enable_amidiplug_dummy" +echo " MIDI to WAVE converter (timidity): $enable_timidity" +echo " CD Digital Audio (cdda): yes" +echo " Microsoft WAV (wav): yes" +echo " + sndfile extensions: $enable_sndfile" +echo " Tone Generator: yes" +echo " Ogg Vorbis (vorbis): $have_oggvorbis" +echo " Free Lossless Audio Codec (flac): $have_flac" +echo " Commodore 64 audio (sid): $have_sidplay" +echo " Game music (spc, nsf & gbs): yes" +echo " PlayStation audio (sexypsf): yes" +echo " AdLib synthesizer (adplug): $have_adplug" +echo +echo " General" +echo " -------" +echo " Song Change: yes" +echo " LIRC: $have_lirc" +echo " AudioScrobbler Client: $scrobbler" +echo " libnotify Plugin: $have_libnotify" +echo +echo " Effect" +echo " ------" +echo " AudioCompressor (AGC): yes" +echo " LADSPA effects host (ladspa): yes" +echo " Voice Removal: yes" +echo +echo " Visualization" +echo " -------------" +echo " Blur Scope: yes" +echo " Paranormal Visualization Library: $have_paranormal" +echo +echo " Container" +echo " -------------" +echo " Winamp PLS playlist format (pls): yes" +echo " M3U playlist format (m3u): yes" +echo " XML Sharable Playlist Format (xspf): $have_xspf" +echo + +if test "x$ap_disable_timidity" = "xyes" && test "x$enable_timidity" = "xno"; then + echo "Note: an ALSA-supported hardware midi synth or a FluidSynth software synth" + echo "was detected in configuration; in order to use it, the amidi-plug input" + echo "plugin will be compiled in place of timidity. If you wish to compile timidity" + echo "anyway, simply use --enable-timidity in configuration." + echo "" +fi