]> git.sesse.net Git - vlc/blobdiff - configure.ac.in
* ./TODO: scrapped the todo-list. I put the unresolved items in Bugzilla
[vlc] / configure.ac.in
index ac28d973f09b691c4b28b8d7b85f0bffd3c239d0..bf882daf9da9df9eb2571e582827dc3f63ca7373 100644 (file)
@@ -1,6 +1,6 @@
 dnl Autoconf settings for vlc
 
-AC_INIT(vlc,0.5.0-cvs-am)
+AC_INIT(vlc,0.5.0-cvs)
 
 CONFIGURE_LINE="$0 $*"
 CODENAME="Natalya"
@@ -11,7 +11,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.5.0-cvs-am)
+AM_INIT_AUTOMAKE(vlc,0.5.0-cvs)
 AM_CONFIG_HEADER(config.h)
 
 dnl
@@ -49,10 +49,17 @@ dnl Find the right ranlib, even when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 AC_CHECK_TOOL(STRIP, strip, :)
 
+dnl
 dnl Gettext stuff
+dnl
 ALL_LINGUAS="de en_GB fr ja no ru nl pl se"
 AM_GNU_GETTEXT_VERSION(0.10.40)
 AM_GNU_GETTEXT
+if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
+  AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
+  INCLUDES="${INCLUDES} -I\\\$(top_srcdir)/intl"
+fi
+AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
 
 dnl AM_PROG_LIBTOOL
 AC_PROG_INSTALL
@@ -115,12 +122,16 @@ case "x${target_os}" in
     esac
 
     if test "x$SYS" = "xmingw32"; then
+        # add ws2_32 for closesocket, select, recv
         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"
         CPPFLAGS="${CPPFLAGS_save}"
         LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows"
         LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32"
         LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32"
-        LDFLAGS_access_http="${LDFLAGS_http} -lws2_32"
+        LDFLAGS_access_http="${LDFLAGS_access_http} -lws2_32"
+        LDFLAGS_access_mms="${LDFLAGS_access_mms} -lws2_32"
+        LDFLAGS_access_rtp="${LDFLAGS_access_rtp} -lws2_32"
+        LDFLAGS_access_udp="${LDFLAGS_access_udp} -lws2_32"
         LDFLAGS_rc="${LDFLAGS_rc} -lws2_32"
     fi
     ;;
@@ -179,17 +190,37 @@ then
         CFLAGS_mingw32_special="-fnative-struct"
     fi
 
-    CFLAGS_save="${CFLAGS_save} ${CFLAGS_mingw32_special}"; CFLAGS="${CFLAGS_save}"
+    CFLAGS_save="${CFLAGS_save} ${CFLAGS_mingw32_special}";
+    CXXFLAGS_save="${CXXFLAGS_save} ${CFLAGS_mingw32_special}";
+    CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
+fi
+
+dnl Check for fvtable-thunks support for mingw32
+if test x$SYS = xmingw32
+then
+AC_LANG_PUSH(C++)
+    AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
+        [ac_cv_cxx_fvtable_thunks],
+        [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
+         AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
+                        ac_cv_cxx_fvtable_thunks=no)])
+    if test x"$ac_cv_cxx_fvtable_thunks" = x"yes"; then
+        CXXFLAGS_mingw32_special="-fvtable-thunks"
+    fi
+
+    CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"
+    CXXFLAGS="${CXXFLAGS_save}"
+AC_LANG_POP(C++)
 fi
 
 dnl Flags for plugin compilation
 case "x${SYS}" in
   xmingw32|xcygwin)
     CFLAGS_pics="${CFLAGS_pics} ${CFLAGS_mingw32_special}"
-    CXXFLAGS_pics="${CXXFLAGS_pics} ${CFLAGS_mingw32_special}"
+    CXXFLAGS_pics="${CXXFLAGS_pics} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}"
     OBJCFLAGS_pics="${OBJCFLAGS_pics} ${CFLAGS_mingw32_special}"
     CFLAGS_plugins="${CFLAGS_plugins} ${CFLAGS_mingw32_special}"
-    CXXFLAGS_plugins="${CXXFLAGS_plugins} ${CFLAGS_mingw32_special}"
+    CXXFLAGS_plugins="${CXXFLAGS_plugins} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}"
     OBJCFLAGS_plugins="${OBJCFLAGS_plugins} ${CFLAGS_mingw32_special}"
     ;;
   x*)
@@ -207,7 +238,19 @@ dnl The -DSYS_FOO flag
 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
 
 dnl Check for system libs needed
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll strndup)
+need_libc=false
+
+AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll getenv putenv setenv)
+
+dnl Check for usual libc functions
+AC_CHECK_FUNCS(strdup,,[need_libc=:])
+AC_CHECK_FUNCS(strndup,,[need_libc=:])
+AC_CHECK_FUNCS(atof,,[need_libc=:])
+AC_CHECK_FUNCS(lseek,,[need_libc=:])
+AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp,,[need_libc=:])])
+AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp,,[need_libc=:])])
+
+AM_CONDITIONAL(BUILD_LIBC, ${need_libc})
 
 AC_CHECK_FUNC(connect,,[
   AC_CHECK_LIB(socket,connect,
@@ -217,7 +260,10 @@ AC_CHECK_FUNC(connect,,[
 
 AC_CHECK_FUNC(send,,[
   AC_CHECK_LIB(socket,send,
-    LDFLAGS_http="${LDFLAGS_http} -lsocket"
+    LDFLAGS_access_http="${LDFLAGS_access_http} -lsocket"
+    LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket"
+    LDFLAGS_access_rtp="${LDFLAGS_access_rtp} -lsocket"
+    LDFLAGS_access_udp="${LDFLAGS_access_udp} -lsocket"
 )])
 
 AC_CHECK_FUNC(gethostbyname,,[
@@ -263,7 +309,8 @@ AC_TYPE_SIGNAL
 AC_CHECK_LIB(dl,dlopen,LDFLAGS_vlc="${LDFLAGS_vlc} -ldl")
 AC_CHECK_LIB(m,cos,
   LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
-  LDFLAGS_filter_distort="${LDFLAGS_filter_distort} -lm")
+  LDFLAGS_filter_distort="${LDFLAGS_filter_distort} -lm"
+  LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -lm")
 AC_CHECK_LIB(m,pow,
   LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lm"
   LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
@@ -304,8 +351,8 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
             Define if <strings.h> defines strncasecmp.)])
 
 dnl Check for headers
-AC_CHECK_HEADERS(stdint.h getopt.h strings.h inttypes.h sys/int_types.h)
-AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h)
+AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h getopt.h strings.h inttypes.h sys/int_types.h)
+AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
 AC_CHECK_HEADERS(dlfcn.h image.h)
 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
@@ -313,6 +360,11 @@ AC_CHECK_HEADERS(linux/version.h)
 
 AC_HEADER_TIME
 
+dnl Check for dirent
+need_dirent=false
+AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
+AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
+
 dnl Mac OS X and other OSes don't have declaration for nanosleep
 AC_EGREP_HEADER(nanosleep,time.h,[
   AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
@@ -382,7 +434,7 @@ AC_CACHE_CHECK([if \$CC accepts -Wall -Winline],
      AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)])
 if test "x${ac_cv_c_Wall_Winline}" != "xno"; then
     CFLAGS_save="-Wall -Winline ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="-Wall -Winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
+    CXXFLAGS_save="-Wall ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
     OBJCFLAGS_save="-Wall -Winline ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
 else
     AC_CACHE_CHECK([if \$CC accepts -wall -winline],
@@ -461,6 +513,16 @@ if test "x${ac_cv_c_omit_frame_pointer}" != "xno"; then
     CFLAGS_i420_yuy2_mmx="${CFLAGS_i420_yuy2_mmx} -fomit-frame-pointer"
 fi
 
+dnl Check for -mdynamic-no-pic
+AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
+    [ac_cv_c_dynamic_no_pic],
+    [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
+     AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
+if test "x${ac_cv_c_dynamic_no_pic}" != "xno"; then
+    CFLAGS_builtins="${CFLAGS_builtins} -mdynamic-no-pic"
+    CFLAGS_libvlc="${CFLAGS_libvlc} -mdynamic-no-pic"
+fi
+
 dnl Check for Darwin plugin linking flags
 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
     [ac_cv_ld_darwin],
@@ -535,21 +597,21 @@ PLUGINS="${PLUGINS} es audio mpeg_system ps ts"
 PLUGINS="${PLUGINS} idct idctclassic motion mpeg_video spudec mpeg_audio"
 #PLUGINS="${PLUGINS} a52old imdct downmix"
 PLUGINS="${PLUGINS} lpcm a52"
-PLUGINS="${PLUGINS} deinterlace invert wall transform distort clone crop motionblur"
-PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab"
-PLUGINS="${PLUGINS} trivial_resampler ugly_resampler"
+PLUGINS="${PLUGINS} deinterlace invert adjust wall transform distort clone crop motionblur"
+PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32"
+PLUGINS="${PLUGINS} trivial_resampler ugly_resampler linear_resampler"
 PLUGINS="${PLUGINS} trivial_channel_mixer"
-PLUGINS="${PLUGINS} trivial_mixer spdif_mixer"
+PLUGINS="${PLUGINS} trivial_mixer spdif_mixer float32_mixer"
 PLUGINS="${PLUGINS} aout_file"
 #PLUGINS="${PLUGINS} scope"
 PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga"
-PLUGINS="${PLUGINS} id3"
-PLUGINS="${PLUGINS} wav araw"
+PLUGINS="${PLUGINS} id3 m3u"
+PLUGINS="${PLUGINS} wav araw demuxdump demuxsub"
 
 dnl
 dnl  Network modules
 dnl
-NETWORK_MODULES="access_udp access_http access_rtp ipv4"
+NETWORK_MODULES="access_udp access_http access_rtp ipv4 access_mms"
 
 dnl
 dnl  Accelerated modules
@@ -747,7 +809,8 @@ then
     then
       AC_CHECK_HEADERS(dvdcss/dvdcss.h,
         [ PLUGINS="${PLUGINS} dvd"
-          LDFLAGS_dvd="${LDFLAGS_dvd} -ldvdcss" ],
+          LDFLAGS_dvd="${LDFLAGS_dvd} -ldvdcss"
+          LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -ldvdcss" ],
         [ AC_MSG_WARN([libdvdcss is no longer provided with vlc; please get libdvdcss from http://www.videolan.org/libdvdcss/ and build it. Then either use --with-dvdcss=<path/where/libdvdcss/was/installed> for dynamic linking (recommended under Unix) or --with-dvdcss-tree=<path/where/libdvdcss/was/built> for static linking (recommended under BeOS, Windows, MacOS X). Alternatively you can use --disable-dvd to disable the DVD plugin.])
           AC_MSG_ERROR([cannot find libdvdcss headers]) ])
     else
@@ -765,6 +828,7 @@ then
         AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
         BUILTINS="${BUILTINS} dvd"
         LDFLAGS_dvd="${LDFLAGS_dvd} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
+        LDFLAGS_dvdcss="${LDFLAGS_dvdcss} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
         CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${real_dvdcss_tree}/src"
       else
         dnl  The given libdvdcss wasn't built
@@ -787,6 +851,7 @@ then
       AC_MSG_RESULT(yes)
       PLUGINS="${PLUGINS} dvd"
       LDFLAGS_dvd="${LDFLAGS_dvd} -L${with_dvdcss}/lib -ldvdcss"
+      LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${with_dvdcss}/lib -ldvdcss"
       CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${with_dvdcss}/include"
     else
       dnl  No libdvdcss could be found, sorry
@@ -819,7 +884,7 @@ then
      AC_TRY_COMPILE([#include <dvdread/dvd_reader.h>],
         [int foo() { return DVD_VIDEO_LB_LEN; }],[
           PLUGINS="${PLUGINS} dvdread"
-          LDFLAGS_dvdread="${LDFLAGS_dvdread} ${LDFLAGS_test} -ldvdread"
+          LDFLAGS_dvdread="${LDFLAGS_dvdread} ${LDFLAGS_test} -ldvdread ${LDFLAGS_dvdcss}"
           CPPFLAGS_dvdread="${CPPFLAGS_dvdread} ${CPPFLAGS_test}"
         ],[
           if test "x${enable_dvdread}" != "x"
@@ -861,7 +926,7 @@ then
   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
   AC_CHECK_HEADERS(dvdplay/dvdplay.h, [
       PLUGINS="${PLUGINS} dvdplay"
-      LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_test} -ldvdplay -ldvdread"
+      LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_test} -ldvdplay -ldvdread ${LDFLAGS_dvdcss}"
       CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_test}"
     ],[
     if test "x${enable_dvdplay}" != x
@@ -882,7 +947,7 @@ dnl
 dnl  libdvbpsi ts demux
 dnl
 AC_ARG_ENABLE(dvbpsi,
-[  --enable-dvbpsi        dvbpsi ts demux module (default disabled)])
+[  --enable-dvbpsi         dvbpsi ts demux module (default enabled)])
 if test "x${enable_dvbpsi}" != "xno"
 then
   AC_ARG_WITH(dvbpsi,
@@ -895,8 +960,13 @@ then
     then
       AC_CHECK_HEADERS(dvbpsi/dr.h,
         [ PLUGINS="${PLUGINS} ts_dvbpsi"
-          LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" ], [],
-        [  AC_MSG_ERROR([cannot find libdvbpsi headers]) ])
+          LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" ],
+        [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
+        [#include <stdint.h>
+#include <dvbpsi/dvbpsi.h>
+#include <dvbpsi/descriptor.h>
+#include <dvbpsi/pat.h>
+#include <dvbpsi/pmt.h>])
     else
       AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
       real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
@@ -1035,6 +1105,16 @@ then
   PLUGINS="${PLUGINS} avi"
 fi
 
+dnl
+dnl  ASF demux plugin
+dnl
+AC_ARG_ENABLE(asf,
+  [  --enable-asf            ASF demux module (default enabled)])
+if test "x${enable_asf}" != "xno"
+then
+  PLUGINS="${PLUGINS} asf"
+fi
+
 dnl
 dnl  AAC demux plugin
 dnl
@@ -1045,6 +1125,22 @@ then
   PLUGINS="${PLUGINS} aac"
 fi
 
+dnl
+dnl  ogg plugin
+dnl
+AC_ARG_ENABLE(ogg,
+  [  --enable-ogg            Ogg demux support (default enabled)])
+if test "x${enable_ogg}" != "xno"
+then
+  AC_CHECK_HEADERS(ogg/ogg.h, [
+    AC_CHECK_LIB( ogg, oggpack_read, [
+      PLUGINS="${PLUGINS} ogg"
+      LDFLAGS_ogg="${LDFLAGS_ogg} -logg"
+      AC_CHECK_LIB( ogg, oggpackB_read, [
+        CPPFLAGS_ogg="${CPPFLAGS_ogg} -DHAVE_OGGPACKB"])])
+   ],[])
+fi
+
 dnl
 dnl  Codec plugins
 dnl
@@ -1232,6 +1328,61 @@ then
 fi
 
 
+dnl
+dnl  xvid decoder plugin
+dnl
+AC_ARG_ENABLE(xvid,
+[  --enable-xvid           xvid codec (default disabled)])
+if test "x${enable_xvid}" = "xyes"
+then
+  AC_ARG_WITH(xvid,
+    [    --with-xvid=PATH      path to xvid installation],[],[])
+  if test "x${with_xvid}" != "xno" -a "x${with_xvid}" != "x"
+  then
+    CPPFLAGS_xvid="${CPPFLAGS_xvid} -I${with_xvid}/include"
+    LDFLAGS_xvid="${LDFLAGS_xvid} -L${with_xvid}/lib"
+  fi
+  LDFLAGS_xvid="${LDFLAGS_xvid}"
+
+  AC_ARG_WITH(xvid-tree,
+  [    --with-xvid-tree=PATH xvid tree for static linking])
+  if test "x${with_xvid_tree}" != "x"
+  then
+    AC_MSG_CHECKING(for libxvidcore.a in ${with_xvid_tree})
+    real_xvid_tree="`cd ${with_xvid_tree} 2>/dev/null && pwd`"
+    if test "x${real_xvid_tree}" = x
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot cd to ${with_xvid_tree}])
+    fi
+    if test -f "${real_xvid_tree}/build/generic/libxvidcore.a"
+    then
+      dnl  Use a custom xvid
+      AC_MSG_RESULT(${real_xvid_tree}/build/generic/libxvidcore.a)
+      BUILTINS="${BUILTINS} xvid"
+      LDFLAGS_xvid="${LDFLAGS_xvid} ${real_xvid_tree}/build/generic/libxvidcore.a"
+      CPPFLAGS_xvid="${CPPFLAGS_xvid} -I${real_xvid_tree}/src"
+    else
+      dnl  The given libxvidcore wasn't built
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot find ${real_xvid_tree}/build/generic/libxvidcore.a, make sure you compiled libxvidcore in ${with_xvid_tree}])
+    fi
+  else
+    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xvid}"
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xvid}"
+    AC_CHECK_HEADERS(xvid.h, ,
+      [ AC_MSG_ERROR([Cannot find development headers for libxvidcore...]) ])
+    AC_CHECK_LIB(xvid, xvid_init, [
+      PLUGINS="${PLUGINS} xvid"
+      LDFLAGS_xvid="${LDFLAGS_xvid} -lxvid" ],
+      [ AC_MSG_ERROR([Cannot find libxvidcore library...]) ])
+    LDFLAGS="${LDFLAGS_save}"
+    CPPFLAGS="${CPPFLAGS_save}"
+  fi
+fi
+
+
 
 dnl
 dnl MP4 module
@@ -1276,7 +1427,7 @@ then
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
       AC_CHECK_LIB(a52, a52_free, [
         BUILTINS="${BUILTINS} a52tofloat32"
-        LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -la52 -lm"
+        LDFLAGS_a52tofloat32="-la52 ${LDFLAGS_a52tofloat32}"
         CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} -DUSE_A52DEC_TREE"
         ],[
         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
@@ -1285,7 +1436,7 @@ then
         else
           AC_MSG_ERROR([the specified tree hasn't been compiled])
         fi
-      ],[-lm])
+      ])
       LDFLAGS="${LDFLAGS_save}"
     else
       AC_MSG_RESULT(no)
@@ -1305,14 +1456,14 @@ then
     AC_CHECK_HEADERS(a52dec/a52.h, [
       AC_CHECK_LIB(a52, a52_free, [
         PLUGINS="${PLUGINS} a52tofloat32"
-        LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} ${LDFLAGS_test} -la52 -lm"
+        LDFLAGS_a52tofloat32="${LDFLAGS_test} -la52 ${LDFLAGS_a52tofloat32}"
         CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} ${CPPFLAGS_test}"
       ],[
         if test "x${enable_dvbpsi}" != "x"
         then
           AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net])
         fi
-      ],[-lm])
+      ])
     ])
     CPPFLAGS="${CPPFLAGS_save}"
     LDFLAGS="${LDFLAGS_save}"
@@ -1330,32 +1481,89 @@ then
 fi
 
 dnl
-dnl  ogg vorbis plugin
+dnl  DV plugin
+dnl
+AC_ARG_ENABLE(dv,
+  [  --enable-dv             DV decoder support (default disabled)])
+if test "x${enable_dv}" = "xyes"
+then
+  AC_CHECK_HEADERS(libdv/dv.h, [
+    PLUGINS="${PLUGINS} dv"
+    LDFLAGS_dv="${LDFLAGS_dv} -ldv"
+   ],[])
+fi
+
+dnl
+dnl  Vorbis plugin
 dnl
 AC_ARG_ENABLE(vorbis,
-  [  --enable-vorbis         Ogg/Vorbis decoder support (default enabled)])
+  [  --enable-vorbis         Vorbis decoder support (default enabled)])
 if test "x${enable_vorbis}" != "xno"
 then
-  AC_CHECK_HEADERS(ogg/ogg.h, [
-    dnl disabled for the moment
-    #PLUGINS="${PLUGINS} ogg vorbis"
-    LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis"
+  AC_CHECK_HEADERS(vorbis/codec.h, [
+    PLUGINS="${PLUGINS} vorbis"
+    LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis -logg"
    ],[])
 fi
 
 dnl
-dnl  DV plugin
+dnl  Tremor plugin
 dnl
-AC_ARG_ENABLE(dv,
-  [  --enable-dv             DV decoder support (default disabled)])
-if test "x${enable_dv}" = "xyes"
+AC_ARG_ENABLE(tremor,
+  [  --enable-tremor         Tremor decoder support (default disabled)])
+if test "x${enable_tremor}" = "xyes"
 then
-  AC_CHECK_HEADERS(libdv/dv.h, [
-    PLUGINS="${PLUGINS} dv"
-    LDFLAGS_dv="${LDFLAGS_dv} -ldv"
+  AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
+    PLUGINS="${PLUGINS} tremor"
+    LDFLAGS_tremor="${LDFLAGS_tremor} -lvorbisidec -logg"
    ],[])
 fi
 
+dnl
+dnl  tarkin decoder plugin
+dnl
+AC_ARG_ENABLE(tarkin,
+[  --enable-tarkin         experimental tarkin codec (default disabled)])
+if test "x${enable_tarkin}" = "xyes"
+then
+  AC_ARG_WITH(tarkin-tree,
+  [    --with-tarkin-tree=PATH tarkin tree for static linking])
+  if test "x${with_tarkin_tree}" != "x"
+  then
+    AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
+    real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
+    if test -f "${real_tarkin_tree}/tarkin.o"
+    then
+      BUILTINS="${BUILTINS} tarkin"
+      CPPFLAGS_tarkin="${CPPFLAGS_tarkin} -I${real_tarkin_tree}"
+      LDFLAGS_tarkin="${LDFLAGS_tarkin} ${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg"
+      AC_MSG_RESULT(yes)
+    else
+      dnl  The given tarkin tree wasn't built
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
+                    make sure you compiled tarkin in ${with_tarkin_tree}])
+    fi
+  fi
+fi
+
+dnl
+dnl  theora decoder plugin
+dnl
+AC_ARG_ENABLE(theora,
+[  --enable-theora         experimental theora codec (default disabled)])
+if test "x${enable_theora}" = "xyes"
+then
+  AC_CHECK_HEADERS(theora/theora.h, [
+    AC_CHECK_LIB(theora, theora_granule_time, [
+      BUILTINS="${BUILTINS} theora"
+      LDFLAGS_theora="${LDFLAGS_theora} -logg -ltheora" ],[
+      AC_MSG_ERROR([libtheora doesn't appear to be installed on you system.
+You also need to check that you have a libogg posterior to the 1.0 release.])],
+      [-logg])
+  ])
+fi
+
 dnl
 dnl  Video plugins
 dnl
@@ -1618,6 +1826,18 @@ then
   fi
 fi
 
+dnl
+dnl  win32 GDI plugin
+dnl
+AC_ARG_ENABLE(wingdi,
+  [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
+if test "x${enable_wingdi}" != "xno"; then
+  if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then
+    PLUGINS="${PLUGINS} wingdi"
+    LDFLAGS_wingdi="${LDFLAGS_wingdi} -lgdi32"
+  fi
+fi
+
 dnl
 dnl  Audio plugins
 dnl
@@ -1681,7 +1901,7 @@ AC_ARG_ENABLE(alsa,
      AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
      if test "x${have_alsa}" = "xtrue"
      then
-       PLUGINS="${PLUGINS} alsa"
+       #PLUGINS="${PLUGINS} alsa"
        LDFLAGS_alsa="${LDFLAGS_alsa} -lasound -lm -ldl"
      fi
    fi])
@@ -1835,6 +2055,46 @@ developement tools or remove the --enable-gnome option])
     CPPFLAGS="${CPPFLAGS_save}"
   fi])
 
+dnl
+dnl  wxWindows module
+dnl
+AC_ARG_ENABLE(wxwindows,
+  [  --enable-wxwindows      wxWindows support (default enabled)])
+if test "x${enable_wxwindows}" != "xno"
+then
+  WXWINDOWS_PATH="${PATH}"
+  AC_ARG_WITH(wx-config-path,
+    [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
+    [ if test "x${with_wx_config_path}" != "xno"
+      then
+        WXWINDOWS_PATH="${with_wx_config_path}:${PATH}"
+      fi ])
+  # look for wx-config
+  AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH})
+  if test "x${WX_CONFIG}" != "xno"
+  then
+    if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
+    then
+      AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwindows.])
+    fi
+    CXXFLAGS_wxwindows="${CXXFLAGS_wxwindows} `${WX_CONFIG} --cflags`"
+    LDFLAGS_wxwindows="${LDFLAGS_wxwindows} `${WX_CONFIG} --libs`"
+    # now look for the wxprec.h header
+    CPPFLAGS="${save_CPPFLAGS} ${CXXFLAGS_wxwindows}"
+    ac_cv_wx_headers=yes
+    AC_CHECK_HEADERS(wx/wxprec.h, , [
+      ac_cv_wx_headers=no
+      echo "Cannot find wxWindows development headers."
+    ])
+    if test "x${ac_cv_wx_headers}" = "xyes"
+    then
+      PLUGINS="${PLUGINS} wxwindows"
+      ALIASES="${ALIASES} wxvlc"
+    fi
+    CPPFLAGS="${save_CPPFLAGS}"
+  fi
+fi
+
 dnl
 dnl  Qt module
 dnl
@@ -2262,6 +2522,7 @@ AC_SUBST(WINDRES)
 AC_SUBST(BCBUILDER)
 AC_SUBST(XPIDL)
 AC_SUBST(LIBEXT)
+AC_SUBST(INCLUDES)
 
 AC_SUBST(CFLAGS_TUNING)
 AC_SUBST(CFLAGS_OPTIM)
@@ -2270,7 +2531,9 @@ AC_SUBST(LDFLAGS)
 
 AC_SUBST(CFLAGS_vlc)
 AC_SUBST(CFLAGS_pics)
+AC_SUBST(CXXFLAGS_pics)
 AC_SUBST(CFLAGS_plugins)
+AC_SUBST(CXXFLAGS_plugins)
 AC_SUBST(CFLAGS_builtins)
 AC_SUBST(CPPFLAGS_mozilla)