]> git.sesse.net Git - vlc/blobdiff - configure.in
* ./src/misc/modules.c: restored plugins hiding as the problem is fixed.
[vlc] / configure.in
index c32be2d967ecb3c0cc3dd3c12b30dedf828a8438..e3a96c24604bf3cc54c3b604d455b3c1eb33c8c7 100644 (file)
@@ -1,28 +1,15 @@
-dnl Autoconf settings for vlc and libdvdcss
+dnl Autoconf settings for vlc
 AC_INIT(include/main.h)
 AC_CONFIG_HEADER(include/defs.h)
 AC_INIT(include/main.h)
 AC_CONFIG_HEADER(include/defs.h)
-
 AC_CANONICAL_SYSTEM
 
 AC_CANONICAL_SYSTEM
 
-HAVE_VLC=0
-if test -r src/interface/main.c; then
-  HAVE_VLC=1
-  VLC_VERSION="0.2.92-dev"
-  VLC_CODENAME=Ourumov
-fi
-
-HAVE_LIBDVDCSS=0
-if test -r extras/libdvdcss/libdvdcss.c; then
-  HAVE_LIBDVDCSS=1
-  LIBDVDCSS_VERSION="1.0.1-dev"
-  AC_SUBST(LIBDVDCSS_VERSION)
-  if test -r extras/libdvdcss/csskeys.h; then
-    AC_DEFINE(HAVE_CSSKEYS,1,css decryption with player keys)
-  fi
-fi
+PACKAGE="vlc"
+VERSION="0.4.0"
+CODENAME=Ourumov
 
 dnl Save CFLAGS and LDFLAGS
 save_CFLAGS="${CFLAGS}"
 
 dnl Save CFLAGS and LDFLAGS
 save_CFLAGS="${CFLAGS}"
+save_CPPFLAGS="${CPPFLAGS}"
 save_LDFLAGS="${LDFLAGS}"
 
 dnl Check for tools
 save_LDFLAGS="${LDFLAGS}"
 
 dnl Check for tools
@@ -32,116 +19,144 @@ AC_PROG_CPP
 
 dnl Find the right ranlib, even when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 
 dnl Find the right ranlib, even when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+dnl Check for GNU make
+AC_PATH_PROG(GMAKE, gmake, no)
+if test "x$GMAKE" = "xno"; then
+  AC_CACHE_CHECK([whether GNU make is installed],
+      [ac_cv_gmake],
+      [if make --version | grep -q -i gnu; then
+         ac_cv_gmake="yes"
+       else
+         echo "This software needs you to install GNU make to compile properly."
+         echo "You can get it from http://www.gnu.org/."
+         exit
+       fi])
+  VLC_MAKE="make"
+else
+  VLC_MAKE="gmake"
+fi
 
 dnl Gettext stuff
 
 dnl Gettext stuff
-ALL_LINGUAS="de fr ru"
+ALL_LINGUAS="de en_GB fr ja no ru nl"
 
 
-AC_DEFINE_UNQUOTED(PACKAGE, "vlc")
-AC_DEFINE_UNQUOTED(VERSION, "$VLC_VERSION")
+AC_DEFINE_UNQUOTED(VLC_PACKAGE, "$PACKAGE", [Package name])
+AC_DEFINE_UNQUOTED(VLC_VERSION, "$VERSION", [Package version])
 AM_GNU_GETTEXT
 
 dnl AM_PROG_LIBTOOL
 AC_PROG_INSTALL
 
 dnl
 AM_GNU_GETTEXT
 
 dnl AM_PROG_LIBTOOL
 AC_PROG_INSTALL
 
 dnl
-dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
-dnl
-dnl  We give the user the opportunity to specify
-dnl  --with-words=big or --with-words=little ; otherwise, try to guess
+dnl  Check the operating system
 dnl
 dnl
-AC_ARG_WITH(words,
-  [  --with-words=endianness Set endianness (big or little)])
-  case "x$withval" in
-    xbig)
-      ac_cv_c_bigendian=yes
-      ;;
-    xlittle)
-      ac_cv_c_bigendian=no
-      ;;
-    *)
-      dnl  Try to guess endianness by matching patterns on a compiled
-      dnl  binary, by looking for an ASCII or EBCDIC string
-      AC_CACHE_CHECK([whether the byte order is big-endian],
-        [ac_cv_c_bigendian],
-        [ac_cv_c_bigendian=unknown
-        [cat >conftest.c <<EOF
-        short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
-        short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
-        void _a(void) { char*s = (char*)am; s = (char *)ai; }
-        short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
-        short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
-        void _e(void) { char*s = (char*)em; s = (char*)ei; }
-        int main(void) { _a(); _e(); return 0; }
-EOF
-        ]
-        if test -f conftest.c
-        then 
-          if ${CC-cc} conftest.c -o conftest.o >config.log 2>&1 \
-              && test -f conftest.o
-          then
-            if test `grep -l BIGenDianSyS conftest.o`
-            then
-              ac_cv_c_bigendian=yes
-            fi
-            if test `grep -l LiTTleEnDian conftest.o`
-            then
-              ac_cv_c_bigendian=no
-            fi
-          fi
-        fi
-      ])
-      if test $ac_cv_c_bigendian = xunknown
-      then
-        AC_MSG_ERROR([Could not guess endianness, please use --with-words])
-      fi
-      ;;
-  esac
-dnl  Now we know what to use for endianness, just put it in the header
-if test $ac_cv_c_bigendian = yes
+case x"${target_os}" in
+  x)
+    SYS=unknown
+    ;;
+  xlinux*)
+    SYS=linux
+    ;;
+  xbsdi*)
+    SYS=bsdi
+    save_CFLAGS="${save_CFLAGS} -pthread"
+    dvd_LDFLAGS="${dvd_LDFLAGS} -ldvd"
+    vcd_LDFLAGS="${vcd_LDFLAGS} -ldvd"
+    ;;
+  x*bsd*)
+    SYS="${target_os}"
+    save_CFLAGS="${save_CFLAGS} -pthread"
+    ;;
+  xdarwin*)
+    SYS=darwin
+    save_CFLAGS="${save_CFLAGS} -no-cpp-precomp"
+    ;;
+  x*mingw32*)
+    SYS=mingw32
+    AC_CHECK_TOOL(WINDRES, windres, :)
+    save_CFLAGS="${save_CFLAGS} -fnative-struct -D_OFF_T_ -D_off_t=long"
+    vlc_LDFLAGS="${vlc_LDFLAGS} -mwindows -Xlinker --force-exe-suffix"
+    vlc_LDFLAGS="${vlc_LDFLAGS} -lws2_32 -lnetapi32"
+    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lws2_32"
+    ipv6_LDFLAGS="${ipv6_LDFLAGS} -lws2_32"
+    rc_LDFLAGS="${rc_LDFLAGS} -lws2_32"
+    ;;
+  x*nto*)
+    SYS=nto
+    x11_LDFLAGS="${x11_LDFLAGS} -lsocket"
+    xvideo_LDFLAGS="${xvideo_LDFLAGS} -lsocket"
+    ;;
+  xbeos)
+    SYS=beos
+    save_CFLAGS="${save_CFLAGS} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"
+    vlc_LDFLAGS="${vlc_LDFLAGS} -lbe"
+    plugins_LDFLAGS="${plugins_LDFLAGS} -nostart"
+    beos_LDFLAGS="${beos_LDFLAGS} -lbe -lgame -lroot -ltracker"
+    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind"
+    ;;
+  x*)
+    SYS="${target_os}"
+    ;;
+esac
+
+dnl Flags for plugin compilation
+if test x"${SYS}" = xmingw32
 then
 then
-  AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
+  plugins_CFLAGS="${plugins_CFLAGS} -fnative-struct"
+else
+  plugins_CFLAGS="${plugins_CFLAGS} -fPIC"
 fi
 
 fi
 
+dnl The -DSYS_FOO flag
+save_CFLAGS="${save_CFLAGS} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"
+
 dnl Check for system libs needed
 dnl Check for system libs needed
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty)
+AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2)
+
 AC_CHECK_FUNC(connect,,[
 AC_CHECK_FUNC(connect,,[
-  AC_CHECK_LIB(socket,connect,LIB="${LIB} -lsocket")
+  AC_CHECK_LIB(socket,connect,
+    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lsocket"
+    vlc_LDFLAGS="${vlc_LDFLAGS} -lsocket"
+)])
+AC_CHECK_FUNC(gethostbyname,,[
+  AC_CHECK_LIB(nsl,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lnsl")
 ])
 AC_CHECK_FUNC(gethostbyname,,[
 ])
 AC_CHECK_FUNC(gethostbyname,,[
-  AC_CHECK_LIB(nsl,gethostbyname,LIB="${LIB} -lnsl")
+  AC_CHECK_LIB(bind,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind")
 ])
 ])
-AC_CHECK_FUNC(nanosleep,,[
-  AC_CHECK_LIB(rt,nanosleep,LIB="${LIB} -lrt",[
-    AC_CHECK_LIB(posix4,nanosleep,LIB="${LIB} -lposix4")
-  ])
+AC_CHECK_FUNCS(nanosleep,,[
+  AC_CHECK_LIB(rt,nanosleep,
+    [vlc_LDFLAGS="${vlc_LDFLAGS} -lrt"],
+    [AC_CHECK_LIB(posix4,nanosleep,
+        [vlc_LDFLAGS="${vlc_LDFLAGS} -lposix4"])]
+  )
 ])
 ])
-AC_CHECK_FUNCS(usleep)
 AC_CHECK_FUNC(inet_aton,,[
 AC_CHECK_FUNC(inet_aton,,[
-  AC_CHECK_LIB(resolv,inet_aton,LIB="${LIB} -lresolv")
+  AC_CHECK_LIB(resolv,inet_aton,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lresolv")
+])
+AC_CHECK_FUNC(textdomain,,[
+  AC_CHECK_LIB(intl,textdomain,save_LDFLAGS="${save_LDFLAGS} -lintl")
 ])
 ])
-AC_CHECK_FUNCS(vasprintf)
-AC_CHECK_FUNCS(swab)
-AC_CHECK_FUNCS([memalign valloc])
-
-AC_CHECK_FUNCS(sigrelse)
 
 dnl Check for getopt
 NEED_GETOPT=0
 AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
 [ # FreeBSD has a gnugetopt library for this:
   AC_CHECK_LIB([gnugetopt],[getopt_long],
 
 dnl Check for getopt
 NEED_GETOPT=0
 AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
 [ # FreeBSD has a gnugetopt library for this:
   AC_CHECK_LIB([gnugetopt],[getopt_long],
-    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LIB="${LIB} -lgnugetopt"],
+    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) vlc_LDFLAGS="${vlc_LDFLAGS} -lgnugetopt"],
     [NEED_GETOPT=1])])
 
 AC_TYPE_SIGNAL
     [NEED_GETOPT=1])])
 
 AC_TYPE_SIGNAL
-AC_CHECK_LIB(dl,dlopen,LIB="${LIB} -ldl")
+AC_CHECK_LIB(dl,dlopen,vlc_LDFLAGS="${vlc_LDFLAGS} -ldl")
 AC_CHECK_LIB(m,cos,
 AC_CHECK_LIB(m,cos,
-  LIB_IMDCT="${LIB_IMDCT} -lm"
-  LIB_FILTER_DISTORT="${LIB_FILTER_DISTORT} -lm")
+  imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
+  filter_distort_LDFLAGS="${filter_distort_LDFLAGS} -lm")
 AC_CHECK_LIB(m,pow,
 AC_CHECK_LIB(m,pow,
-  LIB_IMDCT="${LIB_IMDCT} -lm"
-  LIB_IMDCT3DN="${LIB_IMDCT3DN} -lm"
-  LIB_IMDCTSSE="${LIB_IMDCTSSE} -lm"
+  imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
+  imdct3dn_LDFLAGS="${imdct3dn_LDFLAGS} -lm"
+  imdctsse_LDFLAGS="${imdctsse_LDFLAGS} -lm"
+  chroma_i420_rgb_LDFLAGS="${chroma_i420_rgb_LDFLAGS} -lm"
 )
 
 dnl Check for pthreads - borrowed from XMMS
 )
 
 dnl Check for pthreads - borrowed from XMMS
@@ -173,17 +188,48 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
 
 dnl Check for headers
 AC_CHECK_HEADERS(getopt.h strings.h)
 
 dnl Check for headers
 AC_CHECK_HEADERS(getopt.h strings.h)
-AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/time.h sys/times.h)
-AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h)
+AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.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(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)
+AC_CHECK_HEADERS(machine/param.h sys/shm.h)
+AC_CHECK_HEADERS(linux/version.h)
 
 AC_HEADER_TIME
 
 
 AC_HEADER_TIME
 
+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,
+            Define if <time.h> defines nanosleep.)
+])
+
+dnl Make sure we have timespecs
+AC_EGREP_HEADER(timespec,sys/time.h,[
+  AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
+            Define if <sys/time.h> defines struct timespec.)
+])
+
 dnl Check for threads library
 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
 
 dnl Check for threads library
 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
 
+dnl Check for DPMS
+if test x$SYS != xmingw32
+then
+  if test x$x_includes = xNONE; then
+    x_includes=/usr/X11R6/include
+  fi
+  if test x$x_libraries = xNONE; then
+    x_libraries=/usr/X11R6/lib
+  fi
+  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
+  AC_CHECK_HEADERS(X11/extensions/dpms.h, [
+    AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
+      AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
+                Define if <X11/extensions/dpms.h> defines DPMSInfo.)
+    ])
+  ])
+  CPPFLAGS="$save_CPPFLAGS"
+fi
+
 dnl Check for ntohl, etc.
 AC_CACHE_CHECK([for ntohl in sys/param.h],
     [ac_cv_c_ntohl_sys_param_h],
 dnl Check for ntohl, etc.
 AC_CACHE_CHECK([for ntohl in sys/param.h],
     [ac_cv_c_ntohl_sys_param_h],
@@ -283,12 +329,12 @@ if test x"$ac_cv_c_omit_frame_pointer" != x"no"; then
 fi
 
 dnl Check for Darwin plugin linking flags
 fi
 
 dnl Check for Darwin plugin linking flags
-AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
+AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
     [ac_cv_ld_darwin],
     [ac_cv_ld_darwin],
-    [CFLAGS="${save_CFLAGS} -bundle -undefined error"
+    [CFLAGS="${save_CFLAGS} -bundle -undefined error -lcc_dynamic"
      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
 if test x"$ac_cv_ld_darwin" != x"no"; then
      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
 if test x"$ac_cv_ld_darwin" != x"no"; then
-    PLDFLAGS="${PLDFLAGS} -bundle -undefined error"
+    plugins_LDFLAGS="${plugins_LDFLAGS} -bundle -undefined error -lcc_dynamic"
 fi
 
 dnl Check for standard plugin linking flags
 fi
 
 dnl Check for standard plugin linking flags
@@ -297,34 +343,21 @@ AC_CACHE_CHECK([if \$CC accepts -shared],
     [CFLAGS="${save_CFLAGS} -shared"
      AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
 if test x"$ac_cv_ld_plugins" != x"no"; then
     [CFLAGS="${save_CFLAGS} -shared"
      AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
 if test x"$ac_cv_ld_plugins" != x"no"; then
-    PLDFLAGS="${PLDFLAGS} -shared"
+    plugins_LDFLAGS="${plugins_LDFLAGS} -shared"
 fi
         
 fi
         
-dnl Check for soname setting
-if test x"${SOFLAGS}" = x; then
-    AC_CACHE_CHECK([for soname setting],
-        [ac_cv_ld_soname],
-        [
-        # Standard
-        try_SOFLAGS="-Wl,-soname -Wl,"
-        LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0"
-        AC_TRY_LINK([],,ac_cv_ld_soname="${try_SOFLAGS}", [
-            # SunOS
-            try_SOFLAGS="-Wl,-h -Wl,"
-            LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0"
-            AC_TRY_LINK([],,ac_cv_ld_soname="${try_SOFLAGS}",
-                ac_cv_ld_soname=none)
-        ])])
-    if test x"$ac_cv_ld_soname" != x"none"; then
-        SOFLAGS=$ac_cv_ld_soname
-    else
-        echo "
-------------
-Your system doesn't seem to have support for dynamic linking. You may
-have problems using libdvdcss.
-------------
-"
-    fi
+dnl Check for variadic macros
+AC_CACHE_CHECK([for variadic cpp macros],
+    [ac_cv_cpp_variadic_macros],
+    [CFLAGS="${save_CFLAGS}"
+     AC_TRY_COMPILE(
+         [#include <stdio.h>
+          #define a(b,c...) printf(b,##c)],
+         [a("foo");a("%s","bar");a("%s%s","baz","quux");],
+         ac_cv_cpp_variadic_macros=yes,
+         ac_cv_cpp_variadic_macros=no)])
+if test x"$ac_cv_cpp_variadic_macros" != x"no"; then
+    AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
 fi
 
 dnl Checks for __attribute__(aligned()) directive
 fi
 
 dnl Checks for __attribute__(aligned()) directive
@@ -344,6 +377,7 @@ fi
 
 dnl End of the bizarre compilation tests
 CFLAGS="${save_CFLAGS}"
 
 dnl End of the bizarre compilation tests
 CFLAGS="${save_CFLAGS}"
+CPPFLAGS="${save_CPPFLAGS}"
 LDFLAGS="${save_LDFLAGS}"
 
 dnl Check for boolean_t
 LDFLAGS="${save_LDFLAGS}"
 
 dnl Check for boolean_t
@@ -379,15 +413,15 @@ case x"${target_cpu}" in
     ARCH=unknown
     ;;
   *)
     ARCH=unknown
     ;;
   *)
-    ARCH=${target_cpu}
+    ARCH="${target_cpu}"
     ;;
 esac
 
 dnl
 dnl  default modules
 dnl
     ;;
 esac
 
 dnl
 dnl  default modules
 dnl
-BUILTINS="${BUILTINS} mpeg_es mpeg_ps mpeg_ts memcpy idct idctclassic motion imdct downmix chroma_i420_rgb chroma_i420_yuy2 chroma_i422_yuy2 chroma_i420_ymga mpeg_adec ac3_adec mpeg_vdec"
-PLUGINS="${PLUGINS} lpcm_adec ac3_spdif spudec filter_deinterlace filter_invert filter_wall filter_transform filter_distort"
+BUILTINS="${BUILTINS} idct idctclassic motion imdct downmix chroma_i420_rgb chroma_i420_yuy2 chroma_i422_yuy2 chroma_i420_ymga mpeg_adec ac3_adec mpeg_vdec"
+PLUGINS="${PLUGINS} dummy null rc logger mpeg_es mpeg_ps mpeg_ts mpeg_audio file udp http ipv4 memcpy lpcm_adec ac3_spdif spudec filter_deinterlace filter_invert filter_wall filter_transform filter_distort filter_clone fx_scope"
 
 dnl
 dnl  Accelerated modules
 
 dnl
 dnl  Accelerated modules
@@ -396,7 +430,7 @@ MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mm
 MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
 THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
 SSE_MODULES="imdctsse downmixsse"
 MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
 THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
 SSE_MODULES="imdctsse downmixsse"
-ALTIVEC_MODULES="idctaltivec motionaltivec"
+ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec"
 
 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
     [ac_cv_mmx_inline],
 
 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
     [ac_cv_mmx_inline],
@@ -427,11 +461,14 @@ AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
     [ac_cv_sse_inline],
     [AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
     [ac_cv_sse_inline],
     [AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
-if test x"$ac_cv_sse_inline" != x"no"; then
+if test x"$ac_cv_sse_inline" != x"no" -a x$SYS != xmingw32; then
   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
 fi
 
   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
 fi
 
+# don't try to grok altivec with native mingw32 it doesn't work right now
+# we should be able to remove this test with future versions of mingw32
+if test x$SYS != xmingw32; then
 AC_CACHE_CHECK([if \$CC groks Altivec inline assembly],
     [ac_cv_altivec_inline],
     [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
 AC_CACHE_CHECK([if \$CC groks Altivec inline assembly],
     [ac_cv_altivec_inline],
     [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
@@ -446,9 +483,10 @@ AC_CACHE_CHECK([if \$CC groks Altivec inline assembly],
 if test x"$ac_cv_altivec_inline" != x"no"; then
   AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks ALTIVEC inline assembly.)
   if test x"$ac_cv_altivec_inline" != x"yes"; then
 if test x"$ac_cv_altivec_inline" != x"no"; then
   AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks ALTIVEC inline assembly.)
   if test x"$ac_cv_altivec_inline" != x"yes"; then
-    CFLAGS_IDCTALTIVEC="$CFLAGS_IDCTALTIVEC $ac_cv_altivec_inline"
-    CFLAGS_MOTIONALTIVEC="$CFLAGS_MOTIONALTIVEC $ac_cv_altivec_inline"
-    CFLAGS_VLC="$CFLAGS_VLC $ac_cv_altivec_inline"
+    idctaltivec_CFLAGS="$idctaltivec_CFLAGS $ac_cv_altivec_inline"
+    motionaltivec_CFLAGS="$motionaltivec_CFLAGS $ac_cv_altivec_inline"
+    memcpyaltivec_CFLAGS="$memcpyaltivec_CFLAGS $ac_cv_altivec_inline"
+    vlc_CFLAGS="$vlc_CFLAGS $ac_cv_altivec_inline"
   fi
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
 fi
   fi
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
 fi
@@ -461,7 +499,7 @@ AC_CACHE_CHECK([if \$CC groks Altivec C extensions],
      AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
         ac_cv_c_altivec=-faltivec, [
         # Linux/PPC test
      AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
         ac_cv_c_altivec=-faltivec, [
         # Linux/PPC test
-        CFLAGS="$save_CFLAGS $CFLAGS_IDCTALTIVEC -fvec"
+        CFLAGS="$save_CFLAGS $idctaltivec_CFLAGS -fvec"
         AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
             [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
         ])
         AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
             [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
         ])
@@ -469,9 +507,10 @@ AC_CACHE_CHECK([if \$CC groks Altivec C extensions],
     ])
 if test x"$ac_cv_c_altivec" != x"no"; then
   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C altivec extensions.)
     ])
 if test x"$ac_cv_c_altivec" != x"no"; then
   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C altivec extensions.)
-  CFLAGS_IDCTALTIVEC="$CFLAGS_IDCTALTIVEC $ac_cv_c_altivec"
-  CFLAGS_MOTIONALTIVEC="$CFLAGS_MOTIONALTIVEC $ac_cv_c_altivec"
-  CFLAGS_VLC="$CFLAGS_VLC $ac_cv_c_altivec"
+  idctaltivec_CFLAGS="$idctaltivec_CFLAGS $ac_cv_c_altivec"
+  motionaltivec_CFLAGS="$motionaltivec_CFLAGS $ac_cv_c_altivec"
+  memcpyaltivec_CFLAGS="$memcpyaltivec_CFLAGS $ac_cv_c_altivec"
+  vlc_CFLAGS="$vlc_CFLAGS $ac_cv_c_altivec"
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
 fi
 
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
 fi
 
@@ -483,175 +522,25 @@ AC_CACHE_CHECK([if linker needs -framework vecLib],
      LDFLAGS=$save_LDFLAGS
     ])
 if test x"$ac_cv_ld_altivec" != x"no"; then
      LDFLAGS=$save_LDFLAGS
     ])
 if test x"$ac_cv_ld_altivec" != x"no"; then
-  LIB_IDCTALTIVEC="${LIB_IDCTALTIVEC} -framework vecLib"
-  LIB_MOTIONALTIVEC="${LIB_MOTIONALTIVEC} -framework vecLib"
-  LIB="${LIB} -framework vecLib"
+  idctaltivec_LDFLAGS="${idctaltivec_LDFLAGS} -framework vecLib"
+  motionaltivec_LDFLAGS="${motionaltivec_LDFLAGS} -framework vecLib"
+  memcpyaltivec_LDFLAGS="${memcpyaltivec_LDFLAGS} -framework vecLib"
+  vlc_LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
 fi
 fi
+fi # end if mingw32
 
 
-dnl
-dnl  Check the operating system
-dnl
-case x"${target_os}" in
-  x)
-    SYS=unknown
-    ;;
-  xlinux*)
-    SYS=linux
-    ;;
-  xbsdi*)
-    SYS=bsdi
-    ;;
-  xdarwin*)
-    SYS=darwin
-    ;;
-  x*mingw32*)
-    SYS=mingw32
-    AC_CHECK_TOOL(WINDRES, windres, :)
-    LIB_MPEG_TS="${LIB_MPEG_TS} -lws2_32"
-    LIB_RC="${LIB_RC} -lws2_32"
-    ;;
-  x*nto*)
-    SYS=nto
-    LIB_X11="${LIB_X11} -lsocket"
-    LIB_XVIDEO="${LIB_XVIDEO} -lsocket"
-    ;;
-  xbeos)
-    SYS=beos
-    LIB="${LIB} -lbe"
-    LIB_BEOS="${LIB_BEOS} -lbe -lgame -lroot -ltracker"
-    PLDFLAGS="${PLDFLAGS} -nostart"
-    ;;
-  x*)
-    SYS=${target_os}
-    ;;
-esac
-
-dnl
-dnl  DVD and VCD devices
-dnl
-case $SYS in
-  mingw32)
-    DVD_DEVICE="E:"
-    VCD_DEVICE="E:"
-    ;;
-  *)
-    DVD_DEVICE="/dev/dvd"
-    VCD_DEVICE="/dev/cdrom"
-    ;;
-esac
-
-AC_DEFINE_UNQUOTED(DVD_DEVICE, "$DVD_DEVICE")
-AC_DEFINE_UNQUOTED(VCD_DEVICE, "$VCD_DEVICE")
-
-
-dnl
-dnl  libdvdcss: check for DVD ioctls
-dnl
-
-dnl  default is no
-CAN_BUILD_LIBDVDCSS=0
-
-dnl  for windoze
-AC_CHECK_HEADERS(winioctl.h,[
-  CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
-])
 
 
-dnl  for Un*x and BeOS
-AC_CHECK_HEADERS(sys/ioctl.h,[
-  CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
-  AC_CHECK_HEADERS(sys/cdio.h sys/dvdio.h linux/cdrom.h dvd.h)
-  BSD_DVD_STRUCT=0
-  LINUX_DVD_STRUCT=0
-  OPENBSD_DVD_STRUCT=0
-  dnl
-  dnl Old FreeBSD: sys/cdio.h
-  dnl
-  AC_EGREP_HEADER(dvd_struct,sys/cdio.h,[
-    AC_DEFINE(DVD_STRUCT_IN_SYS_CDIO_H, 1,
-              Define if <sys/cdio.h> defines dvd_struct.)
-    AC_EGREP_HEADER(struct dvd_struct,sys/cdio.h,[
-                    BSD_DVD_STRUCT=1],[LINUX_DVD_STRUCT=1; OPENBSD_DVD_STRUCT=1])
-  ])
-  dnl
-  dnl Newer FreeBSD: sys/dvdio.h
-  dnl
-  AC_EGREP_HEADER(dvd_struct,sys/dvdio.h,[
-    AC_DEFINE(DVD_STRUCT_IN_SYS_DVDIO_H, 1,
-              Define if <sys/dvdio.h> defines dvd_struct.)
-    AC_EGREP_HEADER(struct dvd_struct,sys/dvdio.h,[
-                    BSD_DVD_STRUCT=1],[LINUX_DVD_STRUCT=1])
-  ])
-  dnl
-  dnl Linux: linux/cdrom.h
-  dnl
-  AC_EGREP_HEADER(dvd_struct,linux/cdrom.h,[
-    AC_DEFINE(DVD_STRUCT_IN_LINUX_CDROM_H, 1,
-              Define if <linux/cdrom.h> defines DVD_STRUCT.)
-    LINUX_DVD_STRUCT=1
-  ])
-  dnl
-  dnl BSDI: dvd.h
-  dnl
-  NEED_BSDI_LIBDVD=0
-  AC_EGREP_HEADER(dvd_struct,dvd.h,[
-    AC_DEFINE(DVD_STRUCT_IN_DVD_H, 1,
-              Define if <dvd.h> defines DVD_STRUCT.)
-    LIB_LIBDVDCSS="${LIB_LIBDVDCSS} -ldvd"
-    LINUX_DVD_STRUCT=1
-  ],[
-    dnl
-    dnl BSDI: /sys/dev/scsi/scsi_ioctl.h, using our own libdvd
-    dnl
-    AC_CHECK_HEADERS(/sys/dev/scsi/scsi_ioctl.h,[
-      NEED_BSDI_LIBDVD=1
-      AC_DEFINE(DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H, 1,
-                Define if <extras/BSDI_dvdioctl/dvd.h> defines DVD_STRUCT.)
-      SRC_DVDCSS_EXTRA="${SRC_DVDCSS_EXTRA} bsdi_dvdioctl.c"
-      LINUX_DVD_STRUCT=1
-    ])
-  ])
-  dnl
-  dnl Solaris: sys/scsi/scsi_types.h, sys/scsi/impl/uscsi.h
-  dnl
-  AC_CHECK_HEADER(sys/scsi/scsi_types.h,[
-    AC_CHECK_HEADER(sys/scsi/impl/uscsi.h,[
-      AC_DEFINE(SOLARIS_USCSI, 1, Have userspace SCSI headers.)
-    ])
-  ])
-  dnl
-  dnl HP-UX: sys/scsi.h
-  dnl
-  AC_CHECK_HEADER(sys/scsi.h,[
-    AC_EGREP_HEADER(sctl_io,sys/scsi.h,[
-      AC_DEFINE(HPUX_SCTL_IO, 1, Define if <sys/scsi.h> defines sctl_io.)
-    ])
-  ])
-  dnl
-  dnl Final tests to check what was detected
-  dnl
-  if test x$LINUX_DVD_STRUCT = x1; then
-    AC_DEFINE(HAVE_LINUX_DVD_STRUCT, 1,
-              Define if Linux-like dvd_struct is defined.)
-    if test x$OPENBSD_DVD_STRUCT = x1; then
-      AC_DEFINE(HAVE_OPENBSD_DVD_STRUCT, 1,
-                Define if OpenBSD-like dvd_struct is defined.)
-    fi
-  else
-    if test x$BSD_DVD_STRUCT = x1; then
-      AC_DEFINE(HAVE_BSD_DVD_STRUCT, 1,
-                Define if FreeBSD-like dvd_struct is defined.)
-    fi
-  fi
-])
+AC_ARG_WITH(,[])
+AC_ARG_WITH(,[Optimization options:])
 
 dnl
 dnl  Special arch tuning
 dnl
 AC_ARG_WITH(tuning,
 
 dnl
 dnl  Special arch tuning
 dnl
 AC_ARG_WITH(tuning,
-[  --with-tuning=[arch]    Enable special tuning for an architecture
+[  --with-tuning=ARCH      enable special tuning for an architecture
                           (default i686 on IA-32 and 750 on PPC)])
                           (default i686 on IA-32 and 750 on PPC)])
-if test "x$withval" != "x"; then
-    TUNING=$withval
+if test "x$with_tuning" != "x"; then
+    TUNING="$with_tuning"
 else
     if test x${target_cpu} = xi686 -o x${target_cpu} = xi586 -o x${target_cpu} = xi486 -o x${target_cpu} = xi386; then TUNING="pentiumpro"
     else
 else
     if test x${target_cpu} = xi686 -o x${target_cpu} = xi586 -o x${target_cpu} = xi486 -o x${target_cpu} = xi386; then TUNING="pentiumpro"
     else
@@ -659,15 +548,6 @@ else
     fi
 fi
 
     fi
 fi
 
-dnl
-dnl  Enable release-specific flags
-dnl
-AC_ARG_ENABLE(release,
-[  --enable-release        Activate extra optimizations (default disabled)],
-[ if test x$enableval = xyes; then RELEASE=1; fi ],
-[ VLC_VERSION="${VLC_VERSION}_`date +%Y-%m-%d`";
-  LIBDVDCSS_VERSION="${LIBDVDCSS_VERSION}_`date +%Y-%m-%d`"; ])
-
 dnl
 dnl  x86 accelerations
 dnl
 dnl
 dnl  x86 accelerations
 dnl
@@ -677,12 +557,20 @@ then
     BUILTINS="${BUILTINS} ${ACCEL_MODULES}"
 fi
 
     BUILTINS="${BUILTINS} ${ACCEL_MODULES}"
 fi
 
+dnl
+dnl  Enable/disable optimizations
+dnl
+AC_ARG_ENABLE(optimizations,
+[  --disable-optimizations disable compiler optimizations (default enabled)],
+[ if test x$enable_optimizations = xno; then OPTIMS=0; fi ],
+[ OPTIMS=1 ])
+
 dnl
 dnl  AltiVec acceleration
 dnl
 AC_ARG_ENABLE(altivec,
 dnl
 dnl  AltiVec acceleration
 dnl
 AC_ARG_ENABLE(altivec,
-[  --disable-altivec       Disable altivec optimizations (default enabled on PPC)],
-[ if test x$enableval = xyes; then ARCH="${ARCH} altivec";
+[  --disable-altivec       disable altivec optimizations (default enabled on PPC)],
+[ if test x$enable_altivec = xyes; then ARCH="${ARCH} altivec";
     BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
 [ if test x${target_cpu} = xpowerpc; then ARCH="${ARCH} altivec";
     BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
     BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
 [ if test x${target_cpu} = xpowerpc; then ARCH="${ARCH} altivec";
     BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
@@ -692,376 +580,500 @@ dnl  Debugging mode
 dnl
 DEBUG=0
 AC_ARG_ENABLE(debug,
 dnl
 DEBUG=0
 AC_ARG_ENABLE(debug,
-[  --enable-debug          Enable debug mode (default disabled)],
-[ if test x$enableval = xyes; then DEBUG=1; fi ])
-
-dnl
-dnl  Trace mode
-dnl
-TRACE=0
-AC_ARG_ENABLE(trace,
-[  --enable-trace          Enable trace mode (default disabled)],
-[ if test x$enableval = xyes; then TRACE=1; fi ])
-
-dnl
-dnl  Profiling
-dnl
-GPROF=0
-AC_ARG_ENABLE(gprof,
-[  --enable-gprof          Enable gprof profiling (default disabled)],
-[ if test x$enableval = xyes; then GPROF=1; fi ])
-
-CPROF=0
-AC_ARG_ENABLE(cprof,
-[  --enable-cprof          Enable cprof profiling (default disabled)],
-[ if test x$enableval = xyes;
-  then
-    LIB="${LIB} -lcprof"
-    CPROF=1
-  fi
-])
+[  --enable-debug          debug mode (default disabled)],
+[ if test x$enable_debug = xyes; then DEBUG=1; fi ])
 
 dnl
 
 dnl
-dnl  Enable/disable optimizations
+dnl  Enable release-specific flags
 dnl
 dnl
-AC_ARG_ENABLE(optimizations,
-[  --disable-optimizations Disable compiler optimizations (default enabled)],
-[ if test x$enableval = xno; then OPTIMS=0; fi ],
-[ OPTIMS=1 ])
+RELEASE=0
+AC_ARG_ENABLE(release,
+[  --enable-release        activate extra optimizations (default disabled)],
+[ if test x$enable_release = xyes; then RELEASE=1; fi ],
+[ VERSION="${VERSION}_`date +%Y-%m-%d`" ])
 
 dnl
 
 dnl
-dnl  GNU portable threads
+dnl  Input plugins
 dnl
 dnl
-AC_ARG_ENABLE(pth,
-  [  --enable-pth            Enable GNU Pth support (default disabled)],
-  [ if test x$enableval = xyes; then
-    AC_CHECK_LIB(pth,pth_init)
-    AC_EGREP_HEADER(pth_init,pth.h,[
-      AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
-                Define if <pth.h> defines pth_init)
-    THREAD_LIB="-lpth"
-    fi])
-])
 
 
-LIB="${LIB} ${THREAD_LIB}"
+AC_ARG_WITH(,[Input plugins:])
 
 dnl
 
 dnl
-dnl  DVD module: check for installed libdvdcss or local libdvdcss
+dnl  DVD module: optionally check for installed libdvdcss
 dnl
 dnl
-NEED_LIBDVDCSS=0
-STATIC_LIBDVDCSS=0
-DUMMY_LIBDVDCSS=0
-AC_ARG_WITH(dvdcss,
-  [  --with-dvdcss[=name]    way to use libdvdcss, either 'yes' or 'no',
-                          or 'local-static', 'local-shared', or a path to
-                          another libdvdcss such as '/usr/local'
-                          (default 'local-static')],
-  [ case "x${withval}" in
-    xlocal-static|xyes)
-      # local libdvdcss, statically linked
-      if test x${CAN_BUILD_LIBDVDCSS} = x1
+AC_ARG_ENABLE(dvd,
+[  --enable-dvd            DVD input module (default enabled)])
+if test "x$enable_dvd" != "xno"
+then
+  AC_ARG_WITH(dvdcss, 
+  [    --with-dvdcss=PATH    libdvdcss headers and libraries])
+  AC_ARG_WITH(dvdcss-tree, 
+  [    --with-dvdcss-tree=PATH libdvdcss tree for static linking])
+  case "x$with_dvdcss" in
+  x|xyes)
+    if test "x$with_dvdcss_tree" = x
+    then
+      AC_CHECK_HEADERS(dvdcss/dvdcss.h,
+        [ PLUGINS="${PLUGINS} dvd"
+          dvd_LDFLAGS="${dvd_LDFLAGS} -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
+      AC_MSG_CHECKING(for libdvdcss.a in ${with_dvdcss_tree})
+      real_dvdcss_tree="`cd ${with_dvdcss_tree} 2>/dev/null && pwd`"
+      if test "x$real_dvdcss_tree" = x
       then
       then
-        NEED_LIBDVDCSS=1
-        STATIC_LIBDVDCSS=1
-        BUILTINS="${BUILTINS} dvd"
-        CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
-        LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}"
-        LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}"
-        LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a lib/libdvdcss.a ${LIB_LIBDVDCSS}"
-        LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}"
+        dnl  The given directory can't be found
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR([cannot cd to ${with_dvdcss_tree}])
       fi
       fi
-    ;;
-    xlocal-shared)
-      # local libdvdcss, dynamically linked
-      if test x${CAN_BUILD_LIBDVDCSS} = x1
+      if test -f "${real_dvdcss_tree}/src/.libs/libdvdcss.a"
       then
       then
-        NEED_LIBDVDCSS=1
+        dnl  Use a custom libdvdcss
+        AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
         BUILTINS="${BUILTINS} dvd"
         BUILTINS="${BUILTINS} dvd"
-        CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
-        LIB_DVD="${LIB_DVD} -Llib -ldvdcss"
-        LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -L../../lib -ldvdcss"
-        LIB_DVDREAD="${LIB_DVD} -Llib -ldvdread -ldvdcss"
-        LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -L../../lib -ldvdcss"
-      fi
-    ;;
-    xno)
-      # don't use libdvdcss at all, build a DVD module that can dlopen() it
-      DUMMY_LIBDVDCSS=1
-      BUILTINS="${BUILTINS} dvd"
-      SRC_DVD_EXTRA="${SRC_DVD_EXTRA} dummy_dvdcss.c"
-      CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
-      CFLAGS_DVD="${CFLAGS_DVD} -DLIBDVDCSS_VERSION=\"${LIBDVDCSS_VERSION}\""
-      LIB_DVD="${LIB_DVD} -ldl"
-      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl"
-      LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a -ldl"
-      LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -ldl"
-    ;;
-    *)
-      # existing libdvdcss
-      BUILTINS="${BUILTINS} dvd"
-      if test "x$withval" != "xyes"
-      then
-        LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -L"$withval"/lib"
-        LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -L"$withval"/lib"
-        CFLAGS_DVD="${CFLAGS_DVD} -I"$withval"/include"
+        dvd_LDFLAGS="${dvd_LDFLAGS} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
+        dvd_CFLAGS="${dvd_CFLAGS} -I${real_dvdcss_tree}/src"
+      else
+        dnl  The given libdvdcss wasn't built
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR([cannot find ${real_dvdcss_tree}/src/.libs/libdvdcss.a, make sure you compiled libdvdcss in ${with_dvdcss_tree}])
       fi
       fi
-      LIB_DVD="${LIB_DVD} -ldvdcss"
-      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldvdcss"
-      LIB_DVDREAD="${LIB_DVDREAD} -ldvdread -ldvdcss"
-      LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -ldvdread -ldvdcss"
-    esac ],
-  # user didn't decide, we choose to use local libdvdcss and link statically
-  # if libdvdcss is in the archive, or to use the dummy replacement otherwise.
-  [ if test x${CAN_BUILD_LIBDVDCSS} = x1
+    fi
+  ;;
+  xno)
+    dnl  Compile without dvdcss (dlopen version, works only under Linux)
+    PLUGINS="${PLUGINS} dvd"
+    dvd_CFLAGS="${dvd_CFLAGS} -DGOD_DAMN_DMCA"
+    dvd_LDFLAGS="${dvd_LDFLAGS} -ldl"
+  ;;
+  *)
+    AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
+    if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
     then
     then
-      NEED_LIBDVDCSS=1
-      STATIC_LIBDVDCSS=1
-      BUILTINS="${BUILTINS} dvd"
-      CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
-      LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}"
-      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}"
-      LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a lib/libdvdcss.a ${LIB_LIBDVDCSS}"
-      LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} ../../lib/libdvdread.a ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}"
+      dnl  Use ${with_dvdcss}/include/dvdcss/dvdcss.h
+      AC_MSG_RESULT(yes)
+      PLUGINS="${PLUGINS} dvd"
+      dvd_LDFLAGS="${dvd_LDFLAGS} -L${with_dvdcss}/lib -ldvdcss"
+      dvd_CFLAGS="${dvd_CFLAGS} -I${with_dvdcss}/include"
     else
     else
-      # XXX: no check for libdl is done, don't try this at home !
-      DUMMY_LIBDVDCSS=1
-      BUILTINS="${BUILTINS} dvd"
-      SRC_DVD_EXTRA="${SRC_DVD_EXTRA} dummy_dvdcss.c"
-      CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
-      LIB_DVD="${LIB_DVD} -ldl"
-      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl"
-      LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a -ldl"
-      LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -ldl"
-    fi ])
+      dnl  No libdvdcss could be found, sorry
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
+    fi
+  ;;
+  esac
+fi
 
 dnl
 
 dnl
-dnl DVDREAD module: check for libdvdread plugin
+dnl dvdread module: check for libdvdread plugin
 dnl
 AC_ARG_ENABLE(dvdread,
 dnl
 AC_ARG_ENABLE(dvdread,
-[  --enable-dvdread          Enable dvdread support (default disabled)],
-[ if test x$enableval = xyes
+[  --enable-dvdread        dvdread input module (default disabled)])
+if test "x$enable_dvdread" != "xno"
+then
+  AC_ARG_WITH(dvdread, 
+  [    --with-dvdread=PATH   libdvdread headers and libraries])
+  if test "x$with_dvdread" = x
   then
   then
-    BUILTINS="${BUILTINS} dvdread" 
-    CFLAGS_DVDREAD="${CFLAGS_DVD} ${CFLAGS_DVDREAD} -I../../extras/libdvdread"
-  fi ])
+    test_LDFLAGS=""
+    test_CFLAGS=""
+  else
+    test_LDFLAGS="-L${with_dvdread}/lib"
+    test_CFLAGS="-I${with_dvdread}/include"
+  fi
+  CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
+  AC_CHECK_HEADERS(dvdread/dvd_reader.h, [
+     AC_TRY_COMPILE([#include <dvdread/dvd_reader.h>],
+        [void foo() { int i=DVD_VIDEO_LB_LEN; }],[
+          PLUGINS="${PLUGINS} dvdread"
+          dvdread_LDFLAGS="${dvdread_LDFLAGS} ${test_LDFLAGS} -ldvdread"
+          dvdread_CFLAGS="${dvdread_CFLAGS} ${test_CFLAGS}"
+        ],[
+          if test "x$enable_dvdread" != x
+          then
+            AC_MSG_ERROR([Cannot find DVD_VIDEO_LB_LEN in dvdread/dvd_reader.h, please install libdvdread version 0.9.2 or later])
+          fi
+        ])
+  ],[
+    if test "x$enable_dvdread" != x
+    then
+      if test "x$with_dvdread" != x
+      then
+        AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h in ${with_dvdread}/include])
+      else
+        AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h])
+      fi
+    fi
+  ])
+  CPPFLAGS="$save_CPPFLAGS"
+fi
 
 
+dnl
+dnl  libdvbpsi ts demux
+dnl
+AC_ARG_ENABLE(dvbpsi,
+[  --enable-dvbpsi        dvbpsi ts demux module (default disabled)])
+if test "x$enable_dvbpsi" != "xno"
+then
+  AC_ARG_WITH(dvbpsi, 
+  [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
+  if test "x$with_dvbpsi" = x
+  then
+    test_LDFLAGS=""
+    test_CFLAGS=""
+  else
+    test_LDFLAGS="-L${with_dvbpsi}/lib"
+    test_CFLAGS="-I${with_dvbpsi}/include"
+  fi
+  CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
+  AC_CHECK_HEADER([dvbpsi/dr.h],[
+    PLUGINS="${PLUGINS} mpeg_ts_dvbpsi"
+    mpeg_ts_dvbpsi_LDFLAGS="${mpeg_ts_dvbpsi_LDFLAGS} ${test_LDFLAGS} -ldvbpsi"
+    mpeg_ts_dvbpsi_CFLAGS="${mpeg_ts_dvbpsi_CFLAGS} ${test_CFLAGS}"
+    ],[
+    if test "x$enable_dvbpsi" != x
+    then
+      AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1])
+    fi
+  ])
+  CPPFLAGS="$save_CPPFLAGS"
+fi
 dnl
 dnl  VCD module
 dnl
 AC_ARG_ENABLE(vcd,
 dnl
 dnl  VCD module
 dnl
 AC_ARG_ENABLE(vcd,
-  [  --enable-vcd            VCD support for Linux (default enabled)])
+  [  --enable-vcd            VCD support for Linux, FreeBSD and MacOS X (default enabled)])
 
 if test x$enable_vcd != xno
 then
   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
 
 if test x$enable_vcd != xno
 then
   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
-    BUILTINS="${BUILTINS} vcd"
+    PLUGINS="${PLUGINS} vcd"
   ])
   ])
-fi
-
-if test x$enable_vcd != xno -a "${SYS}" = "bsdi"
-then
-  BUILTINS="${BUILTINS} vcd"
+  
+  AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
+    PLUGINS="${PLUGINS} vcd"
+    AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
+  ])
+  
+  if test "x${SYS}" = "xbsdi"
+  then
+    PLUGINS="${PLUGINS} vcd"
+  fi
+
+  if test "x${SYS}" = "xdarwin"
+  then
+    # No need to add vcd to PLUGINS, Darwin is already based on FreeBSD
+    vcd_LDFLAGS="${vcd_LDFLAGS} -framework IOKit -framework CoreFoundation" 
+  fi
 fi
 
 dnl
 fi
 
 dnl
-dnl  dummy plugin
+dnl  Satellite input module
 dnl
 dnl
-AC_ARG_ENABLE(dummy,
-  [  --disable-dummy         dummy module (default enabled)])
+AC_ARG_ENABLE(satellite,
+  [  --enable-satellite      satellite card support (default disabled)],
+  [ if test x$enable_satellite = xyes
+    then
+      PLUGINS="${PLUGINS} satellite"
+    fi])
 
 
-if test x$enable_dummy != xno
+dnl
+dnl  ipv6 plugin - not for QNX yet
+dnl
+if test x$SYS != xnto && test "x$SYS" != "xmingw32"
 then
 then
-  BUILTINS="${BUILTINS} dummy"
+  AC_CHECK_FUNC(inet_pton,[PLUGINS="${PLUGINS} ipv6"])
+fi
+if test "x$SYS" = "xmingw32"
+then
+  AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
+  AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
+    PLUGINS="${PLUGINS} ipv6"],[AC_MSG_RESULT(no)])
 fi
 
 dnl
 fi
 
 dnl
-dnl  null plugin
+dnl  AVI demux plugin
 dnl
 dnl
-AC_ARG_ENABLE(null,
-  [  --disable-null          Null module (default enabled)])
-
-if test x$enable_null != xno
+AC_ARG_ENABLE(avi,
+  [  --enable-avi            AVI demux module (default enabled)])
+if test x$enable_avi != xno
 then
 then
-  BUILTINS="${BUILTINS} null"
+  PLUGINS="${PLUGINS} avi"
 fi
 
 dnl
 fi
 
 dnl
-dnl  rc plugin
+dnl  Codec plugins
 dnl
 dnl
-AC_ARG_ENABLE(rc,
-  [  --disable-rc            Remote Control module (default enabled)])
 
 
-if test x$enable_rc != xno
-then
-  BUILTINS="${BUILTINS} rc"
-fi
+AC_ARG_WITH(,[Codec plugins:])
 
 dnl
 dnl  mad plugin
 dnl
 
 dnl
 dnl  mad plugin
 dnl
-AC_ARG_WITH(mad,
-  [  --with-mad[=PATH]       libmad module (default disabled)],
-  [ if test "x$with_val" != "xno"; then
-      if test -n $with_val; then
-        CFLAGS_MAD="${CFLAGS_MAD} -I$with_val/include"
-        LIB_MAD="${LIB_MAD} -L$with_val/lib -lmad"
-      else
-        LIB_MAD="${LIB_MAD} -lmad"
-      fi
-      save_CFLAGS=$CFLAGS
+AC_ARG_ENABLE(mad,
+  [  --enable-mad            libmad module (default disabled)])
+if test x$enable_mad = xyes
+then
+  AC_ARG_WITH(mad,
+    [    --with-mad=PATH       path to libmad],[],[])
+  if test "x$with_mad" != "xno" -a "x$with_mad" != "x"
+  then
+    mad_CFLAGS="${mad_CFLAGS} -I$with_mad/include"
+    mad_LDFLAGS="${mad_LDFLAGS} -L$with_mad/lib"
+  fi
+
+  AC_ARG_WITH(mad-tree,
+    [    --with-mad-tree=PATH  mad tree for static linking],[],[])
+  if test "x$with_mad_tree" != "xno" -a "x$with_mad_tree" != "x"
+  then
+    real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
+    if test "x$real_mad_tree" = x
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
+    fi
+    dnl  Use a custom libmad
+    AC_MSG_CHECKING(for mad.h in ${real_mad_tree}/libmad)
+    if test -f ${real_mad_tree}/libmad/mad.h
+    then
+      AC_MSG_RESULT(yes)
+      mad_CFLAGS="${mad_CFLAGS} -I${real_mad_tree}/libmad"
+      mad_LDFLAGS="${mad_LDFLAGS} -L${real_mad_tree}/libmad/.libs"
       save_LDFLAGS=$LDFLAGS
       save_LDFLAGS=$LDFLAGS
-      CFLAGS="$CFLAGS $CFLAGS_MAD"
-      LDFLAGS="$LDFLAGS $LIB_MAD"
-      AC_CHECK_HEADERS(mad.h, ,
-      [ echo "Cannot find development headers for libmad..."
-        exit 1
-      ])
-      AC_CHECK_LIB(mad, mad_bit_init, ,
-      [ echo "Cannot find libmad library..."
-        exit 1
-      ])
-      CFLAGS=$save_CFLAGS
+      LDFLAGS=$mad_LDFLAGS
+      AC_CHECK_LIB(mad, mad_bit_init, [
+        BUILTINS="${BUILTINS} mad"
+        mad_LDFLAGS="${mad_LDFLAGS} -lmad"
+        ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
+      ],[])
       LDFLAGS=$save_LDFLAGS
       LDFLAGS=$save_LDFLAGS
+    else
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([the specified tree doesn't have mad.h])
+    fi
+  else
+    save_CFLAGS=$CFLAGS
+    save_LDFLAGS=$LDFLAGS
+    CFLAGS="$CFLAGS $mad_CFLAGS"
+    LDFLAGS="$LDFLAGS $mad_LDFLAGS"
+    AC_CHECK_HEADERS(mad.h, ,
+      [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
+    AC_CHECK_LIB(mad, mad_bit_init, [
       PLUGINS="${PLUGINS} mad"
       PLUGINS="${PLUGINS} mad"
-    fi ])
-
-dnl special case for BeOS
-if test x$SYS = xbeos
-then
-    BUILTINS="${BUILTINS} beos"
-
-dnl default case
-else
+      mad_LDFLAGS="${mad_LDFLAGS} -lmad" ],
+      [ AC_MSG_ERROR([Cannot find libmad library...]) ])
+    CFLAGS=$save_CFLAGS
+    LDFLAGS=$save_LDFLAGS
+  fi
+fi
 
 dnl
 
 dnl
-dnl  OSS /dev/dsp module
-dnl  (enabled by default except on win32)
+dnl  ffmpeg decoder plugin
 dnl
 dnl
-AC_ARG_ENABLE(dsp,
-  [  --disable-dsp           Linux /dev/dsp support (default enabled)])
-
-if test x$enable_dsp != xno &&
-  (test $SYS != mingw32 || test x$enable_dsp = xyes)
+AC_ARG_ENABLE(ffmpeg,
+[  --enable-ffmpeg         ffmpeg codec (default disabled)])
+if test "x$enable_ffmpeg" = "xyes"
 then
 then
-  if test -c /dev/dsp
+  AC_ARG_WITH(ffmpeg,
+    [    --with-ffmpeg=PATH    path to ffmpeg installation],[],[])
+  if test "x$with_ffmpeg" != "xno" -a "x$with_ffmpeg" != "x"
   then
   then
-    PLUGINS="${PLUGINS} dsp"
+    ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I$with_ffmpeg/include/libffmpeg"
+    ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -L$with_ffmpeg/lib"
+  fi
+
+  AC_ARG_WITH(ffmpeg-tree, 
+  [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
+  if test "x$with_ffmpeg_tree" != "x"
+  then
+    AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
+    real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
+    if test "x$real_ffmpeg_tree" = x
+    then
+      dnl  The given directory can't be found
+      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)
+      BUILTINS="${BUILTINS} ffmpeg"
+      ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} ${real_ffmpeg_tree}/libavcodec/libavcodec.a -lm"
+      ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${real_ffmpeg_tree}/libavcodec"
+    else
+      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
+  else
+    save_CFLAGS=$CFLAGS
+    save_LDFLAGS=$LDFLAGS
+    CFLAGS="$CFLAGS $ffmpeg_CFLAGS"
+    LDFLAGS="$LDFLAGS $ffmpeg_LDFLAGS -lm"
+    AC_CHECK_LIB(avcodec, avcodec_init, [
+      BUILTINS="${BUILTINS} ffmpeg"
+      ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lavcodec -lm" ],
+      [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
+    CFLAGS=$save_CFLAGS
+    LDFLAGS=$save_LDFLAGS
   fi
 fi
 
   fi
 fi
 
-dnl
-dnl  Esound module
-dnl
-AC_ARG_ENABLE(esd,
-  [  --enable-esd            Esound library support (default disabled)],
-  [if test x$enable_esd = xyes
-   then
-     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
-     if test x${ESD_CONFIG} != xno
-     then
-       PLUGINS="${PLUGINS} esd"
-       CFLAGS_ESD="${CFLAGS_ESD} `${ESD_CONFIG} --cflags`"
-       LIB_ESD="${LIB_ESD} `${ESD_CONFIG} --libs`"
-     fi
-   fi])
 
 
-dnl
-dnl  aRts module
-dnl
-AC_ARG_ENABLE(arts,
-  [  --enable-arts           aRts sound server (default disabled)],
-  [if test x$enable_arts = xyes
-   then
-     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
-     if test x${ARTS_CONFIG} != xno
-     then
-       PLUGINS="${PLUGINS} arts"
-       CFLAGS_ARTS="${CFLAGS_ARTS} `${ARTS_CONFIG} --cflags`"
-       LIB_ARTS="${LIB_ARTS} `${ARTS_CONFIG} --libs `"
-     fi
-   fi])
+dnl special case for BeOS
+if test x$SYS = xbeos
+then
+    PLUGINS="${PLUGINS} beos"
+fi
 
 dnl
 
 dnl
-dnl  MacOS X module
+dnl  a52 AC3 decoder plugin
 dnl
 dnl
-AC_ARG_ENABLE(macosx,
-  [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
-  [if test x$enable_macosx = xyes
-   then
-     BUILTINS="${BUILTINS} macosx"
-     LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime -lobjc"
-     CFLAGS_MACOSX="${CFLAGS_MACOSX} -ObjC"
-     LIB="${LIB} -ObjC"
-   fi],
-  [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
-     BUILTINS="${BUILTINS} macosx"
-     LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime -lobjc"
-     CFLAGS_MACOSX="${CFLAGS_MACOSX} -ObjC"
-     LIB="${LIB} -ObjC"
-   )])
+AC_ARG_ENABLE(a52,
+  [  --enable-a52            AC3 support with liba52 (default enabled)])
+if test "x$enable_a52" != "xno"
+then
+  AC_ARG_WITH(a52-tree,
+    [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
+  if test "x$with_a52_tree" != "xno" -a "x$with_a52_tree" != "x"
+  then
+    real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
+    if test "x$real_a52_tree" = x
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
+    fi
+    dnl  Use a custom a52dec
+    AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
+    if test -f ${real_a52_tree}/include/a52.h
+    then
+      AC_MSG_RESULT(yes)
+      a52_CFLAGS="${a52_CFLAGS} -I${real_a52_tree}"
+      a52_LDFLAGS="${a52_LDFLAGS} -L${real_a52_tree}/liba52/.libs"
+      save_LDFLAGS=$LDFLAGS
+      LDFLAGS="$a52_LDFLAGS $LDFLAGS"
+      AC_CHECK_LIB(a52, a52_free, [
+        BUILTINS="${BUILTINS} a52"
+        a52_LDFLAGS="${a52_LDFLAGS} -la52 -lm"
+        a52_CFLAGS="${a52_CFLAGS} -DUSE_A52DEC_TREE"
+        ],[
+        if test -f ${real_a52_tree}/liba52/.libs/liba52.a
+        then
+          AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
+        else
+          AC_MSG_ERROR([the specified tree hasn't been compiled])
+        fi
+      ],[-lm])
+      LDFLAGS=$save_LDFLAGS
+    else
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([the specified tree doesn't have a52.h])
+    fi
+  else dnl  no with args
+    AC_CHECK_HEADERS(a52dec/a52.h, [
+      AC_CHECK_LIB(a52, a52_free, [
+        BUILTINS="${BUILTINS} a52"
+        a52_LDFLAGS="${a52_LDFLAGS} -la52 -lm"
+        a52_CFLAGS="${a52_CFLAGS}"
+      ],[],[-lm])
+    ])
+  fi
+fi
 
 dnl
 
 dnl
-dnl  QNX RTOS module
+dnl  ogg vorbis plugin
 dnl
 dnl
-AC_ARG_ENABLE(qnx,
-  [  --disable-qnx           QNX RTOS support (default enabled on QNX RTOS)])
-    if test x$enable_qnx != xno
-    then
-      AC_CHECK_HEADERS(Ph.h, [
-        PLUGINS="${PLUGINS} qnx"
-        LIB_QNX="${LIB_QNX} -lasound -lph"
-      ])
-    fi
+AC_ARG_ENABLE(vorbis,
+  [  --enable-vorbis         Ogg/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} vorbis"
+    vorbis_LDFLAGS="${vorbis_LDFLAGS} -lvorbis"
+   ],[])
+fi
 
 dnl
 
 dnl
-dnl  Linux framebuffer module
+dnl  Video plugins
 dnl
 dnl
-AC_ARG_ENABLE(fb,
-  [  --enable-fb             Linux framebuffer support (default disabled)],
-  [ if test x$enable_fb = xyes
-    then
-      PLUGINS="${PLUGINS} fb"
-    fi ])
+
+AC_ARG_WITH(,[Video plugins:])
 
 dnl
 
 dnl
-dnl  Linux MGA module
+dnl  X11 module
+dnl  (enabled by default except on win32)
 dnl
 dnl
-AC_ARG_ENABLE(mga,
-  [  --enable-mga            Linux kernel Matrox support (default disabled)],
-  [ if test x$enable_mga = xyes
-    then
-      PLUGINS="${PLUGINS} mga xmga"
-    fi ])
+AC_ARG_ENABLE(x11,
+  [  --enable-x11            X11 support (default enabled)])
+if test x$enable_x11 != xno &&
+  (test x$SYS != xmingw32 || test x$enable_x11 = xyes); then
+  if test x$x_includes = xNONE; then
+    x_includes=/usr/X11R6/include
+  fi
+  if test x$x_libraries = xNONE; then
+    x_libraries=/usr/X11R6/lib
+  fi
+  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
+  AC_CHECK_HEADERS(X11/Xlib.h, [
+    PLUGINS="${PLUGINS} x11"
+    x11_LDFLAGS="${x11_LDFLAGS} -L$x_libraries -lX11 -lXext"
+    x11_CFLAGS="${x11_CFLAGS} -I$x_includes"
+  ])
+  CPPFLAGS="$save_CPPFLAGS"
+fi
 
 dnl
 
 dnl
-dnl  GGI module
+dnl  XVideo module
+dnl  (enabled by default except on win32)
 dnl
 dnl
-AC_ARG_WITH(ggi,
-  [  --with-ggi[=name]       GGI support (default disabled)],
-  [ if test "x$withval" != "xno"
-    then
-      PLUGINS="${PLUGINS} ggi"
-      if test "x$withval" != "xyes"
-      then
-        LIB_GGI="${LIB_GGI} -l$withval"
-      else
-        LIB_GGI="${LIB_GGI} -lggi"
-      fi
-    fi ])
+AC_ARG_ENABLE(xvideo,
+  [  --enable-xvideo         XVideo support (default enabled)])
+if test x$enable_xvideo != xno &&
+  (test x$SYS != xmingw32 || test x$enable_xvideo = xyes); then
+  if test x$x_includes = xNONE; then
+    x_includes=/usr/X11R6/include
+  fi
+  if test x$x_libraries = xNONE; then
+    x_libraries=/usr/X11R6/lib
+  fi
+  save_CPPFLAGS=$CPPFLAGS
+  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
+  AC_CHECK_HEADERS(X11/extensions/Xv.h, [
+    save_CFLAGS=$CFLAGS
+    CFLAGS="$CFLAGS -L$x_libraries -lX11 -lXext"
+    AC_CHECK_LIB(Xv_pic,XvSetPortAttribute,
+      # We have Xv_pic, that's good, we can build an xvideo.so plugin !
+      PLUGINS="${PLUGINS} xvideo"
+      xvideo_LDFLAGS="${xvideo_LDFLAGS} -L$x_libraries -lX11 -lXext -lXv_pic"
+      xvideo_CFLAGS="${xvideo_CFLAGS} -I$x_includes",
+      # We don't have Xv_pic, let's make xvideo.a as builtin
+      BUILTINS="${BUILTINS} xvideo"
+      xvideo_LDFLAGS="${xvideo_LDFLAGS} -L$x_libraries -lX11 -lXext -lXv"
+      xvideo_CFLAGS="${xvideo_CFLAGS} -I$x_includes")
+    CFLAGS="$save_CFLAGS"
+  ]
+  CPPFLAGS="$save_CPPFLAGS")
+fi
 
 dnl
 dnl  SDL module
 dnl
 AC_ARG_ENABLE(sdl,
 
 dnl
 dnl  SDL module
 dnl
 AC_ARG_ENABLE(sdl,
-  [  --disable-sdl           SDL support (default enabled)])
+  [  --enable-sdl            SDL support (default enabled)])
 if test "x$enable_sdl" != "xno"
 then
   SDL_PATH=$PATH
   AC_ARG_WITH(sdl-config-path,
 if test "x$enable_sdl" != "xno"
 then
   SDL_PATH=$PATH
   AC_ARG_WITH(sdl-config-path,
-    [  --with-sdl-config-path=path sdl-config path (default search in \$PATH)],
-    [ if test "x$withval" != "xno"
+    [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
+    [ if test "x$with_sdl_config_path" != "xno"
       then
       then
-        SDL_PATH=$withval:$PATH
+        SDL_PATH="$with_sdl_config_path:$PATH"
       fi ])
   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, $SDL_PATH)
   SDL_CONFIG=${SDL12_CONFIG}
       fi ])
   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, $SDL_PATH)
   SDL_CONFIG=${SDL12_CONFIG}
@@ -1080,17 +1092,16 @@ then
   if test x${SDL_CONFIG} != xno
   then
     PLUGINS="${PLUGINS} sdl"
   if test x${SDL_CONFIG} != xno
   then
     PLUGINS="${PLUGINS} sdl"
-    CFLAGS_SDL="${CFLAGS_SDL} `${SDL_CONFIG} --cflags`"
-    LIB_SDL="${LIB_SDL} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
-    save_CPPFLAGS=$CPPFLAGS
-    CPPFLAGS="$CPPFLAGS $CFLAGS_SDL"
+    sdl_CFLAGS="${sdl_CFLAGS} `${SDL_CONFIG} --cflags`"
+    sdl_LDFLAGS="${sdl_LDFLAGS} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
+    CPPFLAGS="$save_CPPFLAGS $sdl_CFLAGS"
     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
       [ AC_MSG_ERROR([The development package for SDL is not installed. 
 Please install it and try again. Alternatively you can also configure with 
 --disable-sdl.])
       ])
     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
       [ AC_MSG_ERROR([The development package for SDL is not installed. 
 Please install it and try again. Alternatively you can also configure with 
 --disable-sdl.])
       ])
-    CPPFLAGS=$save_CPPFLAGS
+    CPPFLAGS="$save_CPPFLAGS"
     if expr 1.1.5 \> `$SDL_CONFIG --version` >/dev/null
     then
       AC_MSG_ERROR([The development package for SDL is not installed.
     if expr 1.1.5 \> `$SDL_CONFIG --version` >/dev/null
     then
       AC_MSG_ERROR([The development package for SDL is not installed.
@@ -1109,283 +1120,508 @@ dnl
 dnl  Windows DirectX module
 dnl
 AC_ARG_ENABLE(directx,
 dnl  Windows DirectX module
 dnl
 AC_ARG_ENABLE(directx,
-  [  --disable-directx       Windows DirectX support (default enabled on WIN32)])
-if test "x$enableval" != "xno"
+  [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
+if test "x$enable_directx" != "xno"
 then
 then
-  if test $SYS = mingw32
+  if test x$SYS = xmingw32
   then
   then
-    AC_ARG_WITH(directx-path
-    [  --with-directx-path=path Windows DirectX headers and libraries])
-    if test "x$with_directx_path" = "x"
+    AC_ARG_WITH(directx, 
+    [    --with-directx=PATH   Win32 DirectX headers and libraries])
+    if test "x$with_directx" = "x"
     then
     then
-      AC_CHECK_HEADERS(directx.h,
+      AC_CHECK_HEADERS(ddraw.h,
       [ PLUGINS="${PLUGINS} directx"
       [ PLUGINS="${PLUGINS} directx"
-        LIB_DIRECTX="${LIB_DIRECTX} -lgdi32" ])
+        directx_LDFLAGS="${directx_LDFLAGS} -lgdi32" ])
     else
     else
-      AC_MSG_CHECKING(for directX headers in ${withval})
-      if test -f ${withval}/include/directx.h
+      AC_MSG_CHECKING(for directX headers in ${with_directx})
+      if test -f ${with_directx}/ddraw.h
       then
         PLUGINS="${PLUGINS} directx"
       then
         PLUGINS="${PLUGINS} directx"
-        LIB_DIRECTX="${LIB_DIRECTX} -L${withval}/lib -lgdi32"
-        INCLUDE="${INCLUDE} -I${withval}/include"
+        directx_LDFLAGS="${directx_LDFLAGS} -L${with_directx}/lib -lgdi32"
+        directx_CFLAGS="${directx_CFLAGS} -I${with_directx}"
         AC_MSG_RESULT(yes)
       else
         AC_MSG_RESULT(no)
         AC_MSG_RESULT(yes)
       else
         AC_MSG_RESULT(no)
-        AC_MSG_ERROR([Cannot find ${withval}/include/directx.h!])
+        AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
       fi
     fi
   fi
 fi
 
 dnl
       fi
     fi
   fi
 fi
 
 dnl
-dnl  Windows MFC interface module
+dnl  Linux framebuffer module
 dnl
 dnl
-AC_ARG_ENABLE(win32,
-  [  --enable-win32          Windows DirectX support (default disabled)],
-  [ if test "x$enableval" != "xno"
+AC_ARG_ENABLE(fb,
+  [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
+    if test x$enable_fb != xno
     then
     then
-      PLUGINS="${PLUGINS} win32"
-    fi ])
+      AC_CHECK_HEADERS(linux/fb.h, [
+        PLUGINS="${PLUGINS} fb"
+      ])
+    fi
 
 dnl
 
 dnl
-dnl  Glide module
+dnl  Linux MGA module
 dnl
 dnl
-AC_ARG_WITH(glide,
-  [  --with-glide[=name]     Glide (3dfx) support (default disabled)],
-  [ if test "x$withval" != "xno"
+AC_ARG_ENABLE(mga,
+  [  --enable-mga            Linux kernel Matrox support (default disabled)],
+  [ if test x$enable_mga = xyes
     then
     then
-      PLUGINS="${PLUGINS} glide"
-      if test "x$withval" != "xyes"
-      then
-        LIB_GLIDE="${LIB_GLIDE} -l$withval -lm"
-      else
-        LIB_GLIDE="${LIB_GLIDE} -lglide2x -lm"
-      fi
-      CFLAGS_GLIDE="${CFLAGS_GLIDE} -I/usr/include/glide"
+      PLUGINS="${PLUGINS} mga xmga"
     fi ])
 
 dnl
     fi ])
 
 dnl
-dnl  ncurses module
+dnl  GGI module
 dnl
 dnl
-AC_ARG_ENABLE(ncurses,
-  [  --enable-ncurses        ncurses interface support (default disabled)],
-  [if test x$enable_ncurses = xyes; then
-     PLUGINS="${PLUGINS} ncurses"
-     LIB_NCURSES="${LIB_NCURSES} -lncurses"
-   fi])
+AC_ARG_ENABLE(ggi,
+  [  --enable-ggi            GGI support (default disabled)])
+if test x$enable_ggi = xyes
+then
+  PLUGINS="${PLUGINS} ggi"
+  ggi_LDFLAGS="${ggi_LDFLAGS} -lggi"
+  AC_ARG_WITH(ggi,
+    [    --with-ggi=PATH       path to libggi],
+    [ if test "x$with_ggi" != "xno" -a "x$with_ggi" != "x"
+      then
+        CFLAGS_GGI="${CFLAGS_GGI} -I$with_ggi/include"
+        ggi_LDFLAGS="${ggi_LDFLAGS} -L$with_ggi/lib"
+      fi ])
+fi
 
 dnl
 
 dnl
-dnl  Qt module
+dnl  Glide module
 dnl
 dnl
-AC_ARG_ENABLE(qt,
-  [  --enable-qt             Qt interface support (default disabled)],
-  [if test x$enable_qt = xyes; then
-     PLUGINS="${PLUGINS} qt"
-     ALIASES="${ALIASES} qvlc"
-     LIB_QT="${LIB_QT} -lqt -L${QTDIR}/lib"
-     CFLAGS_QT="${CFLAGS_QT} -I/usr/include/qt -I${QTDIR}/include"
-     if test -x ${QTDIR}/bin/moc
-     then
-       MOC=${QTDIR}/bin/moc
-     else
-       MOC=moc
-     fi
-   fi])
+AC_ARG_ENABLE(glide,
+  [  --enable-glide          Glide (3dfx) support (default disabled)])
+if test x$enable_glide = xyes
+then
+  PLUGINS="${PLUGINS} glide"
+  glide_LDFLAGS="${glide_LDFLAGS} -lglide2x -lm"
+  glide_CFLAGS="${glide_CFLAGS} -I/usr/include/glide"
+  AC_ARG_WITH(glide,
+    [    --with-glide=PATH     path to libglide],
+    [ if test "x$with_glide" != "xno" -a "x$with_glide" != "x"
+      then
+        glide_CFLAGS="${glide_CFLAGS} -I$with_glide/include"
+        glide_LDFLAGS="${glide_LDFLAGS} -L$with_glide/lib"
+      fi ])
+fi
 
 
-dnl 
-dnl  KDE module
 dnl
 dnl
-AC_ARG_ENABLE(kde,
-  [  --enable-kde            KDE interface support (default disabled)],
-  [if test x$enable_kde = xyes; then
-     PLUGINS="${PLUGINS} kde"
-     ALIASES="${ALIASES} kvlc"
-     LIB_KDE="${LIB_KDE} -L${KDEDIR}/lib -lkfile"
-     CFLAGS_KDE="${CFLAGS_KDE} -I/usr/include/kde -I/usr/include/qt"
-     CFLAGS_KDE="${CFLAGS_KDE} -I${KDEDIR}/include -I${QTDIR}/include"
-     if test -x ${QTDIR}/bin/moc
-     then
-       MOC=${QTDIR}/bin/moc
-     else
-       MOC=moc
-     fi
-   fi])
+dnl  AA plugin
+dnl
+AC_ARG_ENABLE(aa,
+  [  --enable-aa             aalib output (default disabled)])
+if test x$enable_aa = xyes
+then
+  AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
+  if test x$have_aa = xtrue
+  then
+    PLUGINS="${PLUGINS} aa"
+    aa_LDFLAGS="${aa_LDFLAGS} -laa"
+  fi
+fi
 
 dnl
 
 dnl
-dnl  Gnome module
+dnl  Audio plugins
 dnl
 dnl
-AC_ARG_ENABLE(gnome,
-  [  --enable-gnome          Gnome interface support (default disabled)],
-  [if test x$enable_gnome = xyes; then
-    # look for gnome-config
-    AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
-    if test -x ${GNOME_CONFIG}
-    then
-       CFLAGS_GNOME="${CFLAGS_GNOME} `${GNOME_CONFIG} --cflags gtk gnomeui`"
-       LIB_GNOME="${LIB_GNOME} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
-    fi
-    # now look for the gnome.h header
-    saved_CPPFLAGS=$CPPFLAGS
-    CPPFLAGS="$CPPFLAGS $CFLAGS_GNOME"
-    AC_CHECK_HEADERS(gnome.h, [
-      PLUGINS="${PLUGINS} gnome"
-      ALIASES="${ALIASES} gnome-vlc"
-     ],[
-      AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
-developement librairie or remove the --enable-gnome option])
-     ])
-  
-    CPPFLAGS=$saved_CPPFLAGS
-  fi])
+
+AC_ARG_WITH(,[Audio plugins:])
 
 dnl
 
 dnl
-dnl  Gtk+ module
+dnl  OSS /dev/dsp module (enabled by default except on win32)
 dnl
 dnl
-AC_ARG_ENABLE(gtk,
-  [  --disable-gtk           Gtk+ support (default enabled)])
-if test x$enable_gtk != xno
+AC_ARG_ENABLE(dsp,
+  [  --enable-dsp            Linux /dev/dsp support (enabled on Linux)])
+
+if test x$enable_dsp != xno &&
+  (test x$SYS != xmingw32 || test x$enable_dsp = xyes)
+then
+  AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
+    PLUGINS="${PLUGINS} dsp"
+    AC_CHECK_LIB(ossaudio,main,dsp_LDFLAGS="${dsp_LDFLAGS} -lossaudio")
+  ])
+fi
+
+dnl
+dnl  Esound module
+dnl
+AC_ARG_ENABLE(esd,
+  [  --enable-esd            Esound library support (default disabled)],
+  [if test x$enable_esd = xyes
+   then
+     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
+     if test x${ESD_CONFIG} != xno
+     then
+       PLUGINS="${PLUGINS} esd"
+       esd_CFLAGS="${esd_CFLAGS} `${ESD_CONFIG} --cflags`"
+       esd_LDFLAGS="${esd_LDFLAGS} `${ESD_CONFIG} --libs`"
+     fi
+   fi])
+
+dnl
+dnl  aRts module
+dnl
+AC_ARG_ENABLE(arts,
+  [  --enable-arts           aRts sound server (default disabled)],
+  [if test x$enable_arts = xyes
+   then
+     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
+     if test x${ARTS_CONFIG} != xno
+     then
+       PLUGINS="${PLUGINS} arts"
+       arts_CFLAGS="${arts_CFLAGS} `${ARTS_CONFIG} --cflags`"
+       arts_LDFLAGS="${arts_LDFLAGS} `${ARTS_CONFIG} --libs `"
+     fi
+   fi])
+
+dnl
+dnl  ALSA module
+dnl
+AC_ARG_ENABLE(alsa,
+  [  --enable-alsa           ALSA sound support for Linux (default disabled)],
+  [if test x$enable_alsa = xyes
+   then
+     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"
+       alsa_LDFLAGS="${alsa_LDFLAGS} -lasound -lm -ldl"
+     fi
+   fi])
+
+dnl
+dnl  win32 waveOut plugin
+dnl
+AC_ARG_ENABLE(waveout,
+  [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
+if test "x$enable_waveout" != "xno" -a x$SYS = xmingw32
+  then
+    PLUGINS="${PLUGINS} waveout"
+    waveout_LDFLAGS="-lwinmm"
+fi
+
+dnl
+dnl  Interface plugins
+dnl
+
+AC_ARG_WITH(,[Interface plugins:])
+
+dnl
+dnl  Gtk+ module
+dnl
+AC_ARG_ENABLE(gtk,
+  [  --enable-gtk            Gtk+ support (default enabled)])
+if test x$enable_gtk != xno
 then
   GTK_PATH=$PATH
   AC_ARG_WITH(gtk-config-path,
 then
   GTK_PATH=$PATH
   AC_ARG_WITH(gtk-config-path,
-    [  --with-gtk-config-path=path gtk-config path (default search in \$PATH)],
-    [ if test "x$withval" != "xno"
+    [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
+    [ if test "x$with_gtk_config_path" != "xno"
       then
       then
-        GTK_PATH=$withval:$PATH
+        GTK_PATH="$with_gtk_config_path:$PATH"
       fi ])
   # look for gtk-config
       fi ])
   # look for gtk-config
-  AC_PATH_PROG(GTK_CONFIG, gtk-config, no, $GTK_PATH)
-  if test -x ${GTK_CONFIG}
+  AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, $GTK_PATH)
+  GTK_CONFIG=${GTK12_CONFIG}
+  if test x${GTK_CONFIG} = xno
+  then
+    AC_PATH_PROG(GTK_CONFIG, gtk-config, no, $GTK_PATH)
+  fi
+  if test x${GTK_CONFIG} != xno
   then
     if expr 1.2.0 \> `$GTK_CONFIG --version` >/dev/null
     then
       AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
     fi
   then
     if expr 1.2.0 \> `$GTK_CONFIG --version` >/dev/null
     then
       AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
     fi
-    CFLAGS_GTK="${CFLAGS_GTK} `${GTK_CONFIG} --cflags gtk`"
-    LIB_GTK="${LIB_GTK} `${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`"
+    gtk_CFLAGS="${gtk_CFLAGS} `${GTK_CONFIG} --cflags gtk`"
+    gtk_LDFLAGS="${gtk_LDFLAGS} `${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`"
+    # now look for the gtk.h header
+    CPPFLAGS="$save_CPPFLAGS $gtk_CFLAGS"
+    ac_cv_gtk_headers=yes
+    AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
+      ac_cv_gtk_headers=no
+      echo "Cannot find gtk development headers."
+    ])
+    if test "x$ac_cv_gtk_headers" = xyes
+    then
+      PLUGINS="${PLUGINS} gtk"
+      ALIASES="${ALIASES} gvlc"
+    fi
+    CPPFLAGS="$save_CPPFLAGS"
   fi
   fi
-  # now look for the gtk.h header
-  saved_CPPFLAGS=$CPPFLAGS
-  CPPFLAGS="$CPPFLAGS $CFLAGS_GTK"
-  ac_cv_gtk_headers=yes
-  AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
-    ac_cv_gtk_headers=no
-    echo "Cannot find gtk development headers."
-  ])
-  if test "x$ac_cv_gtk_headers" = xyes
+fi
+
+dnl
+dnl  Gnome module
+dnl
+AC_ARG_ENABLE(gnome,
+  [  --enable-gnome          Gnome interface support (default disabled)],
+  [if test x$enable_gnome = xyes; then
+    # look for gnome-config
+    AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
+    if test -x ${GNOME_CONFIG}
+    then
+       gnome_CFLAGS="${gnome_CFLAGS} `${GNOME_CONFIG} --cflags gtk gnomeui`"
+       gnome_LDFLAGS="${gnome_LDFLAGS} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
+    fi
+    # now look for the gnome.h header
+    CPPFLAGS="$save_CPPFLAGS $gnome_CFLAGS"
+    AC_CHECK_HEADERS(gnome.h, [
+      PLUGINS="${PLUGINS} gnome"
+      ALIASES="${ALIASES} gnome-vlc"
+     ],[
+      AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
+developement tools or remove the --enable-gnome option])
+     ])
+    CPPFLAGS="$save_CPPFLAGS"
+  fi])
+
+dnl
+dnl  Qt module
+dnl
+AC_ARG_ENABLE(qt,
+  [  --enable-qt             Qt interface support (default disabled)],
+  [if test x$enable_qt = xyes; then
+     PLUGINS="${PLUGINS} qt"
+     ALIASES="${ALIASES} qvlc"
+     qt_LDFLAGS="${qt_LDFLAGS} -lqt -L${QTDIR}/lib"
+     qt_CFLAGS="${qt_CFLAGS} -I/usr/include/qt -I${QTDIR}/include"
+     if test -x ${QTDIR}/bin/moc
+     then
+       MOC=${QTDIR}/bin/moc
+     else
+       MOC=moc
+     fi
+   fi])
+
+dnl 
+dnl  KDE module
+dnl
+AC_ARG_ENABLE(kde,
+  [  --enable-kde            KDE interface support (default disabled)],
+  [if test x$enable_kde = xyes; then
+     PLUGINS="${PLUGINS} kde"
+     ALIASES="${ALIASES} kvlc"
+     kde_LDFLAGS="${kde_LDFLAGS} -L${KDEDIR}/lib -lkfile"
+     kde_CFLAGS="${kde_CFLAGS} -I/usr/include/kde -I/usr/include/qt"
+     kde_CFLAGS="${kde_CFLAGS} -I${KDEDIR}/include -I${QTDIR}/include"
+     if test -x ${QTDIR}/bin/moc
+     then
+       MOC=${QTDIR}/bin/moc
+     else
+       MOC=moc
+     fi
+   fi])
+
+dnl
+dnl  MacOS X module
+dnl
+AC_ARG_ENABLE(macosx,
+  [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
+  [if test x$enable_macosx = xyes
+   then
+     BUILTINS="${BUILTINS} macosx"
+     macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework AGL -framework QuickTime -lobjc -ObjC"
+   fi],
+  [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
+     BUILTINS="${BUILTINS} macosx"
+     macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework AGL -framework QuickTime -lobjc -ObjC"
+   )])
+
+dnl
+dnl  QNX RTOS module
+dnl
+AC_ARG_ENABLE(qnx,
+  [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
+    if test x$enable_qnx != xno
+    then
+      AC_CHECK_HEADERS(Ph.h, [
+        PLUGINS="${PLUGINS} qnx"
+        qnx_LDFLAGS="${qnx_LDFLAGS} -lasound -lph"
+      ])
+    fi
+
+dnl
+dnl  Windows native interface module, built with Borland C++ Builder
+dnl
+AC_ARG_ENABLE(intfwin,
+[  --enable-intfwin        Win32 interface support (default disabled)],
+[ if test "x$enable_intfwin" != "xno"
+  then
+    AC_ARG_WITH(bcbuilder, 
+    [    --with-bcbuilder=PATH Borland C++ Builder installation path])
+    if test "x$with_bcbuilder" != "x"
+    then
+      BCBUILDER="$with_bcbuilder"
+    fi
+    PLUGINS="${PLUGINS} intfwin"
+  fi ])
+
+dnl
+dnl  ncurses module
+dnl
+AC_ARG_ENABLE(ncurses,
+  [  --enable-ncurses        ncurses interface support (default disabled)],
+  [if test x$enable_ncurses = xyes; then
+     PLUGINS="${PLUGINS} ncurses"
+     ncurses_LDFLAGS="${ncurses_LDFLAGS} -lncurses"
+   fi])
+
+dnl
+dnl  Lirc plugin
+dnl
+AC_ARG_ENABLE(lirc,
+  [  --enable-lirc           lirc support (default disabled)])
+if test x$enable_lirc = xyes
+then
+  AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
+  if test x$have_lirc = xtrue
   then
   then
-    PLUGINS="${PLUGINS} gtk"
-    ALIASES="${ALIASES} gvlc"
+    PLUGINS="${PLUGINS} lirc"
+    lirc_LDFLAGS="${lirc_LDFLAGS} -llirc_client"
   fi
   fi
-  CPPFLAGS=$saved_CPPFLAGS
 fi
 
 fi
 
+AC_ARG_WITH(,[Misc options:])
+
 dnl
 dnl
-dnl  X11 module
-dnl  (enabled by default except on win32)
+dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
 dnl
 dnl
-AC_ARG_ENABLE(x11,
-  [  --disable-x11           X11 support (default enabled)])
-if test x$enable_x11 != xno &&
-  (test $SYS != mingw32 || test x$enable_x11 = xyes); then
-  if test x$x_includes = xNONE; then
-    x_includes=/usr/X11R6/include
-  fi
-  if test x$x_libraries = xNONE; then
-    x_libraries=/usr/X11R6/lib
-  fi
-  saved_CPPFLAGS=$CPPFLAGS
-  CPPFLAGS="$CPPFLAGS -I$x_includes"
-  AC_CHECK_HEADERS(X11/Xlib.h, [
-    PLUGINS="${PLUGINS} x11"
-    LIB_X11="${LIB_X11} -L$x_libraries -lX11 -lXext"
-    CFLAGS_X11="${CFLAGS_X11} -I$x_includes"
-  ]
-  CPPFLAGS=$saved_CPPFLAGS)
+dnl  We give the user the opportunity to specify
+dnl  --with-words=big or --with-words=little ; otherwise, try to guess
+dnl
+AC_ARG_WITH(words,
+  [  --with-words=endianness set endianness (big or little)])
+  case "x$with_words" in
+    xbig)
+      ac_cv_c_bigendian=yes
+      ;;
+    xlittle)
+      ac_cv_c_bigendian=no
+      ;;
+    *)
+      dnl  Try to guess endianness by matching patterns on a compiled
+      dnl  binary, by looking for an ASCII or EBCDIC string
+      AC_CACHE_CHECK([whether the byte order is big-endian],
+        [ac_cv_c_bigendian],
+        [ac_cv_c_bigendian=unknown
+        [cat >conftest.c <<EOF
+        short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
+        short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
+        void _a(void) { char*s = (char*)am; s = (char *)ai; }
+        short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
+        short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
+        void _e(void) { char*s = (char*)em; s = (char*)ei; }
+        int main(void) { _a(); _e(); return 0; }
+EOF
+        ]
+        if test -f conftest.c
+        then 
+          if ${CC-cc} -c conftest.c -o conftest.o >config.log 2>&1 \
+              && test -f conftest.o
+          then
+            if test "`strings conftest.o | grep BIGenDianSyS`"
+            then
+              ac_cv_c_bigendian=yes
+            fi
+            if test "`strings conftest.o | grep LiTTleEnDian`"
+            then
+              ac_cv_c_bigendian=no
+            fi
+          fi
+        fi
+      ])
+      if test x$ac_cv_c_bigendian = xunknown
+      then
+        AC_MSG_ERROR([Could not guess endianness, please use --with-words])
+      fi
+      ;;
+  esac
+dnl  Now we know what to use for endianness, just put it in the header
+if test $ac_cv_c_bigendian = yes
+then
+  AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
 fi
 
 dnl
 fi
 
 dnl
-dnl  XVideo module
-dnl  (enabled by default except on win32)
+dnl  Profiling
 dnl
 dnl
-AC_ARG_ENABLE(xvideo,
-  [  --disable-xvideo        XVideo support (default enabled)])
-if test x$enable_xvideo != xno &&
-  (test $SYS != mingw32 || test x$enable_xvideo = xyes); then
-  if test x$x_includes = xNONE; then
-    x_includes=/usr/X11R6/include
-  fi
-  if test x$x_libraries = xNONE; then
-    x_libraries=/usr/X11R6/lib
+GPROF=0
+AC_ARG_ENABLE(gprof,
+[  --enable-gprof          gprof profiling (default disabled)],
+[ if test "x$enable_gprof" = "xyes"; then GPROF=1; fi ])
+
+CPROF=0
+AC_ARG_ENABLE(cprof,
+[  --enable-cprof          cprof profiling (default disabled)],
+[ if test "x$enable_cprof" = "xyes";
+  then
+    LDFLAGS="${LDFLAGS} -lcprof"
+    CPROF=1
   fi
   fi
-  saved_CPPFLAGS=$CPPFLAGS
-  CPPFLAGS="$CPPFLAGS -I$x_includes"
-  AC_CHECK_HEADERS(X11/extensions/Xv.h, [
-    saved_CFLAGS=$CFLAGS
-    CFLAGS="$CFLAGS -L$x_libraries -lX11 -lXext"
-    AC_CHECK_LIB(Xv_pic,XvSetPortAttribute,
-      # We have Xv_pic, that's good, we can build an xvideo.so plugin !
-      PLUGINS="${PLUGINS} xvideo"
-      LIB_XVIDEO="${LIB_XVIDEO} -L$x_libraries -lX11 -lXext -lXv_pic"
-      CFLAGS_XVIDEO="${CFLAGS_XVIDEO} -I$x_includes",
-      # We don't have Xv_pic, let's make xvideo.a as builtin
-      BUILTINS="${BUILTINS} xvideo"
-      LIB_XVIDEO="${LIB_XVIDEO} -L$x_libraries -lX11 -lXext -lXv"
-      CFLAGS_XVIDEO="${CFLAGS_XVIDEO} -I$x_includes")
-    CFLAGS=$saved_CFLAGS
-  ]
-  CPPFLAGS=$saved_CPPFLAGS)
-fi
+])
 
 dnl
 
 dnl
-dnl  ALSA module
+dnl  GNU portable threads
 dnl
 dnl
-AC_ARG_ENABLE(alsa,
-  [  --enable-alsa           Alsa sound drivers support (Only for linux)
-                          (default disabled)],
-  [if test x$enable_alsa = xyes
-   then
-     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"
-       LIB_ALSA="${LIB_ALSA} -lasound -lm -ldl"
-     fi
-   fi])
+AC_ARG_ENABLE(pth,
+  [  --enable-pth            GNU Pth support (default disabled)],
+  [ if test "x$enable_pth" = "xyes"; then
+    AC_CHECK_LIB(pth,pth_init)
+    AC_EGREP_HEADER(pth_init,pth.h,[
+      AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
+                Define if <pth.h> defines pth_init)
+    THREAD_LIB="-lpth"
+    fi])
+])
 
 
-dnl  end of non-BeOS stuff
-fi
+dnl
+dnl  State Threads
+dnl
+AC_ARG_ENABLE(st,
+  [  --enable-st             State Threads (default disabled)],
+  [ if test "x$enable_st" = "xyes"; then
+    AC_CHECK_LIB(st,st_init)
+    AC_EGREP_HEADER(st_init,st.h,[
+      AC_DEFINE(ST_INIT_IN_ST_H, 1,
+                Define if <st.h> defines st_init)
+    THREAD_LIB="-lst"
+    fi])
+])
+
+LDFLAGS="${LDFLAGS} ${THREAD_LIB}"
 
 dnl
 dnl  Plug-ins - this must be AT THE END
 dnl
 AC_ARG_ENABLE(plugins,
 
 dnl
 dnl  Plug-ins - this must be AT THE END
 dnl
 AC_ARG_ENABLE(plugins,
-  [  --disable-plugins       Make all plug-ins built-in (default plug-ins enabled)],
+  [  --disable-plugins       make all plug-ins built-in (default plug-ins enabled)],
   [if test x$enable_plugins = xno
    then
      BUILTINS="${BUILTINS} ${PLUGINS}"
      PLUGINS=
    fi])
 
   [if test x$enable_plugins = xno
    then
      BUILTINS="${BUILTINS} ${PLUGINS}"
      PLUGINS=
    fi])
 
-dnl
-dnl  DLLs - used for Win32 package build
-dnl
-DLL_PATH=.
-AC_ARG_WITH(dll-path,
-  [  --with-dll-path=path    Path to Win32 DLLs (default search in \$PWD)],
-  [ if test "x$withval" != "xno"
-    then
-      DLL_PATH=$withval
-    fi ])
+dnl Automagically disable plug-ins if there is no system support for .so files
+dnl don't forget vlc-win32 still can load .so as plugins
+if test x$ac_cv_header_dlfcn_h = xno -a x$ac_cv_header_image_h = xno -a x$SYS != xmingw32
+then
+  echo "*** Your system doesn't have plug-in support. All plug-ins will be compiled"
+  echo "as built-in"
+  BUILTINS="${BUILTINS} ${PLUGINS}"
+  PLUGINS=
+fi
 
 dnl
 dnl  Stuff used by the program
 dnl
 
 dnl
 dnl  Stuff used by the program
 dnl
-AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc $VLC_VERSION $VLC_CODENAME Copyright 1996-2001 VideoLAN\n")
-AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version $VLC_VERSION $VLC_CODENAME - (c) 1996-2002 VideoLAN")
+AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc $VERSION $CODENAME Copyright 1996-2002 VideoLAN", [Simple version string])
+AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version $VERSION $CODENAME - (c) 1996-2002 VideoLAN", [Copyright string])
 
 
-VLC_SYMBOL="`echo ${VLC_VERSION} | tr .- __`"
-AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__MODULE_$VLC_SYMBOL")
-AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $VLC_SYMBOL)
+VLC_SYMBOL="`echo ${VERSION} | tr .- __`"
+AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__MODULE_$VLC_SYMBOL", [String suffix for module functions])
+AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $VLC_SYMBOL, [Symbol suffix for module functions])
 
 DATA_PATH="${ac_tool_prefix}/share/videolan"
 AC_SUBST(DATA_PATH)
 
 DATA_PATH="${ac_tool_prefix}/share/videolan"
 AC_SUBST(DATA_PATH)
@@ -1400,10 +1636,8 @@ AC_SUBST(ARCH)
 AC_SUBST(PLUGINS)
 AC_SUBST(BUILTINS)
 AC_SUBST(ALIASES)
 AC_SUBST(PLUGINS)
 AC_SUBST(BUILTINS)
 AC_SUBST(ALIASES)
-AC_SUBST(INCLUDE)
 AC_SUBST(DEBUG)
 AC_SUBST(ASM)
 AC_SUBST(DEBUG)
 AC_SUBST(ASM)
-AC_SUBST(TRACE)
 AC_SUBST(CPROF)
 AC_SUBST(GPROF)
 AC_SUBST(OPTIMS)
 AC_SUBST(CPROF)
 AC_SUBST(GPROF)
 AC_SUBST(OPTIMS)
@@ -1411,129 +1645,107 @@ AC_SUBST(TUNING)
 AC_SUBST(RELEASE)
 AC_SUBST(MOC)
 AC_SUBST(WINDRES)
 AC_SUBST(RELEASE)
 AC_SUBST(MOC)
 AC_SUBST(WINDRES)
-AC_SUBST(DLL_PATH)
+AC_SUBST(BCBUILDER)
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
-AC_SUBST(VCD_DEVICE)
-AC_SUBST(DVD_DEVICE)
+AC_SUBST(NEED_GETOPT)
 
 
-AC_SUBST(LDFLAGS)
-AC_SUBST(PLDFLAGS)
-AC_SUBST(SOFLAGS)
-
-AC_SUBST(LIB)
-AC_SUBST(LIB_ALSA)
-AC_SUBST(LIB_ARTS)
-AC_SUBST(LIB_BEOS)
-AC_SUBST(LIB_DARWIN)
-AC_SUBST(LIB_DIRECTX)
-AC_SUBST(LIB_DVD)
-AC_SUBST(LIB_DVD_PLUGIN)
-AC_SUBST(LIB_DVDREAD)
-AC_SUBST(LIB_DVDREAD_PLUGIN)
-AC_SUBST(LIB_ESD)
-AC_SUBST(LIB_FILTER_DISTORT)
-AC_SUBST(LIB_GGI)
-AC_SUBST(LIB_GLIDE)
-AC_SUBST(LIB_GNOME)
-AC_SUBST(LIB_GTK)
-AC_SUBST(LIB_IDCTALTIVEC)
-AC_SUBST(LIB_IMDCT)
-AC_SUBST(LIB_IMDCT3DN)
-AC_SUBST(LIB_IMDCTSSE)
-AC_SUBST(LIB_KDE)
-AC_SUBST(LIB_LIBDVDCSS)
-AC_SUBST(LIB_MACOSX)
-AC_SUBST(LIB_MAD)
-AC_SUBST(LIB_MOTIONALTIVEC)
-AC_SUBST(LIB_MPEG_TS)
-AC_SUBST(LIB_NCURSES)
-AC_SUBST(LIB_QNX)
-AC_SUBST(LIB_QT)
-AC_SUBST(LIB_RC)
-AC_SUBST(LIB_SDL)
-AC_SUBST(LIB_WIN32)
-AC_SUBST(LIB_X11)
-AC_SUBST(LIB_XVIDEO)
-
-AC_SUBST(CFLAGS_VLC)
-AC_SUBST(CFLAGS_ARTS)
-AC_SUBST(CFLAGS_DVD)
-AC_SUBST(CFLAGS_DVDREAD)
-AC_SUBST(CFLAGS_ESD)
-AC_SUBST(CFLAGS_GLIDE)
-AC_SUBST(CFLAGS_GNOME)
-AC_SUBST(CFLAGS_GTK)
-AC_SUBST(CFLAGS_KDE)
-AC_SUBST(CFLAGS_IDCTALTIVEC)
-AC_SUBST(CFLAGS_LIBDVDCSS)
-AC_SUBST(CFLAGS_MACOSX)
-AC_SUBST(CFLAGS_MAD)
-AC_SUBST(CFLAGS_MOTIONALTIVEC)
 AC_SUBST(CFLAGS_OPTIM)
 AC_SUBST(CFLAGS_OPTIM_NODEBUG)
 AC_SUBST(CFLAGS_OPTIM)
 AC_SUBST(CFLAGS_OPTIM_NODEBUG)
-AC_SUBST(CFLAGS_QT)
-AC_SUBST(CFLAGS_SDL)
-AC_SUBST(CFLAGS_WIN32)
-AC_SUBST(CFLAGS_X11)
-AC_SUBST(CFLAGS_XVIDEO)
-
-AC_SUBST(SRC_DVD_EXTRA)
-AC_SUBST(SRC_DVDCSS_EXTRA)
-
-AC_SUBST(NEED_GETOPT)
-AC_SUBST(NEED_LIBDVDCSS)
+AC_SUBST(LDFLAGS)
 
 
-AC_OUTPUT([Makefile.opts po/Makefile.in])
+AC_SUBST(vlc_CFLAGS)
+AC_SUBST(plugins_CFLAGS)
+AC_SUBST(builtins_CFLAGS)
+
+AC_SUBST(a52_CFLAGS)
+AC_SUBST(arts_CFLAGS)
+AC_SUBST(dvd_CFLAGS)
+AC_SUBST(dvdread_CFLAGS)
+AC_SUBST(mpeg_ts_dvbpsi_CFLAGS)
+AC_SUBST(directx_CFLAGS)
+AC_SUBST(esd_CFLAGS)
+AC_SUBST(ffmpeg_CFLAGS)
+AC_SUBST(glide_CFLAGS)
+AC_SUBST(gnome_CFLAGS)
+AC_SUBST(gtk_CFLAGS)
+AC_SUBST(kde_CFLAGS)
+AC_SUBST(idctaltivec_CFLAGS)
+AC_SUBST(macosx_CFLAGS)
+AC_SUBST(mad_CFLAGS)
+AC_SUBST(memcpyaltivec_CFLAGS)
+AC_SUBST(motionaltivec_CFLAGS)
+AC_SUBST(qt_CFLAGS)
+AC_SUBST(sdl_CFLAGS)
+AC_SUBST(x11_CFLAGS)
+AC_SUBST(xvideo_CFLAGS)
+
+AC_SUBST(vlc_LDFLAGS)
+AC_SUBST(plugins_LDFLAGS)
+AC_SUBST(builtins_LDFLAGS)
+
+AC_SUBST(a52_LDFLAGS)
+AC_SUBST(aa_LDFLAGS)
+AC_SUBST(alsa_LDFLAGS)
+AC_SUBST(arts_LDFLAGS)
+AC_SUBST(beos_LDFLAGS)
+AC_SUBST(chroma_i420_rgb_LDFLAGS)
+AC_SUBST(directx_LDFLAGS)
+AC_SUBST(dsp_LDFLAGS)
+AC_SUBST(dvd_LDFLAGS)
+AC_SUBST(dvdread_LDFLAGS)
+AC_SUBST(mpeg_ts_dvbpsi_LDFLAGS)
+AC_SUBST(esd_LDFLAGS)
+AC_SUBST(filter_distort_LDFLAGS)
+AC_SUBST(ffmpeg_LDFLAGS)
+AC_SUBST(ggi_LDFLAGS)
+AC_SUBST(glide_LDFLAGS)
+AC_SUBST(gnome_LDFLAGS)
+AC_SUBST(gtk_LDFLAGS)
+AC_SUBST(idctaltivec_LDFLAGS)
+AC_SUBST(imdct_LDFLAGS)
+AC_SUBST(imdct3dn_LDFLAGS)
+AC_SUBST(imdctsse_LDFLAGS)
+AC_SUBST(ipv4_LDFLAGS)
+AC_SUBST(ipv6_LDFLAGS)
+AC_SUBST(kde_LDFLAGS)
+AC_SUBST(lirc_LDFLAGS)
+AC_SUBST(macosx_LDFLAGS)
+AC_SUBST(mad_LDFLAGS)
+AC_SUBST(memcpyaltivec_LDFLAGS)
+AC_SUBST(motionaltivec_LDFLAGS)
+AC_SUBST(ncurses_LDFLAGS)
+AC_SUBST(qnx_LDFLAGS)
+AC_SUBST(qt_LDFLAGS)
+AC_SUBST(rc_LDFLAGS)
+AC_SUBST(sdl_LDFLAGS)
+AC_SUBST(vcd_LDFLAGS)
+AC_SUBST(vorbis_LDFLAGS)
+AC_SUBST(waveout_LDFLAGS)
+AC_SUBST(x11_LDFLAGS)
+AC_SUBST(xvideo_LDFLAGS)
+
+AC_OUTPUT([Makefile.config Makefile.opts po/Makefile.in])
 
 echo "
 
 echo "
-global configuration
+vlc configuration
 --------------------
 --------------------
+vlc version           : ${VERSION}
 system                : ${SYS}
 architecture          : ${ARCH}
 optimizations         : ${OPTIMS}
 system                : ${SYS}
 architecture          : ${ARCH}
 optimizations         : ${OPTIMS}
-tuning:               : ${TUNING}
-release:              : ${RELEASE}"
-
-if test x${HAVE_VLC} = x1
-then
-  echo "
-vlc configuration
------------------
-vlc version           : ${VLC_VERSION}
+tuning                : ${TUNING}
 debug mode            : ${DEBUG}
 debug mode            : ${DEBUG}
-trace mode            : ${TRACE}
+release               : ${RELEASE}
 cprof/gprof support   : ${CPROF}/${GPROF}
 need builtin getopt   : ${NEED_GETOPT}
 built-in modules      :${BUILTINS}
 plug-in modules       :${PLUGINS}
 cprof/gprof support   : ${CPROF}/${GPROF}
 need builtin getopt   : ${NEED_GETOPT}
 built-in modules      :${BUILTINS}
 plug-in modules       :${PLUGINS}
-vlc aliases           :${ALIASES}"
-fi
+vlc aliases           :${ALIASES}
 
 
-echo "
-libdvdcss configuration
------------------------
-can be built          : ${CAN_BUILD_LIBDVDCSS}
-will be built         : ${NEED_LIBDVDCSS}"
-if test x${NEED_LIBDVDCSS} = x1
-then
-  echo "need BSDI libdvd      : ${NEED_BSDI_LIBDVD}"
-  echo "link statically       : ${STATIC_LIBDVDCSS}"
-else
-  echo "use dummy replacement : ${DUMMY_LIBDVDCSS}"
-fi
-
-echo "
 You may now tune Makefile.opts at your convenience, for instance to choose
 which modules get compiled as plugins.
 You may now tune Makefile.opts at your convenience, for instance to choose
 which modules get compiled as plugins.
+
+To build vlc and its plugins, type \`$VLC_MAKE'.
 "
 "
-if test x${HAVE_VLC} = x1
-then
-  echo "To build vlc and its plugins, type \`make vlc plugins'."
-fi
-if test x${HAVE_LIBDVDCSS} = x1
-then
-  echo "To build libdvdcss only, type \`make libdvdcss'."
-fi
-echo ""