summaryrefslogtreecommitdiff
path: root/m4/decoders.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/decoders.m4')
-rw-r--r--m4/decoders.m4520
1 files changed, 520 insertions, 0 deletions
diff --git a/m4/decoders.m4 b/m4/decoders.m4
new file mode 100644
index 000000000..09d8dd900
--- /dev/null
+++ b/m4/decoders.m4
@@ -0,0 +1,520 @@
+dnl ---------------------------
+dnl Decoder and Demuxer Plugins
+dnl ---------------------------
+AC_DEFUN([XINE_DECODER_PLUGINS], [
+ dnl a52dec (optional; enabled by default; external version allowed)
+ AC_ARG_ENABLE([a52dec],
+ [AS_HELP_STRING([--enable-a52dec], [Enable support for a52dec decoding library (default: enabled, internal: use internal copy)])])
+ if test x"$enable_a52dec" != x"no"; then
+ if test x"$enable_a52dec" != x"internal"; then
+ AC_CHECK_LIB([a52], [a52_init],
+ [AC_CHECK_HEADERS([a52dec/a52.h], [have_external_a52dec=yes], [have_external_a52dec=no],
+ [#ifdef HAVE_SYS_TYPES_H
+ # include <sys/types.h>
+ #endif
+ #ifdef HAVE_INTTYPES_H
+ # include <inttypes.h>
+ #endif
+ #ifdef HAVE_STDINT_H
+ # include <stdint.h>
+ #endif
+ #include <a52dec/a52.h>])], [have_external_a52dec=no], [-lm])
+ if test x"$have_external_a52dec" = x"no"; then
+ AC_MSG_RESULT([*** no usable version of a52dec found, using internal copy ***])
+ fi
+ else
+ AC_MSG_RESULT([Using included a52dec support])
+ fi
+ if test x"$have_external_a52dec" = x"yes"; then
+ A52DEC_CFLAGS=''
+ A52DEC_LIBS='-la52'
+ A52DEC_DEPS=''
+ else
+ A52DEC_CFLAGS='-I$(top_srcdir)/contrib/a52dec'
+ A52DEC_LIBS='$(top_builddir)/contrib/a52dec/liba52.la'
+ A52DEC_DEPS='$(top_builddir)/contrib/a52dec/liba52.la'
+ fi
+ AC_SUBST(A52DEC_CFLAGS)
+ AC_SUBST(A52DEC_DEPS)
+ AC_SUBST(A52DEC_LIBS)
+ fi
+ AM_CONDITIONAL([ENABLE_A52DEC], [test x"$enable_a52dec" != x"no"])
+ AM_CONDITIONAL([WITH_EXTERNAL_A52DEC], [test x"$have_external_a52dec" = x"yes"])
+
+
+ dnl ASF (optional; enabled by default)
+ AC_ARG_ENABLE([asf],
+ [AS_HELP_STRING([--enable-asf], [Enable support for ASF demuxer (default: enabled)])],
+ [test x"$enableval" != x"no" && enable_asf="yes"])
+ AM_CONDITIONAL([ENABLE_ASF], [test x"$enable_asf" != x"no"])
+
+ dnl Nosefart (optional, enabled by default)
+ AC_ARG_ENABLE([nosefart],
+ [AS_HELP_STRING([--enable-nosefart], [Enable support for nosefart player (default: enabled)])],
+ [test x"$enableval" != x"no" && enable_nosefart="yes"])
+ AM_CONDITIONAL([ENABLE_NOSEFART], [test "x$enable_nosefart" != "xno"])
+
+ dnl FAAD (optional; enabled by default)
+ AC_ARG_ENABLE([faad],
+ [AS_HELP_STRING([--enable-faad], [Enable support for FAAD decoder (default: enabled, internal: use internal copy)])])
+ if test x"$enable_faad" != x"no"; then
+ if test x"$enable_faad" != x"internal"; then
+ AC_CHECK_LIB([faad], [NeAACDecInit],
+ [AC_CHECK_HEADERS([neaacdec.h], [have_external_faad=yes], [have_external_faad=no],
+ [#include <neaacdec.h>])], [have_external_faad=no], [-lm])
+ if test x"$have_external_faad" = x"no"; then
+ AC_MSG_RESULT([*** no usable version of libfaad found, using internal copy ***])
+ fi
+ else
+ AC_MSG_RESULT([Using included libfaad support])
+ fi
+ if test x"$have_external_faad" = x"yes"; then
+ FAAD_CFLAGS=''
+ FAAD_LIBS='-lfaad'
+ FAAD_DEPS=''
+ else
+ FAAD_CFLAGS='-I$(top_srcdir)/contrib/libfaad'
+ FAAD_LIBS='$(top_builddir)/contrib/libfaad/libfaad.la'
+ FAAD_DEPS='$(top_builddir)/contrib/libfaad/libfaad.la'
+ fi
+ AC_SUBST(FAAD_CFLAGS)
+ AC_SUBST(FAAD_DEPS)
+ AC_SUBST(FAAD_LIBS)
+ fi
+ AM_CONDITIONAL([ENABLE_FAAD], [test x"$enable_faad" != x"no"])
+ AM_CONDITIONAL([WITH_EXTERNAL_FAAD], [test x"$have_external_faad" = x"yes"])
+
+ dnl ffmpeg external version required
+ PKG_CHECK_MODULES([FFMPEG], [libavcodec >= 51.68.0])
+ PKG_CHECK_MODULES([AVUTIL], [libavutil >= 49.6.0])
+ PKG_CHECK_MODULES([FFMPEG_POSTPROC], [libpostproc])
+ AC_DEFINE([HAVE_FFMPEG], 1, [Define this if you have ffmpeg library])
+
+ dnl Check presence of ffmpeg/avutil.h to see if it's old or new
+ dnl style for headers. The new style would be preferred actually...
+ AC_CHECK_HEADERS([ffmpeg/avutil.h])
+ AC_CHECK_HEADERS([libavutil/avutil.h])
+ AC_CHECK_HEADERS([libavutil/sha1.h])
+ AC_CHECK_HEADERS([libavutil/sha.h])
+ if test "$ac_cv_header_ffmpeg_avutil_h" = "yes" && test "$ac_cv_header_libavutil_avutil_h" = "yes"; then
+ AC_MSG_ERROR([old & new ffmpeg headers found - you need to clean up!])
+ fi
+
+ dnl gdk-pixbuf (optional; enabled by default)
+ AC_ARG_ENABLE([gdkpixbuf],
+ [AS_HELP_STRING([--enable-gdkpixbuf], [Enable GdkPixbuf support (default: enabled)])],
+ [test x"$enableval" != x"no" && enable_gdkpixbuf="yes"])
+ if test x"$enable_gdkpixbuf" != x"no"; then
+ PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0], [have_gdkpixbuf=yes], [have_gdkpixbuf=no])
+ if test x"$enable_gdkpixbuf" = x"yes" && test x"$have_gdkpixbuf" != x"yes"; then
+ AC_MSG_ERROR([GdkPixbuf support requested, but GdkPixbuf not found])
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_GDK_PIXBUF], [test x"$have_gdkpixbuf" = x"yes"])
+
+
+ dnl ImageMagick (optional; enabled by default)
+ AC_ARG_WITH([imagemagick],
+ [AS_HELP_STRING([--with-imagemagick], [Enable ImageMagick image decoder support (default: enabled)])],
+ [test x"$withval" != x"no" && with_imagemagick="yes"])
+ if test x"$with_imagemagick" != x"no"; then
+ PKG_CHECK_MODULES([WAND], [Wand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
+ if test "x$have_imagemagick" = 'xno'; then
+ PKG_CHECK_MODULES([MAGICKWAND], [MagickWand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
+ dnl Avoid $(WAND_FLAGS) $(MAGICKWAND_FLAGS) ...
+ WAND_CFLAGS="$MAGICKWAND_CFLAGS"
+ WAND_LIBS="$MAGICKWAND_LIBS"
+ fi
+ if test "x$have_imagemagick" = 'xno'; then
+ PKG_CHECK_MODULES([GRAPHICSMAGICK], [ImageMagick], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
+ PKG_CHECK_MODULES([GRAPHICSMAGICKWAND], [GraphicsMagickWand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
+ dnl The following assignments are safe, since they include
+ dnl the flags for plain GraphicsMagick
+ WAND_CFLAGS="$GRAPHICSMAGICKWAND_CFLAGS"
+ WAND_LIBS="$GRAPHICSMAGICKWAND_LIBS"
+ AC_DEFINE([HAVE_GRAPHICSMAGICK], [1], [Define this if you have GraphicsMagick installed])
+ fi
+ if test x"$with_imagemagick" = x"yes" && test x"$have_imagemagick" = x"no"; then
+ AC_MSG_ERROR([ImageMagick support requested, but neither Wand, MagickWand, nor GraphicsMagick were found])
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_IMAGEMAGICK], [test x"$have_imagemagick" = x"yes"])
+
+
+ dnl libdts (optional; enabled by default; external version allowed)
+ AC_ARG_ENABLE([dts],
+ [AS_HELP_STRING([--enable-dts], [Enable support for DTS decoding library (default: enabled, internal: use internal copy)])])
+ if test x"$enable_dts" != x"no"; then
+ if test x"$enable_dts" != x"internal"; then
+ PKG_CHECK_MODULES([LIBDTS], [libdts], [have_external_dts=yes], [have_external_dts=no])
+ if test x"$have_external_dts" != x"yes"; then
+ AC_MSG_RESULT([*** no usable version of libdts found, using internal copy ***])
+ fi
+ else
+ AC_MSG_RESULT([Using included libdts support])
+ fi
+ if test x"$have_external_dts" != x"yes"; then
+ LIBDTS_CFLAGS='-I$(top_srcdir)/contrib/libdca/include'
+ LIBDTS_DEPS='$(top_builddir)/contrib/libdca/libdca.la'
+ LIBDTS_LIBS='$(top_builddir)/contrib/libdca/libdca.la'
+ AC_SUBST(LIBDTS_DEPS)
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_DTS], [test x"$enable_dts" != x"no"])
+ AM_CONDITIONAL([WITH_EXTERNAL_LIBDTS], [test x"$have_external_dts" = x"yes"])
+
+
+ dnl libFLAC (optional; enabled by default)
+ AC_ARG_WITH([libflac],
+ [AS_HELP_STRING([--with-libflac], [build libFLAC-based decoder and demuxer (default: enabled)])],
+ [test x"$withval" != x"no" && with_libflac="yes"])
+ AC_ARG_WITH([libFLAC-prefix],
+ [AS_HELP_STRING([--with-libFLAC-prefix=DIR], [prefix where libFLAC is installed (optional)])])
+ AC_ARG_WITH([libFLAC-libraries],
+ [AS_HELP_STRING([--with-libFLAC-libraries=DIR], [directory where libFLAC library is installed (optional)])])
+ AC_ARG_WITH([libFLAC-includes],
+ [AS_HELP_STRING([--with-libFLAC-includes=DIR], [directory where libFLAC header files are installed (optional)])])
+ if test x"$with_libflac" != x"no"; then
+ AC_MSG_CHECKING([libdir name])
+ case "$host_or_hostalias" in
+ *-*-linux*)
+ # Test if the compiler is 64bit
+ echo 'int i;' > conftest.$ac_ext
+ xine_cv_cc_64bit_output=no
+ if AC_TRY_EVAL(ac_compile); then
+ case `"$MAGIC_CMD" conftest.$ac_objext` in
+ *"ELF 64"*) xine_cv_cc_64bit_output=yes ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+ case "$host_cpu:$xine_cv_cc_64bit_output" in
+ powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes)
+ XINE_LIBDIRNAME="lib64" ;;
+ *:*)
+ XINE_LIBDIRNAME="lib" ;;
+ esac
+ AC_MSG_RESULT([$XINE_LIBDIRNAME])
+
+ if test x"$with_libFLAC_includes" != x""; then
+ LIBFLAC_CFLAGS="-I$with_libFLAC_includes"
+ elif test x"$with_libFLAC_prefix" != x""; then
+ LIBFLAC_CFLAGS="-I$with_libFLAC_prefix/include"
+ elif test x"$prefix" != x"NONE"; then
+ LIBFLAC_CFLAGS="-I$prefix/include"
+ fi
+ AC_SUBST(LIBFLAC_CFLAGS)
+
+ if test x"$with_libFLAC_libraries" != x""; then
+ LIBFLAC_LIBS="-L$with_libFLAC_libraries"
+ elif test x"$with_libFLAC_prefix" != x""; then
+ LIBFLAC_LIBS="-L$with_libFLAC_prefix/$XINE_LIBDIRNAME"
+ elif test x"$prefix" != x"NONE"; then
+ LIBFLAC_LIBS="-L$prefix/$XINE_LIBDIRNAME"
+ fi
+ AC_SUBST(LIBFLAC_LIBS)
+
+ ac_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $LIBFLAC_CFLAGS"
+ AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_new],
+ [AC_CHECK_HEADERS([FLAC/stream_decoder.h],
+ [have_libflac=yes LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC -lm"],
+ [have_libflac=no])],
+ [have_libflac=no], [-lm])
+ CPPFLAGS="$ac_save_CPPFLAGS"
+
+ if test x"$with_libflac" = x"yes" && test x"$have_libflac" != x"yes"; then
+ AC_MSG_ERROR([libFLAC-based decoder support requested, but libFLAC not found])
+ elif test x"$have_libflac" != x"yes"; then
+ LIBFLAC_CFLAGS="" LIBFLAC_LIBS=""
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_LIBFLAC], [test x"$have_libflac" = x"yes"])
+
+
+ dnl libmad (optional; enabled by default; external version allowed)
+ AC_ARG_ENABLE([mad],
+ [AS_HELP_STRING([--enable-mad], [Enable support for MAD decoding library (default: enabled, internal: use external copy)])])
+ if test x"$enable_mad" != x"no"; then
+ if test x"$enable_mad" != x"internal"; then
+ PKG_CHECK_MODULES([LIBMAD], [mad],
+ [AC_CHECK_HEADERS([mad.h], [have_external_libmad=yes], [have_external_libmad=no])],
+ [have_external_libmad=no])
+ if test x"$have_external_libmad" != x"yes"; then
+ AC_MSG_RESULT([*** no usable version of libmad found, using internal copy ***])
+ fi
+ else
+ AC_MSG_RESULT([Using included libmad support])
+ fi
+ if test x"$have_external_libmad" != x"yes"; then
+ case "$host_or_hostalias" in
+ i?86-* | k?-* | athlon-* | pentium*-)
+ AC_DEFINE([FPM_INTEL], 1, [Define to select libmad fixed point arithmetic implementation])
+ ;;
+ x86_64-*)
+ AC_DEFINE([FPM_64BIT], 1, [Define to select libmad fixed point arithmetic implementation])
+ ;;
+ ppc-* | powerpc-*)
+ AC_DEFINE([FPM_PPC], 1, [Define to select libmad fixed point arithmetic implementation])
+ ;;
+ sparc*-*)
+ if test "$GCC" = yes; then
+ AC_DEFINE([FPM_SPARC], 1, [Define to select libmad fixed point arithmetic implementation])
+ else
+ AC_DEFINE([FPM_64BIT], 1, [Define to select libmad fixed point arithmetic implementation])
+ fi
+ ;;
+ mips-*)
+ AC_DEFINE([FPM_MIPS], 1, [Define to select libmad fixed point arithmetic implementation])
+ ;;
+ alphaev56-* | alpha* | ia64-* | hppa*-linux-*)
+ AC_DEFINE([FPM_64BIT], 1, [Define to select libmad fixed point arithmetic implementation])
+ ;;
+ arm*-*)
+ AC_DEFINE([FPM_ARM], 1, [Define to select libmad fixed point arithmetic implementation])
+ ;;
+ universal-*)
+ ;;
+ *)
+ AC_DEFINE([FPM_DEFAULT], 1, [Define to select libmad fixed point arithmetic implementation])
+ ;;
+ esac
+ LIBMAD_CFLAGS='-I$(top_srcdir)/contrib/libmad'
+ LIBMAD_LIBS='$(top_builddir)/contrib/libmad/libmad.la'
+ LIBMAD_DEPS='$(top_builddir)/contrib/libmad/libmad.la'
+ fi
+ AC_SUBST(LIBMAD_CFLAGS)
+ AC_SUBST(LIBMAD_DEPS)
+ AC_SUBST(LIBMAD_LIBS)
+ fi
+ AM_CONDITIONAL([ENABLE_MAD], [test x"$enable_mad" != x"no"])
+ AM_CONDITIONAL([WITH_EXTERNAL_MAD], [test x"$have_external_libmad" = x"yes"])
+
+
+ dnl libmodplug (optional; enabled by default)
+ AC_ARG_ENABLE([modplug],
+ [AS_HELP_STRING([--enable-modplug], [Enable MODPlug support (default: enabled)])],
+ [test x"$enableval" != x"no" && enable_modplug="yes"])
+ if test x"$enable_modplug" != x"no"; then
+ PKG_CHECK_MODULES([LIBMODPLUG], [libmodplug >= 0.7], [have_modplug=yes], [have_modplug=no])
+ if test x"$enable_modplug" = x"yes" && test x"$have_modplug" != x"yes"; then
+ AC_MSG_ERROR([MODPlug support requested, but MODPlug not found])
+ fi
+ if test "`"$PKG_CONFIG" --modversion libmodplug`" = 0.8.8; then
+ AC_MSG_ERROR([you have a broken version of libmodplug (0.8.8); cowardly refusing to use it])
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_MODPLUG], [test x"$have_modplug" = x"yes"])
+
+
+ dnl libmpeg2new (optional; disabled by default)
+ AC_ARG_ENABLE([libmpeg2new],
+ AS_HELP_STRING([--enable-libmpeg2new], [build the newer MPEG2 decoder (buggy)]))
+ AM_CONDITIONAL([ENABLE_MPEG2NEW], [test "x$enable_libmpeg2new" = "xyes"])
+
+
+ dnl libmpcdec (optional; enabled by default; external version allowed)
+ AC_ARG_ENABLE([musepack],
+ [AS_HELP_STRING([--enable-musepack], [Enable support for Musepack decoding (default: enabled, internal: use external copy)])])
+ if test x"$enable_musepack" != x"no"; then
+ if test x"$enable_musepack" != x"internal"; then
+ AC_CHECK_LIB([mpcdec], [mpc_demux_decode],
+ [AC_CHECK_HEADERS([mpc/mpcdec.h], [have_external_libmpcdec=yes], [have_external_libmpcdec=no])],
+ [AC_CHECK_LIB([mpcdec], [mpc_decoder_decode],
+ [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [have_external_libmpcdec=yes], [have_external_libmpcdec=no])],
+ [have_external_libmpcdec=no])])
+ if test x"$have_external_libmpcdec" != x"yes"; then
+ AC_MSG_RESULT([*** no usable version of libmpcdec found, using internal copy ***])
+ else
+ MPCDEC_CFLAGS=""
+ MPCDEC_DEPS=""
+ MPCDEC_LIBS="-lmpcdec"
+ fi
+ else
+ AC_MSG_RESULT([Using included libmpcdec (Musepack)])
+ fi
+ if test x"$have_external_libmpcdec" != x"yes"; then
+ MPCDEC_CFLAGS='-I$(top_srcdir)/contrib/libmpcdec'
+ MPCDEC_LIBS='$(top_builddir)/contrib/libmpcdec/libmpcdec.la'
+ MPCDEC_DEPS='$(top_builddir)/contrib/libmpcdec/libmpcdec.la'
+ fi
+ AC_SUBST(MPCDEC_CFLAGS)
+ AC_SUBST(MPCDEC_DEPS)
+ AC_SUBST(MPCDEC_LIBS)
+ fi
+ AM_CONDITIONAL([ENABLE_MUSEPACK], [test x"$enable_musepack" != x"no"])
+ AM_CONDITIONAL([WITH_EXTERNAL_LIBMPCDEC], [test x"$have_external_libmpcdec" = x"yes"])
+
+
+ dnl mlib
+ AC_ARG_ENABLE([mlib],
+ [AS_HELP_STRING([--enable-mlib], [build Sun mediaLib support (default: disabled)])],
+ [test x"$enableval" != x"no" && enable_mlib="yes"], [enable_lib="no"])
+ AC_ARG_ENABLE([mlib-lazyload],
+ [AS_HELP_STRING([--enable-mlib-lazyload], [check for Sun mediaLib at runtime])],
+ [test x"$enableval" != x"no" && enable_mlib_lazyload="yes"], [enable_mlib_lazyload="no"])
+ if test x"$enable_mlib" != x"no"; then
+ mlibhome="$MLIBHOME" test x"$mlibhome" = x"" && mlibhome="/opt/SUNWmlib"
+ AC_CHECK_LIB([mlib], [mlib_VideoAddBlock_U8_S16],
+ [saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I$mlibhome/include"
+ AC_CHECK_HEADERS([mlib_video.h],
+ [if test x"$enable_mlib_lazyload" != x"no"; then
+ if test "$GCC" = yes; then
+ MLIB_LIBS="-L$mlibhome/lib -Wl,-z,lazyload,-lmlib,-z,nolazyload"
+ else
+ MLIB_LIBS="-L$mlibhome/lib -z lazyload -lmlib -z nolazyload"
+ fi
+ AC_DEFINE([MLIB_LAZYLOAD], 1, [Define this if you want to load mlib lazily])
+ else
+ MLIB_LIBS="-L$mlibhome/lib -lmlib"
+ fi
+ MLIB_CFLAGS="-I$mlibhome/include"
+ AC_SUBST(MLIB_LIBS)
+ AC_SUBST(MLIB_CFLAGS)
+ dnl TODO: src/video_out/yuv2rgb.c and src/xine-utils/cpu_accel.c should be changed to use LIBMPEG2_MLIB
+ dnl and HAVE_MLIB should go away.
+ AC_DEFINE([HAVE_MLIB], 1, [Define this if you have mlib installed])
+ AC_DEFINE([LIBMPEG2_MLIB], 1, [Define this if you have mlib installed])
+ have_mlib=yes])
+ CPPFLAGS="$saved_CPPFLAGS"], [], ["-L$mlibhome/lib"])
+ fi
+ AM_CONDITIONAL([HAVE_MLIB], [test x"$have_mlib" = x"yes"])
+
+
+ dnl mng (optional; enabled by default)
+ AC_ARG_ENABLE([mng],
+ [AS_HELP_STRING([--enable-mng], [Enable MNG decoder support (default: enabled)])],
+ [test x"$enableval" != x"no" && enable_mng="yes"])
+ if test x"$enable_mng" != x"no"; then
+ AC_CHECK_LIB([mng], [mng_initialize],
+ [AC_CHECK_HEADERS([libmng.h], [have_mng=yes], [have_mng=no])], [have_mng=no])
+ if test x"$enable_mng" = x"yes" && test x"$have_mng" != x"yes"; then
+ AC_MSG_ERROR([MNG support requested, but libmng not found])
+ elif test x"$have_mng" = x"yes"; then
+ MNG_LIBS="-lmng"
+ AC_SUBST(MNG_LIBS)
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_MNG], [test x"$have_mng" = x"yes"])
+
+
+ dnl Ogg/Speex (optional; enabled by default; external)
+ AC_ARG_WITH([speex],
+ [AS_HELP_STRING([--with-speex], [Enable Speex audio decoder support (default: enabled)])],
+ [test x"$withval" != x"no" && with_speex="yes"])
+ if test x"$with_speex" != x"no"; then
+ PKG_CHECK_MODULES([SPEEX], [ogg speex], [have_speex=yes], [have_speex=no])
+ if test x"$with_speex" = x"yes" && test x"$have_speex" != x"yes"; then
+ AC_MSG_ERROR([Speex support requested, but libspeex and/or libogg not found])
+ elif test x"$have_speex" = x"yes"; then
+ AC_DEFINE([HAVE_SPEEX], 1, [Define this if you have speex])
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_SPEEX], [test x"$have_speex" = x"yes"])
+
+
+ dnl Ogg/Theora (optional; enabled by default; external)
+ AC_ARG_WITH([theora],
+ [AS_HELP_STRING([--with-theora], [Enable Theora video decoder support (default: enabled)])],
+ [test x"$withval" != x"no" && with_theora="yes"])
+ if test x"$with_theora" != x"no"; then
+ PKG_CHECK_MODULES([THEORA], [ogg theora], [have_theora=yes], [have_theora=no])
+ if test x"$with_theora" = x"yes" && test x"$have_theora" = x"no"; then
+ AC_MSG_ERROR([Theora support requested, but libtheora and/or libogg not found])
+ elif test x"$have_theora" = x"yes"; then
+ AC_DEFINE([HAVE_THEORA], 1, [Define this if you have theora])
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_THEORA], [test x"$have_theora" = x"yes"])
+
+
+ dnl Ogg/Vorbis (optional; enabled by default; external)
+ AC_ARG_WITH([vorbis],
+ [AS_HELP_STRING([--with-vorbis], [Enable Vorbis audio decoder support (default: enabled)])],
+ [test x"$withval" != x"no" && with_vorbis="yes"])
+ if test x"$with_vorbis" != x"no"; then
+ PKG_CHECK_MODULES([VORBIS], [ogg vorbis], [have_vorbis=yes], [have_vorbis=no])
+ if test x"$with_vorbis" = x"yes" && test x"$have_vorbis" = "xno"; then
+ AC_MSG_ERROR([Vorbis support requested, but libvorbis and/or libogg not found])
+ elif test x"$have_vorbis" = x"yes"; then
+ AC_DEFINE([HAVE_VORBIS], 1, [Define this if you have vorbis])
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_VORBIS], [test x"$have_vorbis" = x"yes"])
+
+
+ dnl real (optional; enabled by default)
+ dnl On some systems, we cannot enable Real codecs support to begin with.
+ dnl This includes Darwin, because it uses Mach-O rather than ELF.
+ AC_ARG_ENABLE([real-codecs],
+ [AS_HELP_STRING([--enable-real-codecs], [Enable Real binary codecs support (default: enabled)])],
+ [test x"$enableval" != x"no" && enable_real_codecs="yes"])
+ AC_ARG_WITH([real-codecs-path],
+ [AS_HELP_STRING([--with-real-codecs-path=PATH], [Specify directory for Real binary codecs])])
+ if test x"$enable_real_codecs" != x"no"; then
+ case "$host_os" in
+ darwin*) have_real_codecs=no ;;
+ *)
+ have_real_codecs=yes
+
+ dnl For those that have a replacement, break at the first one found
+ AC_CHECK_SYMBOLS([__environ _environ environ], [break], [need_weak_aliases=yes])
+ AC_CHECK_SYMBOLS([stderr __stderrp], [break], [need_weak_aliases=yes])
+
+ dnl For these there are no replacements
+ AC_CHECK_SYMBOLS([___brk_addr __ctype_b])
+
+ if test x"$need_weak_aliases" = x"yes"; then
+ CC_ATTRIBUTE_ALIAS([], [have_real_codecs=no])
+ fi
+ ;;
+ esac
+ if test x"$enable_real_codecs" = x"yes" && test x"$have_real_codecs" != x"yes"; then
+ AC_MSG_ERROR([Binary Real codec support requested, but it is not available])
+ elif test x"$have_real_codecs" = x"yes"; then
+ if test "${with_real_codecs_path+set}" = "set"; then
+ AC_DEFINE_UNQUOTED([REAL_CODEC_PATH], ["$with_real_codecs_path"], [Default path in which to find Real binary codecs])
+ fi
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_REAL], [test x"$have_real_codecs" = x"yes"])
+
+
+ dnl w32dll (optional; x86 only; enabled if using GNU as; GNU as required)
+ AC_ARG_ENABLE([w32dll],
+ [AS_HELP_STRING([--enable-w32dll], [Enable Win32 DLL support (default: enabled)])],
+ [test x"$enableval" != x"no" && enable_w32dll="yes"],
+ [test x"$with_gnu_as" != x"yes" && enable_w32dll="no"])
+ AC_ARG_WITH([w32-path],
+ [AS_HELP_STRING([--with-w32-path=PATH], [location of Win32 binary codecs])],
+ [w32_path="$withval"], [w32_path="/usr/lib/codecs"])
+ if test x"$enable_w32dll" != x"no"; then
+ case "$host_or_hostalias" in
+ *-mingw* | *-cygwin) have_w32dll=no ;;
+ i?86-* | k?-* | athlon-* | pentium*-) have_w32dll="$with_gnu_as" ;;
+ *) enable_w32dll=no ;;
+ esac
+ if test x"$enable_w32dll" = x"yes" && test x"$have_w32dll" != x"yes"; then
+ AC_MSG_ERROR([Win32 DLL support requested, but Win32 DLL support is not available])
+ fi
+ fi
+ AC_SUBST(w32_path)
+ AM_CONDITIONAL([ENABLE_W32DLL], [test x"$have_w32dll" = x"yes"])
+
+
+ dnl wavpack (optional; disabled by default)
+ AC_ARG_WITH([wavpack],
+ [AS_HELP_STRING([--with-wavpack], [Enable Wavpack decoder (requires libwavpack)])],
+ [test x"$withval" != x"no" && with_wavpack="yes"], [with_wavpack="no"])
+ if test x"$with_wavpack" != x"no"; then
+ PKG_CHECK_MODULES([WAVPACK], [wavpack], [have_wavpack=yes], [have_wavpack=no])
+ if test x"$with_wavpack" = x"yes" && test x"$have_wavpack" != x"yes"; then
+ AC_MSG_ERROR([Wavpack decoder support requested, but libwavpack not found])
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_WAVPACK], [test x"$have_wavpack" = x"yes"])
+
+
+ dnl Only enable building dmx image if either gdk_pixbuf or ImageMagick are enabled
+ AM_CONDITIONAL([BUILD_DMX_IMAGE], [test x"$have_imagemagick" = x"yes" -o x"$have_gdkpixbuf" = x"yes"])
+])