]> git.sesse.net Git - vlc/blobdiff - configure.ac
macosx/* : added --macosx-opengl-effect, current possible values are
[vlc] / configure.ac
index 54324a00cc9ef560c73ab191921dcd3e2a58e6a0..e215a9a98ea87db39ed8df380f6145f8b68adf43 100644 (file)
@@ -1,10 +1,10 @@
 dnl Autoconf settings for vlc
-dnl $Id: configure.ac,v 1.126 2003/12/01 23:39:11 gbazin Exp $
+dnl $Id: configure.ac,v 1.175 2004/02/08 23:39:16 gbazin Exp $
 
-AC_INIT(vlc,0.7.0-test1)
+AC_INIT(vlc,0.7.1-test1)
 
 CONFIGURE_LINE="$0 $*"
-CODENAME="Trevelyan"
+CODENAME="Bond"
 
 AC_PREREQ(2.50)
 AC_CONFIG_SRCDIR(src/libvlc.c)
@@ -13,7 +13,7 @@ AC_CANONICAL_SYSTEM
 
 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
 dnl them. And we need the comma otherwize automake will choke on it.
-AM_INIT_AUTOMAKE(vlc,0.7.0-test1)
+AM_INIT_AUTOMAKE(vlc,0.7.1-test1)
 AM_CONFIG_HEADER(config.h)
 
 dnl
@@ -83,6 +83,8 @@ if test -d ${topdir}/extras/contrib/lib; then
   fi
   LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
   LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
+  with_livedotcom_tree=${topdir}/extras/contrib/src/live
+  with_goom_tree=${topdir}/extras/contrib/src/goom
 fi
 
 dnl
@@ -116,6 +118,7 @@ case "${target_os}" in
     CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
     OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
     AX_ADD_LDFLAGS([vlc ffmpeg],[-all_load])
+    AX_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
     AX_ADD_LDFLAGS([vlc],[-Wl,-multiply_defined,suppress])
     LIBEXT=".dylib"
     ;;
@@ -151,6 +154,9 @@ case "${target_os}" in
     ;;
   solaris*)
     SYS=solaris
+    # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
+    # Perhaps it is useful other places as well? 
+    CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
     ;;
   hpux*)
     SYS=hpux
@@ -160,6 +166,7 @@ case "${target_os}" in
     SYS=beos
     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
+    AX_ADD_CXXFLAGS([beos],[])
     AX_ADD_LDFLAGS([vlc beos],[-lbe])
     AX_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
 
@@ -270,7 +277,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd
 dnl Check for system libs needed
 need_libc=false
 
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r)
+AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r)
 
 dnl Check for usual libc functions
 AC_CHECK_FUNCS(strdup strndup atof lseek)
@@ -370,10 +377,10 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 if test "${SYS}" != "mingw32"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
-  AX_ADD_LDFLAGS([adjust distort a52tofloat32],[-lm])
+  AX_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  AX_ADD_LDFLAGS([ffmpeg stream_out_transcode stream_out_transrate i420_rgb faad],[-lm])
+  AX_ADD_LDFLAGS([ffmpeg stream_out_transcode stream_out_transrate i420_rgb faad vlc],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   AX_ADD_LDFLAGS([headphone_channel_mixer],[-lm])
@@ -866,8 +873,8 @@ dnl
 dnl  default modules
 dnl
 AX_ADD_PLUGINS([dummy rc logger gestures memcpy hotkeys])
-AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ts avi asf aac mp4 rawdv])
-AX_ADD_PLUGINS([spudec dvbsub mpeg_audio lpcm a52 dts cinepak])
+AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ps2 ts avi asf aac mp4 rawdv demux2 nsv real aiff])
+AX_ADD_PLUGINS([cvdsub svcdsub spudec dvbsub mpeg_audio lpcm a52 dts cinepak])
 AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
 AX_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32])
 AX_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler])
@@ -910,7 +917,7 @@ MMXEXT_MODULES="memcpymmxext"
 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
 THREEDNOW_MODULES="memcpy3dn"
 SSE_MODULES=""
-ALTIVEC_MODULES="memcpyaltivec"
+ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
 
 if test "${enable_gprof}" != "yes"
@@ -924,6 +931,7 @@ AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
      AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
                     ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
 if test "${ac_cv_mmx_inline}" != "no"; then
+  AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
   ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
 fi
 
@@ -933,6 +941,7 @@ AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
      AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
                     ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
 if test "${ac_cv_mmxext_inline}" != "no"; then
+  AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
   ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
 fi
 
@@ -992,7 +1001,7 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
      CFLAGS="${CFLAGS_save}"])
 if test "${ac_cv_c_altivec}" != "no"; then
   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
-  AX_ADD_CFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[${ac_cv_c_altivec}])
+  AX_ADD_CFLAGS([vlc idctaltivec motionaltivec memcpyaltivec deinterlace i420_yuy2_altivec],[${ac_cv_c_altivec}])
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
 fi
 
@@ -1023,7 +1032,8 @@ if test -n "${with_tuning}"; then
         CFLAGS_TUNING="-mcpu=${with_tuning}"
     fi
 else
-    if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then CFLAGS_TUNING="-mcpu=pentiumpro"
+    if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
+        CFLAGS_TUNING="-mcpu=pentiumpro"
     else
         if test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi
     fi
@@ -1100,7 +1110,7 @@ dnl
 dnl  live.com input
 dnl
 AC_ARG_ENABLE(livedotcom,
-[  --enable-livedotcom   live.com input plugin (default disabled)])
+[  --enable-livedotcom     live.com input plugin (default disabled)])
 if test "${enable_livedotcom}" = "yes"
 then
   AC_ARG_WITH(livedotcom-tree,
@@ -1109,7 +1119,7 @@ then
   dnl
   dnl test for --with-livedotcom-tree
   dnl
-  if test "${with_livedotcom_tree}" != "no" -a -n "${with_livedotcom_tree}";then
+  if test "${with_livedotcom_tree}" != "no" -a -n "${with_livedotcom_tree}"; then
     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
     real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
     if test -z "${real_livedotcom_tree}"; then
@@ -1346,11 +1356,34 @@ then
   fi
 fi
 
+dnl
+dnl  libdvdnav plugin
+dnl
+AC_ARG_ENABLE(dvdnav,
+  [  --enable-dvdnav         dvdnav input module (default enabled)])
+if test "${enable_caca}" != "no"
+then
+  DVDNAV_PATH="${PATH}"
+  AC_ARG_WITH(dvdnav-config-path,
+    [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
+    [ if test "${with_dvdnav_config_path}" != "no"
+      then
+        DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
+      fi ])
+  AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
+  if test "${DVDNAV_CONFIG}" != "no"
+  then
+    AX_ADD_PLUGINS([dvdnav])
+    AX_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
+    AX_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
+  fi
+fi
+
 dnl
 dnl  Windows DirectShow access module
 dnl
 AC_ARG_ENABLE(dshow,
-  [  --enable-dshow       Win32 DirectShow support (default enabled on Win32)])
+  [  --enable-dshow          Win32 DirectShow support (default enabled on Win32)])
 if test "${enable_dshow}" != "no"
 then
   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
@@ -1378,8 +1411,8 @@ then
     if test -z "${with_dvbpsi_tree}"
     then
       AC_CHECK_HEADERS(dvbpsi/dr.h,
-        [ AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi])
-          AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi],[-ldvbpsi]) ],
+        [ AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi ts2])
+          AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-ldvbpsi]) ],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
         [#if defined( HAVE_STDINT_H )
 #   include <stdint.h>
@@ -1403,9 +1436,9 @@ then
       then
         dnl  Use a custom libdvbpsi
         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
-        AX_ADD_BUILTINS([ts_dvbpsi mux_ts_dvbpsi])
-        AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi],[-I${real_dvbpsi_tree}/src])
-        AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
+        AX_ADD_BUILTINS([ts_dvbpsi mux_ts_dvbpsi ts2])
+        AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-I${real_dvbpsi_tree}/src])
+        AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
       else
         dnl  The given libdvbpsi wasn't built
         AC_MSG_RESULT(no)
@@ -1428,9 +1461,9 @@ then
     fi
     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
     AC_CHECK_HEADERS([dvbpsi/dr.h],[
-      AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi])
-      AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi],[${CPPFLAGS_test}])
-      AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi],[${LDFLAGS_test} -ldvbpsi])
+      AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi ts2])
+      AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[${CPPFLAGS_test}])
+      AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[${LDFLAGS_test} -ldvbpsi])
 
     ],[
       if test -n "${enable_dvbpsi}"
@@ -1478,24 +1511,29 @@ dnl
 dnl  VCDX and CDDAX modules
 dnl
 AC_ARG_ENABLE(libcdio,
-  [  --enable-libcdio         CDDA support via libcdio (default enabled)])
+  [  --enable-libcdio        CDDA support via libcdio (default enabled)])
 
 AC_ARG_ENABLE(libcddb,
-  [  --enable-libcddb         CDDB support for CDDAX (default enabled)])
+  [  --enable-libcddb        CDDB support for CDDAX (default enabled)])
 
 AC_ARG_ENABLE(vcdx,
-  [  --enable-vcdx            VCD support with Navigation (default enabled)])
+  [  --enable-vcdx           VCD support with Navigation (default enabled)])
+
+AC_ARG_ENABLE(cdda,           
+  [  --enable-cdda            CDDA plugin support (default enabled)])
 
 if test "${enable_cddax}" != "no"
 then
   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.65,
    [enable_cddax="no"
+    AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio])
     AX_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
     AX_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
     AX_ADD_PLUGINS([cddax])], 
-   [AC_MSG_WARN(libcdio library not found)])
+   [AC_MSG_WARN(libcdio library not found)
+   HAVE_CDDAX=no])
 
-  if test x$enable_cddb != no; then
+  if test x$enable_libcddb != no; then
     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.4, [
       HAVE_LIBCDDB=yes 
       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
@@ -1506,21 +1544,17 @@ then
       HAVE_LIBCDDB=no])
   fi
 
-  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.65,
-   [enable_cddax="no"
-    AX_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
-    AX_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
-    AX_ADD_PLUGINS([cddax])], 
-   [AC_MSG_WARN(libcdio library not found)])
-
   if test "${enable_vcdx}" != "no"
   then
-    PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20-cdio,
+    PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20,
      [enable_vcd="no"
+      AC_DEFINE(HAVE_VCDX, [], 
+      [Define for the VCD plugin using libcdio/libvcdinfo])
       AX_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
       AX_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
       AX_ADD_PLUGINS([vcdx])], 
-     [AC_MSG_WARN(vcdinfo library not found)])
+     [AC_MSG_WARN(vcdinfo library not found)
+     HAVE_VCDX=no])
   fi
 fi
 
@@ -1577,6 +1611,8 @@ AC_ARG_ENABLE(satellite,
   [  --enable-satellite      satellite card support (default disabled)],
   [ if test "${enable_satellite}" = "yes"
     then
+      AC_DEFINE(HAVE_SATELLITE, [], 
+      [Define for the VCD plugin using libcdio/libvcdinfo])
       AX_ADD_PLUGINS([satellite])
     fi])
 
@@ -1736,7 +1772,7 @@ AC_CHECK_HEADERS(id3tag.h, [
     AX_ADD_PLUGINS([id3tag])]) ])
 
 dnl
-dnl  ffmpeg decoder plugin
+dnl  ffmpeg decoder/demuxer plugin
 dnl
 AC_ARG_ENABLE(ffmpeg,
 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
@@ -1764,10 +1800,11 @@ then
   dnl
   dnl test for !(--with-ffmpeg-tree)
   dnl
-  if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}";then
+  if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
-    AC_CHECK_HEADERS(ffmpeg/avcodec.h postproc/postprocess.h)
+    AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
+    AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
     AC_CHECK_LIB(avcodec, avcodec_init, [
       AX_ADD_BUILTINS([ffmpeg stream_out_transcode])
       AX_ADD_LDFLAGS([ffmpeg],[-lavcodec])
@@ -1775,6 +1812,10 @@ then
       dnl       linker would miserably barf on multiple definitions.
       AX_ADD_LDFLAGS([stream_out_transcode],[]) ],
        [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ])
+    AC_CHECK_LIB(avformat, av_open_input_stream, [
+      AC_DEFINE(HAVE_LIBAVFORMAT, 1,
+      [Define if you have ffmpeg's libavformat.])
+      AX_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ])
     LDFLAGS="${LDFLAGS_save}"
     CPPFLAGS="${CPPFLAGS_save}"
   fi
@@ -1782,7 +1823,7 @@ then
   dnl
   dnl test for --with-ffmpeg-tree
   dnl
-  if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}";then
+  if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
     AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
     if test -z "${real_ffmpeg_tree}"; then
@@ -1790,22 +1831,32 @@ then
       AC_MSG_RESULT(no)
       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
     fi
-    if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
-      dnl  Use a custom libffmpeg
-      AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
-      AX_ADD_BUILTINS([ffmpeg stream_out_transcode])
-      AX_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec -lavcodec])
-      AX_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec])
-
-      dnl  XXX: we don't link with -lavcodec a 2nd time because the OS X
-      dnl       linker would miserably barf on multiple definitions.
-      AX_ADD_LDFLAGS([stream_out_transcode],[-L${real_ffmpeg_tree}/libavcodec])
-      AX_ADD_CPPFLAGS([stream_out_transcode],[-I${real_ffmpeg_tree}/libavcodec])
-    else
+    if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
       dnl  The given libavcodec wasn't built
       AC_MSG_RESULT(no)
       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
     fi
+    if ! grep -q "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
+      dnl  The given libavcodec wasn't built with --enable-pp
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
+    fi
+    dnl  Use a custom libffmpeg
+    AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
+    AX_ADD_BUILTINS([ffmpeg stream_out_transcode])
+    AX_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec -lavcodec])
+    AX_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec])
+
+    if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
+      AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
+      AX_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
+      AX_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
+    fi
+
+    dnl  XXX: we don't link with -lavcodec a 2nd time because the OS X
+    dnl       linker would miserably barf on multiple definitions.
+    AX_ADD_LDFLAGS([stream_out_transcode],[-L${real_ffmpeg_tree}/libavcodec])
+    AX_ADD_CPPFLAGS([stream_out_transcode],[-I${real_ffmpeg_tree}/libavcodec])
   fi
 fi
 
@@ -1930,21 +1981,24 @@ dnl
 dnl MP4 module
 dnl
 AC_CHECK_HEADERS(zlib.h, [
-  AX_ADD_LDFLAGS([mp4 skins sap],[-lz])
+  AX_ADD_LDFLAGS([mp4 skins skins2 sap],[-lz])
 ] )
 
+AC_CHECK_HEADERS(sysfs/libsysfs.h, [
+  AX_ADD_LDFLAGS([mp4],[-lsysfs])
+] )
 
 dnl
 dnl skins module
 dnl
 AC_CHECK_HEADERS(libtar.h, [
-  AX_ADD_LDFLAGS([skins],[-ltar])
+  AX_ADD_LDFLAGS([skins skins2],[-ltar])
 ] )
 
 
 
 dnl
-dnl  a52 AC3 decoder plugin
+dnl A52/AC3 decoder plugin
 dnl
 AC_ARG_ENABLE(a52,
   [  --enable-a52            A/52 support with liba52 (default enabled)])
@@ -2013,6 +2067,62 @@ then
   fi
 fi
 
+dnl
+dnl DTS Coherent Acoustics decoder plugin
+dnl
+AC_ARG_ENABLE(dts,
+  [  --enable-dts            DTS Coherent Acoustics support with libdts (default enabled)])
+if test "${enable_dts}" != "no"; then
+  AC_ARG_WITH(dts-tree,
+    [    --with-dts-tree=PATH  dtsdec tree for static linking ],[],[])
+  if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
+  then
+    real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
+    if test -z "${real_dts_tree}"
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
+    fi
+    dnl  Use a custom dtsdec
+    AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
+    if test -f ${real_dts_tree}/include/dts.h
+    then
+      AC_MSG_RESULT(yes)
+      AX_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}])
+      AX_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts/.libs])
+      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
+      AC_CHECK_LIB(dts, dts_free, [
+        AX_ADD_BUILTINS([dtstofloat32])
+        AX_ADD_CPPFLAGS([dtstofloat32],[-DUSE_DTSDEC_TREE])
+        AX_ADD_LDFLAGS([dtstofloat32],[-ldts])
+        ],[
+        if test -f ${real_dts_tree}/libdts/.libs/libdts.a
+        then
+          AC_MSG_ERROR([make sure you have at least dtsdec-0.1.0])
+        else
+          AC_MSG_ERROR([the specified tree hasn't been compiled])
+        fi
+      ])
+      LDFLAGS="${LDFLAGS_save}"
+    else
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([the specified tree doesn't have dts.h])
+    fi
+  else
+    AC_CHECK_HEADERS(dtsdec/dts.h, [
+      AC_CHECK_LIB(dts, dts_free, [
+        AX_ADD_PLUGINS([dtstofloat32])
+        AX_ADD_LDFLAGS([dtstofloat32],[-ldts])
+      ],[
+        if test "${enable_dts}" = "yes"; then
+          AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.])
+        fi
+      ])
+    ])
+  fi
+fi
+
 dnl dnl
 dnl dnl  DV plugin
 dnl dnl
@@ -2124,7 +2234,7 @@ dnl
 dnl  Speex plugin
 dnl
 AC_ARG_ENABLE(speex,
-  [  --enable-speex         Speex decoder support (default enabled)])
+  [  --enable-speex          Speex decoder support (default enabled)])
 if test "${enable_speex}" != "no"
 then
   AC_CHECK_HEADERS(speex.h, [
@@ -2199,7 +2309,10 @@ dnl   png
 dnl
 AC_CHECK_HEADERS(png.h, [
     AX_ADD_LDFLAGS([logo],[-lpng -lz])
-    AX_ADD_PLUGINS([logo])])
+    AX_ADD_PLUGINS([logo])
+    AX_ADD_LDFLAGS([svcdsub],[-lpng -lz])
+    AX_ADD_LDFLAGS([cvdsub],[-lpng -lz])
+    AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])])
 
 dnl
 dnl  Video plugins
@@ -2428,7 +2541,7 @@ then
   fi
   AX_ADD_PLUGINS([qte])
   NEED_QTE_MAIN=yes
-  CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
+  CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
   ] )
@@ -2559,7 +2672,14 @@ AC_ARG_ENABLE(caca,
   [  --enable-caca           libcaca output (default disabled)])
 if test "${enable_caca}" = "yes"
 then
-  AC_PATH_PROG(CACA_CONFIG, caca-config, no)
+  CACA_PATH="${PATH}"
+  AC_ARG_WITH(caca-config-path,
+    [    --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
+    [ if test "${with_caca_config_path}" != "no"
+      then
+        CACA_PATH="${with_caca_config_path}:${PATH}"
+      fi ])
+  AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
   if test "${CACA_CONFIG}" != "no"
   then
     AX_ADD_PLUGINS([caca])
@@ -2714,20 +2834,81 @@ if test "${enable_skins}" != "no"; then
     AX_ADD_LDFLAGS([skins],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
 
   else if test "${enable_skins}" = "yes"; then
-    IMLIB2_PATH="${PATH}"
-    AC_PATH_PROG(IMLIB2_CONFIG_SKINS, imlib2-config, no, ${IMLIB2_PATH})
-    if test "${IMLIB2_CONFIG_SKINS}" = "no"; then
-    AC_MSG_ERROR([Couldn't find the imlib2 package. You can download imlib2 from http://enlightenment.org/, or configure with --disable-skins.])
-    fi
-
     AX_ADD_PLUGINS([skins])
     ALIASES="${ALIASES} svlc"
-    AX_ADD_CPPFLAGS([skins],[-Imodules/gui/skins -I${x_includes} `${IMLIB2_CONFIG_SKINS} --cflags` -DX11_SKINS])
+    AX_ADD_CPPFLAGS([skins],[-Imodules/gui/skins -I${x_includes} -I/usr/include/freetype2 -DX11_SKINS])
     AX_ADD_CXXFLAGS([skins],[-O2 -fno-rtti])
-    AX_ADD_LDFLAGS([skins],[-L${x_libraries} -lXext -lX11 `${IMLIB2_CONFIG_SKINS} --libs`])
+    AX_ADD_LDFLAGS([skins],[-L${x_libraries} -lImlib2 -lXext -lX11 -lfreetype -lpng -lz ])
   fi fi
 fi
 
+dnl
+dnl Skins2 module
+dnl
+AC_ARG_ENABLE(skins2,
+  [  --enable-skins2         Skins2 interface module (experimental)])
+if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${enable_skins2}" != "no"); then
+
+  dnl test for the required libraries
+  skins2_missing_lib="no"
+
+  dnl freetype
+  if test "${FREETYPE_CONFIG}" != "no"; then
+    AX_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
+    AX_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
+  else
+    skins2_missing_lib="yes"
+    if test "${enable_skins2}" = "yes"; then
+      AC_MSG_ERROR([Could not find freetype (required for skins2)])
+    fi
+  fi
+
+  dnl iconv
+  if test "$am_cv_func_iconv" = "yes"; then
+    AX_ADD_CPPFLAGS([skins2],[${INCICONV}])
+    AX_ADD_LDFLAGS([skins2],[${LIBICONV} -lpng])
+  else
+    skins2_missing_lib="yes"
+    if test "${enable_skins2}" = "yes"; then
+      AC_MSG_ERROR([Could not find iconv (required for skins2)])
+    fi
+  fi
+
+  dnl libxml2
+  XML2_PATH="${PATH}"
+  AC_ARG_WITH(xml2-config-path,
+    [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
+    [ if test "${with_xml2_config_path}" != "no"; then
+        XML2_PATH="${with_xml2_config_path}:${PATH}"
+      fi ])
+  AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
+  if test "${XML2_CONFIG}" != "no"; then
+    AX_ADD_CPPFLAGS([skins2],[`${XML2_CONFIG} --cflags`])
+    AX_ADD_LDFLAGS([skins2],[`${XML2_CONFIG} --libs`])
+  else
+    skins2_missing_lib="yes"
+    if test "${enable_skins2}" = "yes"; then
+      AC_MSG_ERROR([Could not find libxml2 (required for skins2)])
+    fi
+  fi
+
+  if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
+    AX_ADD_PLUGINS([skins2])
+    ALIASES="${ALIASES} svlc"
+    AX_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
+    AX_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
+    AX_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
+
+  else if test "${skins2_missing_lib}" = "no"; then
+    AX_ADD_PLUGINS([skins2])
+    ALIASES="${ALIASES} svlc"
+    AX_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
+    AX_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
+    AX_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
+  fi fi
+fi
+
+
 dnl
 dnl  Gtk+ module
 dnl
@@ -2800,20 +2981,20 @@ dnl fi
 dnl
 dnl  PDA Gtk+2 module
 dnl
-AC_ARG_ENABLE(pda,
-  [  --enable-pda          PDA interface needs Gtk2 support (default disabled)])
-if test "x${enable_pda}" = "xyes"
-then
-  PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
-  AX_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
-  AX_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
-  AX_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
-  AX_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
-  AX_ADD_PLUGINS([pda])
-  if test "${SYS}" != "mingw32"; then
-    NEED_GTK2_MAIN=yes
-  fi
-fi
+#AC_ARG_ENABLE(pda,
+#  [  --enable-pda          PDA interface needs Gtk2 support (default disabled)])
+#if test "x${enable_pda}" = "xyes"
+#then
# PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
+#  AX_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
+#  AX_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
+#  AX_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
+#  AX_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
+#  AX_ADD_PLUGINS([pda])
+#  if test "${SYS}" != "mingw32"; then
+#    NEED_GTK2_MAIN=yes
+#  fi
+#fi
 
 dnl
 dnl  Gnome module
@@ -2983,7 +3164,7 @@ AC_ARG_ENABLE(opie,
        AX_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
        AX_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
      fi
-     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
+     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
      AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
        AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
      ] )
@@ -3009,11 +3190,11 @@ AC_ARG_ENABLE(macosx,
   [if test "${enable_macosx}" = "yes"
    then
      AX_ADD_BUILTINS([macosx])
-     AX_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC])
+     AX_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
    fi],
   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
      AX_ADD_BUILTINS([macosx])
-     AX_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC])
+     AX_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
    )])
 
 dnl
@@ -3065,7 +3246,7 @@ dnl
 dnl Visualisation plugin
 dnl
 AC_ARG_ENABLE(visual,
-  [  --enable-visual           visualisation plugin (default enabled)])
+  [  --enable-visual          visualisation plugin (default enabled)])
 if test "${enable_visual}" != "no"
 then
     AX_ADD_PLUGINS([visual])
@@ -3075,7 +3256,7 @@ dnl
 dnl  goom visualization plugin
 dnl
 AC_ARG_ENABLE(goom,
-[  --enable-goom         goom visualisation plugin (default disabled)])
+[  --enable-goom           goom visualisation plugin (default disabled)])
 if test "${enable_goom}" = "yes"
 then
   AC_ARG_WITH(goom-tree,
@@ -3084,7 +3265,7 @@ then
   dnl
   dnl test for --with-goom-tree
   dnl
-  if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}";then
+  if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
     AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
     real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
     if test -z "${real_goom_tree}"; then
@@ -3349,8 +3530,8 @@ fi
 if test "${NEED_GNOME_MAIN}" != "no"
 then
     AX_ADD_PLUGINS([gnome_main])
-    AX_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_pda} ${CFLAGS_gnome}])
-    AX_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_pda} ${LDFLAGS_gnome}])
+    AX_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
+    AX_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
 fi
 
 if test "${NEED_GTK2_MAIN}" != "no"
@@ -3487,9 +3668,7 @@ AX_VLC_SUBSTS
 dnl Create vlc-config.in
 AX_OUTPUT_VLC_CONFIG_IN
 
-AC_OUTPUT([
-  vlc-config
-
+AC_CONFIG_FILES([
   Makefile
   autotools/Makefile
   debian/Makefile
@@ -3503,7 +3682,9 @@ AC_OUTPUT([
   po/Makefile.in
   share/Makefile
   src/Makefile
+])
 
+AC_CONFIG_FILES([
   modules/access/Makefile
   modules/access/dshow/Makefile
   modules/access/dvb/Makefile
@@ -3527,6 +3708,7 @@ AC_OUTPUT([
   modules/codec/Makefile
   modules/codec/ffmpeg/Makefile
   modules/codec/ffmpeg/postprocessing/Makefile
+  modules/codec/ogt/Makefile
   modules/codec/spudec/Makefile
   modules/control/Makefile
   modules/control/corba/Makefile
@@ -3537,6 +3719,7 @@ AC_OUTPUT([
   modules/demux/avi/Makefile
   modules/demux/mp4/Makefile
   modules/demux/mpeg/Makefile
+  modules/demux/playlist/Makefile
   modules/demux/util/Makefile
   modules/gui/Makefile
   modules/gui/beos/Makefile
@@ -3549,6 +3732,7 @@ AC_OUTPUT([
   modules/gui/qnx/Makefile
   modules/gui/qt/Makefile
   modules/gui/skins/Makefile
+  modules/gui/skins2/Makefile
   modules/gui/wxwindows/Makefile
   modules/misc/Makefile
   modules/misc/dummy/Makefile
@@ -3556,6 +3740,7 @@ AC_OUTPUT([
   modules/misc/memcpy/Makefile
   modules/misc/network/Makefile
   modules/misc/testsuite/Makefile
+  modules/misc/playlist/Makefile
   modules/mux/Makefile
   modules/mux/mpeg/Makefile
   modules/packetizer/Makefile
@@ -3573,11 +3758,12 @@ AC_OUTPUT([
   modules/visualization/scope/Makefile
   modules/visualization/xosd/Makefile
   modules/visualization/visual/Makefile
-],[
-  chmod 0755 vlc-config
 ])
 
-dnl Generate makefiles found by bootstrap
+AC_CONFIG_FILES([vlc-config], [chmod 0755 vlc-config])
+
+dnl Generate makefiles
+AC_OUTPUT
 
 printf "
 vlc configuration