]> git.sesse.net Git - vlc/blobdiff - configure.ac
Remove duplicate code. The new Unescape() is already doing this.
[vlc] / configure.ac
index 61d3003f56a981eab07b44e9ecb169ce6eda839e..01b2b5f7bedc0acc942a4f1c2e3eac7e2d3e4ec5 100644 (file)
@@ -1,23 +1,21 @@
 dnl Autoconf settings for vlc
-dnl $Id$
 
-AC_INIT(vlc,0.8.5-svn)
+AC_INIT(vlc,0.9.0-svn)
 VERSION_MAJOR="0"
-VERSION_MINOR="8"
-VERSION_REVISION="5"
+VERSION_MINOR="9"
+VERSION_REVISION="0"
 VERSION_EXTRA="svn"
 
-CONFIGURE_LINE="$0 $*"
-CODENAME="Janus"
+CONFIGURE_LINE="$0 $ac_configure_args"
+CODENAME="Grishenko"
 
-AC_PREREQ(2.50)
+AC_PREREQ(2.59)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
 
-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.8.5-svn)
+AM_INIT_AUTOMAKE([1.7 check-news dist-bzip2])
 AM_CONFIG_HEADER(config.h)
 
 dnl Too many people are not aware of maintainer mode:
@@ -40,47 +38,29 @@ VLC_SAVE_FLAGS
 dnl
 dnl Check for tools
 dnl
-AC_PROG_CC
+AC_PROG_CC_C99
+AC_USE_SYSTEM_EXTENSIONS
 AM_PROG_CC_C_O
-AC_PROG_CPP
 AC_PROG_CXX
-eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
-if test "${CXX}" != ""; then
-  AC_PROG_CXXCPP
-fi
+AC_PROG_CPP
+AC_PROG_OBJC
+_AM_DEPENDENCIES([OBJC])
+AC_PROG_EGREP
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
 AM_PROG_AS
 
-dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
-dnl now otherwise it might be set in an obscure if statement.
-AC_EGREP_CPP(foo,foo)
-
-dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
-AC_MSG_CHECKING(for an Objective-C compiler)
-OBJC="${CXX}"
-AC_SUBST(OBJC)
-OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
-AC_SUBST(OBJCFLAGS)
-dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
-#OBJCDEPMODE="depmode=gcc3"
-#AC_SUBST(OBJCDEPMODE)
-_AM_DEPENDENCIES(OBJC)
-AC_MSG_RESULT(not implemented yet)
-
 dnl Find the right ranlib, even when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 AC_CHECK_TOOL(STRIP, strip, :)
 AC_CHECK_TOOL(AR, ar, :)
 AC_CHECK_TOOL(LD, ld, :)
-
-dnl Sam, if you think I didn't see that... --Meuuh
-dnl AM_PROG_LIBTOOL
-AC_PROG_INSTALL
+AC_CHECK_TOOL(DLLTOOL, dlltool, :)
 
 dnl Check for compiler properties
 AC_C_CONST
 AC_C_INLINE
+AC_C_RESTRICT
 
 dnl
 dnl  Check for the contrib directory
@@ -88,13 +68,22 @@ dnl
 AC_ARG_WITH(contrib,
     [  --without-contrib       do not use the libraries in extras/contrib],[],[])
   if test "${with_contrib}" != "no"; then 
-
+    AC_MSG_CHECKING([for libs in extras/contrib])
     topdir="`dirname $0`"
     if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
        topdir="`pwd`/$topdir"
     fi
-
+   if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
+      if test "${with_contrib}" = "yes"; then
+        AC_MSG_RESULT([no])
+       AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
+      else
+        AC_MSG_RESULT([no])
+       AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
+      fi
+     else
   if test -d ${topdir}/extras/contrib/lib; then
+    AC_MSG_RESULT([yes])
     export PATH=${topdir}/extras/contrib/bin:$PATH
     CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
     CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
@@ -104,15 +93,11 @@ AC_ARG_WITH(contrib,
     CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
     OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
     OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
-    if test $build = $host -o $PKG_CONFIG_LIBDIR; then
+    if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
        export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
     else
        export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
     fi
-    if test -d ${topdir}/extras/contrib/vlc-lib; then
-      LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
-      LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
-    fi
     LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
     LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
 
@@ -120,12 +105,21 @@ dnl kludge because only the debian package provides a ffmpeg-config
     if test -z $with_ffmpeg_config_path; then 
        with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
     fi
-    if test -z $with_livedotcom_tree; then
-       with_livedotcom_tree=${topdir}/extras/contrib/src/live
+    if test -z $with_live555_tree; then
+       with_live555_tree=${topdir}/extras/contrib/src/live
     fi
     if test -z $with_goom_tree; then
       with_goom_tree=${topdir}/extras/contrib/src/goom
     fi
+    if test -z $with_mozilla_sdk_path; then
+       with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
+    fi
+    if test -z $with_cyberlink_tree; then
+       with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
+    fi
+    if test -z $with_libmpeg2_tree; then
+       with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
+    fi
 
     if test ".`uname -s`" = ".Darwin"; then
       export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
@@ -134,6 +128,9 @@ dnl kludge because only the debian package provides a ffmpeg-config
       export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
       export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
     fi
+  else
+     AC_MSG_RESULT([no])
+  fi
   fi
 fi
 dnl
@@ -144,7 +141,7 @@ LDFLAGS_vlc="${LDFLAGS}"
 dnl
 dnl  Check the operating system
 dnl
-case "${target_os}" in
+case "${host_os}" in
   "")
     SYS=unknown
     ;;
@@ -157,34 +154,42 @@ case "${target_os}" in
     VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
     ;;
   *bsd*)
-    SYS="${target_os}"
+    SYS="${host_os}"
     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
+    case "${host_os}" in
+      freebsd*)
+        CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
+        CPPFLAGS="${CPPFLAGS_save}"
+        LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
+        LDFLAGS="${LDFLAGS_save}"
+        ;;
+    esac
     ;;
   darwin1.[0123])
     dnl Mac OS X < 10.3
     SYS=darwin
     CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
-    VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
-    VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
-    VLC_ADD_CFLAGS([libvlc],[-x objective-c])
-    VLC_ADD_CFLAGS([vlc],[-x objective-c])
-    VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
+    OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
+    VLC_ADD_LDFLAGS([libvlc ffmpeg ffmpegaltivec],[-all_load])
+    VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation])
+    VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
+    VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
     ;;
   darwin*)
     SYS=darwin
     CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
+    OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
     VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
-    VLC_ADD_CFLAGS([libvlc],[-x objective-c])
-    VLC_ADD_CFLAGS([vlc],[-x objective-c])
+    VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation])
+    VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
     ;;
   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
     AC_CHECK_TOOL(WINDRES, windres, :)
+    enable_libtool="no"
 
-    case "${target_os}" in
+    case "${host_os}" in
       *mingw32*)
         SYS=mingw32
         ;;
@@ -205,16 +210,16 @@ case "${target_os}" in
     if test "${SYS}" = "mingw32"; then
         # add ws2_32 for closesocket, select, recv
         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
-        VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
+        VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
         VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm])
-        VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync],[-lws2_32])
+        VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync growl],[-lws2_32])
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
-        VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
-        VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
-        VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
+        VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
+        VLC_ADD_LDFLAGS([libvlc vlc],[-lws2 -e WinMainCRTStartup])
+        VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
    fi
     ;;
   *nto*)
@@ -235,14 +240,16 @@ case "${target_os}" in
     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
     VLC_ADD_CXXFLAGS([beos],[])
-    VLC_ADD_LDFLAGS([vlc beos logger],[-lbe])
-    VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
-
+    VLC_ADD_LDFLAGS([vlc libvlc logger],[-lbe])
+    VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
+    VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
+    VLC_ADD_LDFLAGS([access_file],[-lpoll])
+    LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
     dnl Check for BONE
     if test -f /boot/beos/system/lib/libbind.so; then
-        VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lbind -lsocket])
+        VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
     else
-        VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
+        VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
     fi
 
     dnl Ugly check for Zeta
@@ -251,7 +258,7 @@ case "${target_os}" in
     fi
     ;;
   *)
-    SYS="${target_os}"
+    SYS="${host_os}"
     ;;
 esac
 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
@@ -259,6 +266,23 @@ AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
 
+dnl
+dnl  Libtool
+dnl  It's very bad, but our former custom system was worst
+dnl  -- Courmisch
+dnl
+AC_DISABLE_STATIC
+AC_LIBTOOL_DLOPEN
+dnl AC_LIBTOOL_WIN32_DLL - couldn't get libtool to work on Win32 so far
+m4_undefine([AC_PROG_F77])
+m4_defun([AC_PROG_F77],[])
+AC_PROG_LIBTOOL
+
+AC_ARG_ENABLE(libtool,
+    [  --enable-libtool        use libtool (default disabled)])
+AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"])
+
+
 dnl
 dnl  Check for Mac OS X SDK settings
 dnl
@@ -276,22 +300,26 @@ fi
 dnl
 dnl Gettext stuff
 dnl
-ALL_LINGUAS="ca da de en_GB es fr it ja ka ko nl oc pt_BR ro ru sv tr zh_CN zh_TW"
+ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fr fur gl he hi hu it ja ka ko lt lv ms my nb ne nl nn no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW"
 AM_GNU_GETTEXT_VERSION(0.11.5)
 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_builddir)/intl"
-else
-  AC_CHECK_FUNCS(textdomain,,[
-    AC_CHECK_LIB(intl,textdomain,
-      VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
-      ${LIBINTL}
-    )
+AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
+  AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
+  AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
+  AS_IF([test "${enable_libtool}" != "no"], [
+    INCLUDED_LIBINTL="${LTLIBINTL}"
+  ],[
+    INCLUDED_LIBINTL="${LIBINTL}"
   ])
-fi
-AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
-XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
+], [
+  AS_IF([test "${enable_libtool}" != "no"], [
+    VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}])
+  ], [
+    VLC_ADD_LDFLAGS([libvlc vlc], [${LIBINTL}])
+  ])
+])
+AC_SUBST(INCLUDED_LIBINTL)
+XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" 
 
 dnl
 dnl Iconv stuff
@@ -300,15 +328,19 @@ if test "${SYS}" != "mingwce"; then
 AS_IF([test "$am_cv_func_iconv" != "yes"],
        [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
 fi
-VLC_ADD_CFLAGS([vlc],[${INCICONV}])
-VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
+VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
+AS_IF([test "${enable_libtool}" != "no"], [
+  VLC_ADD_LDFLAGS([libvlc vlc],[${LIBICONV}])
+],[
+  VLC_ADD_LDFLAGS([libvlc vlc],[${LTLIBICONV}])
+])
 
 dnl Check for the need to include the mingwex lib for mingw32
 if test "${SYS}" = "mingw32"
 then
     AC_CHECK_LIB(mingwex,opendir,
-        AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
-            [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
+        AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([libvlc],[]),
+            [VLC_ADD_LDFLAGS([libvlc gtk],[-lmingwex])])
     )
 fi
 
@@ -360,6 +392,7 @@ VLC_LIBRARY_SUFFIX
 VLC_SYMBOL_PREFIX
 AC_SUBST(SYMPREF)
 
+AS_IF([test "${enable_libtool}" = "no"], [
 case "${SYS}" in
   mingw32|cygwin)
     VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
@@ -375,6 +408,7 @@ case "${SYS}" in
     VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
     ;;
 esac
+])
 
 dnl The -DSYS_FOO flag
 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
@@ -382,7 +416,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd
 dnl Check for system libs needed
 need_libc=false
 
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat assert)
+AC_CHECK_FUNCS(gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy)
 
 dnl Check for usual libc functions
 AC_CHECK_FUNCS(strdup strndup atof)
@@ -408,22 +442,23 @@ fi
 
 AC_CHECK_FUNCS(connect,,[
   AC_CHECK_LIB(socket,connect,[
-    VLC_ADD_LDFLAGS([vlc ipv4 cdda cddax],-lsocket)
+    VLC_ADD_LDFLAGS([libvlc cdda cddax],-lsocket)
+    LIBS_socket="-lsocket"
   ])
 ])
 
 AC_CHECK_FUNCS(send,,[
   AC_CHECK_LIB(socket,send,[
-    VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard],[-lsocket])
+    VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
   ])
 ])
 
 AC_CHECK_FUNCS(gethostbyname,,[
   AC_CHECK_LIB(nsl,gethostbyname,[
-    VLC_ADD_LDFLAGS([cdda cddax ipv4 vlc],[-lnsl])
+    VLC_ADD_LDFLAGS([cdda cddax libvlc],[-lnsl])
   ],[
     AC_CHECK_LIB(bind,gethostbyname,[
-      VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
+      VLC_ADD_LDFLAGS([access_mms],[-lbind])
     ])
   ])
 ])
@@ -455,16 +490,25 @@ AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
      #endif], [struct sockaddr_storage addr;],
      ac_cv_struct_sockaddr_storage=yes,
      ac_cv_struct_sockaddr_storage=no)])
-if test $ac_cv_struct_sockaddr_storage = no; then
+AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
   AC_DEFINE(sockaddr_storage, sockaddr)
   AC_DEFINE(ss_family, sa_family)
-fi
+])
 
 dnl getaddrinfo, getnameinfo and gai_strerror check
-dnl  -lresolv is NOT needed on Solaris
+dnl  -lnsl and -lsocket are needed on Solaris;
 dnl  we purposedly make the test fail on Windows
-AC_CHECK_FUNCS([getaddrinfo getnameinfo gai_strerror])
-AH_TEMPLATE(HAVE_ADDRINFO, [Define to `1' if <netdb.h> defines struct addrinfo.])
+LIBS_save="${LIBS}"
+AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
+AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
+
+dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
+dnl are
+LIBS="${LIBS_gai}"
+AC_CHECK_FUNCS([getnameinfo gai_strerror])
+LIBS="${LIBS_save}"
+
+AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
 [#include <sys/types.h>
 #if defined( WIN32 ) || defined( UNDER_CE )
@@ -499,7 +543,7 @@ fi
 
 AC_CHECK_FUNCS(inet_aton,,[
   AC_CHECK_LIB(resolv,inet_aton,[
-    VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
+    VLC_ADD_LDFLAGS([libvlc],[-lresolv])
   ])
 ])
 
@@ -512,7 +556,7 @@ AC_CHECK_FUNCS(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)
-     VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
+     VLC_ADD_LDFLAGS([libvlc],[-lgnugetopt])],
     [need_getopt=:])])
 fi
 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
@@ -520,13 +564,16 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
-  VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
+  VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype mpc],[-lm])
+  VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
-  VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
+  VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres],[-lm])
+])
+AC_CHECK_LIB(m,ceil,[
+  VLC_ADD_LDFLAGS([mosaic],[-lm])
 ])
 AC_CHECK_LIB(mx,sqrtf,[
   VLC_ADD_LDFLAGS([x264],[-lmx])
@@ -550,7 +597,7 @@ if test "${ac_cv_have_plugins}" = "no"; then
    [ac_cv_my_have_shl_load=yes,
     AC_CHECK_LIB(dld, shl_load,
      [ac_cv_my_have_shl_load=yes
-      VLC_ADD_LDFLAGS([vlc],[-ldld])])])
+      VLC_ADD_LDFLAGS([libvlc],[-ldld])])])
   if test "${ac_cv_my_have_shl_load}" = "yes"; then
     AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
     ac_cv_have_plugins=yes
@@ -560,7 +607,7 @@ fi
 # Whatever style
 if test "${ac_cv_have_plugins}" = "no"; then
   AC_CHECK_LIB(dld, dld_link,
-   [VLC_ADD_LDFLAGS([vlc],[-ldld])
+   [VLC_ADD_LDFLAGS([libvlc],[-ldld])
     AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
     ac_cv_have_plugins=yes])
 fi
@@ -569,7 +616,7 @@ fi
 if test "${ac_cv_have_plugins}" = "no"; then
   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
     AC_CHECK_LIB(kernel32, main,
-     [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
+     [VLC_ADD_LDFLAGS([libvlc],[-lkernel32])
       AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
       ac_cv_have_plugins=yes])
   fi
@@ -599,10 +646,10 @@ if test "${ac_cv_have_plugins}" = "no"; then
     ac_cv_my_have_dlopen=yes,
     AC_CHECK_LIB(dl, dlopen,
       ac_cv_my_have_dlopen=yes
-      VLC_ADD_LDFLAGS([vlc],[-ldl]),
+      VLC_ADD_LDFLAGS([libvlc],[-ldl]),
       AC_CHECK_LIB(svld, dlopen,
         ac_cv_my_have_dlopen=yes
-        VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
+        VLC_ADD_LDFLAGS([libvlc],[-lsvld]))))
   if test "${ac_cv_my_have_dlopen}" = "yes"; then
     AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
     ac_cv_have_plugins=yes
@@ -667,19 +714,24 @@ AC_ARG_ENABLE(st,
     fi
 ])
 
-VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
+VLC_ADD_LDFLAGS([libvlc plugin],[${THREAD_LIB}])
 
 dnl Don't link with rt when using GNU-pth
 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
-  dnl HP/UX port
-  AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
+  AC_CHECK_LIB(rt, clock_nanosleep, [
+    VLC_ADD_LDFLAGS([libvlc],[-lrt])
+    AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
+  ], [
+    dnl HP/UX port
+    AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([libvlc],[-lrt])])
+  ])
 
   have_nanosleep=false
   AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
     AC_CHECK_LIB(rt,nanosleep,
-      [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
+      [VLC_ADD_LDFLAGS([libvlc],[-lrt]) have_nanosleep=:],
       [AC_CHECK_LIB(posix4,nanosleep,
-          [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
+          [VLC_ADD_LDFLAGS([libvlc],[-lposix4]) have_nanosleep=:])]
     )
   ])
   if ${have_nanosleep}; then
@@ -723,6 +775,9 @@ fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 AC_HEADER_TIME
 
+AC_CHECK_TYPE(ssize_t, int)
+AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
+
 dnl Check for dirent
 need_dirent=false
 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
@@ -766,25 +821,93 @@ dnl Check for hal
 AC_ARG_ENABLE(hal,
   [  --enable-hal            Linux HAL services discovery (default enabled)])
  
-if test "${enable_hal}" != "no" -a "${SYS}" = "linux"
+if test "${enable_hal}" != "no"
 then
   PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
     [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
       AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
-      VLC_ADD_PLUGINS([hal]) 
-      VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
-      VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],   
+      VLC_ADD_PLUGINS([hal probe_hal]) 
+      VLC_ADD_LDFLAGS([libvlc hal probe_hal],[$HAL_LIBS])
+      VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],   
     dnl No hal 0.5 Test for 0.2
     [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97, 
        [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
         VLC_ADD_PLUGINS([hal])
-        VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
-        VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
+        VLC_ADD_LDFLAGS([libvlc hal],[$HAL_LIBS])
+        VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
        [AC_MSG_WARN(HAL library not found)])
     ]
   )
 fi
 
+dnl Check for dbus
+AC_ARG_ENABLE(dbus,
+  [  --enable-dbus           Linux D-BUS message bus system (default enabled)])
+if test "${enable_dbus}" != "no"
+then
+  dnl api stable dbus
+  PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
+    [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
+      AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
+      AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
+      AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
+      VLC_ADD_LDFLAGS([screensaver libvlc],[$DBUS_LIBS])
+      VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
+      dnl Check for dbus control interface
+        AC_ARG_ENABLE(dbus-control, [  --enable-dbus-control   D-BUS control interface (default disabled)])
+        if test "${enable_dbus_control}" = "yes"
+        then
+          VLC_ADD_PLUGINS([dbus])
+          VLC_ADD_LDFLAGS([dbus],[$DBUS_LIBS])
+          VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
+        fi],
+
+    if ${PKG_CONFIG} --exists dbus-1
+    then
+      [AC_ARG_ENABLE(old-dbus,
+        [  --enable-old-dbus      Deprecated D-Bus support (default disabled)])]
+
+      if test "${enable_old_dbus}" != "yes"
+      then
+        echo ""
+        echo "****** WARNING **** WARNING ***** WARNING *************"
+        echo "*** Your D-Bus version is < 1.0.0"
+        echo "*** You are using old and buggy software and so"
+        echo "*** D-Bus support has been disabled."
+        echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
+        echo "*** Alternatively you can force the use of your old and"
+        echo "*** buggy D-Bus version by specifying --enable-old-dbus"
+        echo "*******************************************************"
+        echo ""
+      else
+        dnl not too old dbus
+        [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
+          [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
+            AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
+            AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
+            VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
+            VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
+          dnl older dbus
+          [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
+            [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
+              AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
+              VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
+              VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
+            dnl much older dbus
+            [ PKG_CHECK_MODULES( DBUS, dbus-1, 
+               [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
+                VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
+                VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
+               [AC_MSG_WARN(DBUS library not found)])
+            ]
+          )]
+        )]
+      fi
+    fi
+  )
+fi
+
 dnl Build the gtk_main plugins?
 NEED_GTK_MAIN=no
 NEED_GNOME_MAIN=no
@@ -799,76 +922,28 @@ AC_CACHE_CHECK([for ntohl in sys/param.h],
     [ac_cv_c_ntohl_sys_param_h],
     [CFLAGS="${CFLAGS_save} -Wall -Werror"
      AC_TRY_COMPILE([#include <sys/param.h>],
-        [void foo() { int meuh; ntohl(meuh); }],
+        [int meuh; ntohl(meuh);],
         ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
     AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
 fi
+CFLAGS="${CFLAGS_save}"
 
-# XXX: do this with an M4 macro?
-#dnl Check for various -W flags
-#for flag in "" all unreachable-code conversion sign-compare disabled-optimization
-#do
-#    AC_CACHE_CHECK([if \$CC accepts -W${flag}],
-#        [ac_cv_c_W${flag}],
-#        [CFLAGS="-W${flag} ${CFLAGS_save}"
-#         AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
-#    if test "${ac_cv_c_W${flag}}" != "no"; then
-#        CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-#        CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-#        OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-#    fi
-#done
-
-AC_CACHE_CHECK([if \$CC accepts -Wall],
-    [ac_cv_c_Wall],
-    [CFLAGS="-Wall ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
-
-AC_CACHE_CHECK([if \$CC accepts -Wconversion],
-    [ac_cv_c_Wconversion],
-    [CFLAGS="-Wconversion ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
-
-AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
-    [ac_cv_c_Wunreachable_code],
-    [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
-
-AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
-    [ac_cv_c_Wsign_compare],
-    [CFLAGS="-Wsign-compare ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
-
-if test "${ac_cv_c_Wall}" != "no"; then
-    CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
-
-if test "${ac_cv_c_Wsign_compare}" != "no"; then
-    CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
-
-dnl Check for -pipe
-AC_CACHE_CHECK([if \$CC accepts -pipe],
-    [ac_cv_c_pipe],
-    [CFLAGS="${CFLAGS_save} -pipe"
-     AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
-if test "${ac_cv_c_pipe}" != "no"; then
-    CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
+RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings old-style-definition missing-prototypes volatile-register-var])
+RDC_PROG_CC_FLAGS_IFELSE([-pipe])
+
+dnl This helps detect broken plugins with undefined symbols
+dnl Better fail loudly at build-time than silenty at run-time.
+RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
+  VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
+])
 
 dnl Check for various optimization flags
 AC_CACHE_CHECK([if \$CC accepts -Os],
     [ac_cv_c_os],
     [CFLAGS="${CFLAGS_save} -Os"
      AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
-if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
+if test "${ac_cv_c_os}" != "no" -a "${host_cpu}" = "mipsel"; then
     CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
 fi
 
@@ -876,7 +951,7 @@ AC_CACHE_CHECK([if \$CC accepts -O3],
     [ac_cv_c_o3],
     [CFLAGS="${CFLAGS_save} -O3"
      AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
-if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
+if test "${ac_cv_c_o3}" != "no" -a "${host_cpu}" != "mipsel"; then
     CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
 fi
 
@@ -884,7 +959,7 @@ AC_CACHE_CHECK([if \$CC accepts -O2],
     [ac_cv_c_o2],
     [CFLAGS="${CFLAGS_save} -O2"
      AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
-if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
+if test "${ac_cv_c_o2}" != "no" -a "${host_cpu}" != "mipsel"; then
     if test "${ac_cv_c_o3}" = "no"; then
         CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
     fi
@@ -894,7 +969,7 @@ else
         [ac_cv_c_o],
         [CFLAGS="${CFLAGS_save} -O"
          AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
-    if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
+    if test "${ac_cv_c_o}" != "no" -a "${host_cpu}" != "mipsel"; then
         if test "${ac_cv_c_o3}" = "no"; then
             CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
        fi
@@ -940,10 +1015,10 @@ 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 "${ac_cv_c_dynamic_no_pic}" != "no"; then
+AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [
     VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
     VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
-fi
+])
 
 dnl Check for Darwin plugin linking flags
 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
@@ -956,17 +1031,19 @@ fi
 
 dnl Check for standard plugin linking flags
 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
-if test "${SYS}" = "beos"; then
-  VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
-else
-  AC_CACHE_CHECK([if \$CC accepts -shared],
-      [ac_cv_ld_plugins],
-      [CFLAGS="${CFLAGS_save} -shared"
-       AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
-  if test "${ac_cv_ld_plugins}" != "no"; then
-    VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
-  fi
-fi
+AS_IF([test "${enable_libtool}" = "no"], [
+  AS_IF([test "${SYS}" = "beos"], [
+    VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
+  ], [
+    AC_CACHE_CHECK([if \$CC accepts -shared],
+          [ac_cv_ld_plugins],
+          [CFLAGS="${CFLAGS_save} -shared"
+         AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
+    AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
+      VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
+    ])
+  ])
+])
 
 dnl Check for variadic macros
 AC_CACHE_CHECK([for variadic cpp macros],
@@ -1024,12 +1101,12 @@ fi
 dnl
 dnl  Check the CPU
 dnl
-case "${target_cpu}" in
+case "${host_cpu}" in
   "")
     ARCH=unknown
     ;;
   *)
-    ARCH="${target_cpu}"
+    ARCH="${host_cpu}"
     ;;
 esac
 
@@ -1047,30 +1124,30 @@ dnl
 dnl  default modules
 dnl
 VLC_ADD_PLUGINS([dummy logger memcpy])
-VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac])
-VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec])
-VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32])
-VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32])
+VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flacsys tta])
+VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
+VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise])
+VLC_ADD_PLUGINS([converter_fixed mono])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
-VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag])
-VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify])
+VLC_ADD_PLUGINS([playlist export sgimb nsc xtag])
+VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorthres])
 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
-VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
+VLC_ADD_PLUGINS([access_http access_mms access_ftp])
 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
 
+
 if test "${SYS}" != "mingwce"; then
-dnl  VLC_ADD_PLUGINS([externrun])
-  VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
-  VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake])
+  VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
+  VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder])
   VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
   VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
   VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
   VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
-  VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer])
-  VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
+  VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
+  VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
 fi
 
 dnl
@@ -1087,7 +1164,7 @@ dnl
 dnl Some plugins aren't useful on some platforms
 dnl
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-    VLC_ADD_PLUGINS([screensaver])
+    VLC_ADD_PLUGINS([screensaver motion])
 elif test "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
     VLC_ADD_LDFLAGS([dmo],[-lole32])
@@ -1172,7 +1249,7 @@ AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
     [CFLAGS="${CFLAGS_save}"
      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
-if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
+if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
 fi
@@ -1195,7 +1272,7 @@ if test "${ac_cv_altivec_inline}" != "no"; then
     VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
     VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
     VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
-    VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
+    VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
   fi
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
 fi
@@ -1214,12 +1291,12 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
   [ac_cv_c_altivec],
   [# OS X/PPC test (gcc 4.x)
    CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
-   AC_TRY_COMPILE([],
+   AC_TRY_COMPILE([vector unsigned char foo;],
      [vec_ld(0, (unsigned char *)0);],
      [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
      [# OS X/PPC test (gcc 3.x)
       CFLAGS="${CFLAGS_save} -faltivec"
-      AC_TRY_COMPILE([],
+      AC_TRY_COMPILE([vector unsigned char foo;],
         [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
         [ac_cv_c_altivec="-faltivec"],
         dnl Below this are the Linux tests
@@ -1255,10 +1332,12 @@ CPPFLAGS="${CPPFLAGS_save}"
 
 if test "${ac_cv_c_altivec}" != "no"; then
   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
-  VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
+  VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
   VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
   VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
-  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
+  if test "${ac_cv_altivec_inline}" = "no"; then
+    ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
+  fi
 fi
 
 AC_CACHE_CHECK([if linker needs -framework vecLib],
@@ -1268,7 +1347,7 @@ AC_CACHE_CHECK([if linker needs -framework vecLib],
      LDFLAGS="${LDFLAGS_save}"
     ])
 if test "${ac_cv_ld_altivec}" != "no"; then
-  VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
+  VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
 fi
 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
@@ -1280,18 +1359,20 @@ dnl  Special arch tuning
 dnl
 AC_ARG_WITH(tuning,
 [  --with-tuning=ARCH      enable special tuning for an architecture
-                          (default Pentium 2 on IA-32 and 750 on PPC)])
+                          (default Pentium 2 on IA-32 and G4 on PPC)])
 if test -n "${with_tuning}"; then
     if test "${with_tuning}" != "no"; then
         CFLAGS_TUNING="-mtune=${with_tuning}"
     fi
 else
-    if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
+    if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
+        CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
+    elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
         CFLAGS_TUNING="-mtune=pentium2"
-    elif test "${target_cpu}" = "x86_64"; then
+    elif test "${host_cpu}" = "x86_64"; then
         CFLAGS_TUNING="-mtune=athlon64"
-    elif test "${target_cpu}" = "powerpc"; then
-        CFLAGS_TUNING="-mtune=750";
+    elif test "${host_cpu}" = "powerpc"; then
+        CFLAGS_TUNING="-mtune=G4";
     fi
 fi
 
@@ -1314,7 +1395,7 @@ AS_IF([test "${CFLAGS_TUNING}"],
 dnl
 dnl  x86 accelerations
 dnl
-if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
+if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "x86_64"
 then
     ARCH="${ARCH} mmx"
     VLC_ADD_BUILTINS([${ACCEL_MODULES}])
@@ -1343,7 +1424,7 @@ AC_ARG_ENABLE(altivec,
 [  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
-[ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
+[ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
 
 dnl
@@ -1354,7 +1435,7 @@ AC_ARG_ENABLE(debug,
 test "${enable_debug}" != "yes" && enable_debug="no"
 AH_TEMPLATE(NDEBUG,
             [Define to 1 if debug code should NOT be compiled])
-AS_IF([test "x${enable_debug}" == "xno"], [AC_DEFINE(NDEBUG)])
+AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
 
 dnl
 dnl  Enable release-specific flags
@@ -1366,11 +1447,11 @@ test "${enable_release}" != "yes" && enable_release="no"
 dnl
 dnl  Is the shared libvlc forced ?
 dnl
-build_pic=no
 AC_ARG_ENABLE(shared-libvlc,
-  [  --enable-shared-libvlc  shared libvlc (default disabled EXPERIMENTAL)],
-  ,[shared_libvlc=no])
-
+  [  --enable-shared-libvlc  Win32 libvlc.dll build (default disabled)])
+AS_IF([test "${enable_libtool}" != "no" && test "${enable_shared_libvlc}"], [
+  AC_MSG_ERROR([--enable-shared-libvlc and --enable-libtool are mutually exclusive])
+])
 
 dnl
 dnl Stream output
@@ -1384,12 +1465,17 @@ then
   VLC_ADD_PLUGINS([packetizer_copy])
 
   VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
-  VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
+  VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
 #  VLC_ADD_PLUGINS([stream_out_transrate])
+#  VLC_ADD_PLUGINS([rtcp])
+  VLC_ADD_PLUGINS([profile_parser])
 
   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
 fi
 
+AC_ARG_ENABLE(switcher,
+  [  --enable-switcher       Stream-out switcher plugin (default disabled)])    
+
 dnl Check for libshout
 AC_ARG_ENABLE(shout,
   [  --enable-shout          libshout output plugin (default disabled)])
@@ -1397,8 +1483,8 @@ if test "${enable_shout}" = "yes"; then
   PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
     [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
      VLC_ADD_PLUGINS([access_output_shout])
-     VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
-     VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
+     VLC_ADD_LDFLAGS([access_output_shout],[$SHOUT_LIBS])
+     VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
     [AC_MSG_WARN(libshout library not found)])
 fi
 
@@ -1424,36 +1510,69 @@ then
 fi
 
 dnl
-dnl TLS/SSL
+dnl Growl notification plugin
 dnl
-AC_ARG_ENABLE(gnutls,
-  [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
-AS_IF([test "${enable_gnutls}" != "no"], [
+AC_ARG_ENABLE(growl,
+  [  --enable-growl          growl notification plugin (default enabled)])
+AS_IF([test "${enable_growl}" != "no"], [
+    VLC_ADD_PLUGINS([growl])
+  ]
+)
 
-  gcrypt_LIBS="-lgpg-error"
-  AS_IF([test "${SYS}" = "mingw32"],
-    [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
-     VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
-  )
+dnl
+dnl Libnotify notification plugin
+dnl
+
+AC_ARG_ENABLE(notify,
+  [  --enable-notify         libnotify notification plugin (default enabled)])
+AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
+    PKG_CHECK_MODULES(NOTIFY, libnotify,
+      [
+        VLC_ADD_PLUGINS([notify])
+        VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
+       VLC_ADD_LDFLAGS(notify, [$NOTIFY_LIBS])
+      ],[
+       AS_IF([test "${enable_notify}" = "yes"],[
+              AC_MSG_WARN( libnotify not found) ])
+      ])
+  ])
 
-  gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
+dnl
+dnl Audioscrobbler plugin
+dnl
 
-  AC_CHECK_HEADER(gcrypt.h,
-    [AC_CHECK_LIB(gcrypt, gcry_control,
-      [AC_CHECK_HEADER(gnutls/gnutls.h,
-        [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
-         [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
-     ${gcrypt_LIBS})])
+AC_ARG_ENABLE(audioscrobbler,
+  [  --disable-audioscrobbler Last.fm submission plugin (default enabled)])
+AS_IF([test "${enable_audioscrobbler}" != "no"], [
+        VLC_ADD_PLUGINS([audioscrobbler])
+  ])
 
-  AS_IF([test "${have_gnutls}" = "yes"], [
-    VLC_ADD_PLUGINS([gnutls])
-    VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
-  ], [
-    AS_IF([test "${enable_gnutls}" = "yes"], [
-      AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
-    )]
-  )]
-)
+dnl
+dnl Musicbrainz plugin
+dnl
+AC_ARG_ENABLE(musicbrainz,
+  [  --enable-musicbrainz    MusicBrainz support (default disabled) ])
+  AS_IF([test "${enable_musicbrainz}" = "yes"],[
+      PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
+       [ VLC_ADD_PLUGINS([musicbrainz])
+         VLC_ADD_LDFLAGS([musicbrainz],[$MUSICBRAINZ_LIBS]) 
+         VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS])  ],
+       [AC_MSG_WARN(MusicBrainz library not found)])
+   ])
+
+
+dnl
+dnl Taglibplugin
+dnl
+AC_ARG_ENABLE(taglib,
+  [  --enable-taglib Taglib support (default disabled) ])
+  AS_IF([test "${enable_taglib}" = "yes"],[
+    PKG_CHECK_MODULES(TAGLIB, taglib,
+      [ VLC_ADD_PLUGINS([taglib])
+        VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS])
+       VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
+      [AC_MSG_WARN(TagLib library not found)])
+  ])
 
 
 dnl
@@ -1462,77 +1581,131 @@ dnl
 
 AC_ARG_WITH(,[Input plugins:])
 
-dnl  live.com input
+dnl  live555 input
 dnl
-AC_ARG_ENABLE(livedotcom,
-[  --enable-livedotcom     live.com RTSP input plugin (default disabled)])
-if test "${enable_livedotcom}" = "yes"; then
-  AC_ARG_WITH(livedotcom-tree,
-    [    --with-livedotcom-tree=PATH live.com tree for static linking])
+if test "${enable_livedotcom}" 
+then
+  AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
+fi
+
+if test "${enable_livedotcom}" = "no"
+then
+  enable_live555="no"
+fi
+AC_ARG_ENABLE(live555,
+[  --enable-live555        live555 RTSP input plugin (default enabled)])
+if test "${enable_live555}" != "no"; then
+  AC_ARG_WITH(live555-tree,
+    [    --with-live555-tree=PATH live.com tree for static linking])
 
   dnl
-  dnl test for --with-livedotcom-tree
+  dnl test for --with-live555-tree
   dnl
-  if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
+  if test "${with_livedotcom_tree}" 
+  then
+    AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
+  with_live555_tree="${with_livedotcom_tree}"
+  fi
+  
+  if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
     AC_LANG_PUSH(C++)
     CPPFLAGS_save="${CPPFLAGS}"
-    CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
-    CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
+    CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
+    if test "${SYS}" = "solaris"; then
+      CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
+    fi
+    CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
     AC_CHECK_HEADERS(liveMedia.hh, [
-      VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
+      VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
       AC_CHECK_LIB(liveMedia_pic, main, [
         # We have -lliveMedia_pic, build plugins
-        VLC_ADD_PLUGINS([livedotcom])
-        VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
+        VLC_ADD_PLUGINS([live555])
+        VLC_ADD_LDFLAGS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
       ], [
         AC_CHECK_LIB(liveMedia, main, [
           # We only have -lliveMedia, do builtins
-          VLC_ADD_BUILTINS([livedotcom])
-          VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
+          VLC_ADD_BUILTINS([live555])
+          VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
         ])
       ])
       if test "${SYS}" = "mingw32"; then
         # add ws2_32 for closesocket, select, recv
-        VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
+        VLC_ADD_LDFLAGS([live555],[-lws2_32])
       fi
     ])
     CPPFLAGS="${CPPFLAGS_save}"
     AC_LANG_POP(C++)
   else
-    AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
-    real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
-    if test -z "${real_livedotcom_tree}"; then
+    AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
+    real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
+    if test -z "${real_live555_tree}"; then
       dnl  The given directory can't be found
       AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
+      AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
     fi
-    if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
-      AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
+    if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
+      AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
 
-      VLC_ADD_BUILTINS([livedotcom])
+      VLC_ADD_BUILTINS([live555])
 
       if test "${SYS}" = "mingw32"; then
         # add ws2_32 for closesocket, select, recv
-        VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
+        VLC_ADD_LDFLAGS([live555],[-lws2_32])
       fi
 
-      VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
-      VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
-      VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
-      VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
-
-      VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
-      VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
-      VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
-      VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
+      VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
+      VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
+      VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
+      VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
+
+      VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
+      VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
+      VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
+      VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
+      if test "${SYS}" = "solaris"; then
+        VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
+      fi
     else
-      dnl  The given live.com wasn't built
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
+      dnl  The given live555 wasn't built
+        AC_MSG_RESULT(no)
+      if test "${enable_live555}" = "yes"; then
+        AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
+      fi       
     fi
   fi
 fi
 
+dnl
+dnl  special access module for dc1394 input
+dnl
+AC_ARG_ENABLE(dc1394,
+  [  --enable-dc1394       dc1394 access module (default disabled)])
+if test "${enable_dc1394}" = "yes"
+then
+  AC_CHECK_HEADERS(libraw1394/raw1394.h, [
+    AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
+        AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
+dnl         AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
+              VLC_ADD_PLUGINS([dc1394])
+              VLC_ADD_LDFLAGS([dc1394],[-ldc1394_control -lraw1394])
+dnl         ],
+dnl         [
+dnl           AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
+dnl         ])
+      ],
+      [
+        AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
+      ])
+    ],
+    [
+      AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
+    ])
+  ],
+  [
+    AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
+  ])
+fi
+
 dnl
 dnl dv module: digital video module check for libraw1394
 dnl
@@ -1771,6 +1944,45 @@ then
   fi
 fi
 
+
+dnl
+dnl  OpenCV wrapper and example filters
+dnl
+AC_ARG_ENABLE(opencv,
+  [  --enable-opencv            OpenCV (computer vision) filter (default disabled)])
+if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
+then
+  AC_ARG_WITH(opencv-tree,
+  [    --with-opencv-tree=PATH opencv tree for linking])
+  if test -n "${with_opencv_tree}"
+  then
+    if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
+    then
+         AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
+         if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
+           -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
+      then
+        AC_MSG_RESULT(yes)
+        VLC_ADD_PLUGINS([opencv_wrapper])
+        VLC_ADD_LDFLAGS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
+        VLC_ADD_CFLAGS([opencv_wrapper],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
+        AC_LANG_PUSH(C++)
+        VLC_ADD_PLUGINS([opencv_example])
+        VLC_ADD_LDFLAGS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
+        VLC_ADD_CXXFLAGS([opencv_example],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
+        AC_LANG_POP(C++)        
+         else
+        dnl  No opencv could be found, sorry
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
+         fi
+    else
+         AC_MSG_WARN([--enable-opencv currently only works on windows])
+    fi
+  fi  
+fi
+
+
 dnl
 dnl  libsmbclient plugin
 dnl
@@ -1806,7 +2018,7 @@ then
       AC_CHECK_HEADERS(dvbpsi/dr.h,
         [ VLC_ADD_PLUGINS([ts])
           if test "${enable_sout}" != "no"; then
-            VLC_ADD_BUILTINS([mux_ts])
+            VLC_ADD_PLUGINS([mux_ts])
           fi
           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
@@ -1903,6 +2115,28 @@ then
   CPPFLAGS="${CPPFLAGS_save}"
 fi
 
+dnl
+dnl  Video4Linux plugin
+dnl
+AC_ARG_ENABLE(v4l2,
+  [  --enable-v4l2            Video4Linux2 input support (default disabled)])
+if test "${enable_v4l2}" = "yes"
+then
+  AC_ARG_WITH(v4l2,
+    [    --with-v4l2=PATH       path to a v4l2-enabled kernel tree],[],[])
+  if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
+  then
+    VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
+  fi
+
+  CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
+  AC_CHECK_HEADERS(linux/videodev2.h, [
+    VLC_ADD_PLUGINS([v4l2])
+  ],[])
+  CPPFLAGS="${CPPFLAGS_save}"
+fi
+
+
 dnl
 dnl  special access module for Hauppauge PVR cards
 dnl
@@ -1918,7 +2152,7 @@ dnl  gnomeVFS access module
 dnl
 AC_ARG_ENABLE(gnomevfs,
   [  --enable-gnomevfs       GnomeVFS access module (default enabled)])
-if test "${enable_gnomevfs}" != "no" -a  "${SYS}" = "linux" 
+if test "${enable_gnomevfs}" != "no" 
 then
   PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
     VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
@@ -1937,16 +2171,16 @@ have_libcdio=no
 have_libvcdinfo=no
 if test "${enable_libcdio}" != "no"
 then
-  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
+  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
      have_libcdio=yes
      AC_DEFINE(HAVE_LIBCDIO, [], 
-     [Define if you have libcdio 0.72 or greater installed]),
+     [Define if you have libcdio 0.78.2 or greater installed]),
      [AC_MSG_WARN(CD Reading and information library not found)])
 
-  PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
+  PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
      [have_libvcdinfo=yes
      AC_DEFINE(HAVE_VCDINFO, [], 
-     [Define if you have libvcdinfo 0.7.21 or greater installed])],
+     [Define if you have libvcdinfo 0.7.22 or greater installed])],
      [AC_MSG_WARN(VCD information library not found)])
 fi
 
@@ -2144,30 +2378,12 @@ dnl  ipv6 plugin - not for QNX yet
 dnl
 have_ipv6=no
 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
-  AC_CHECK_LIB(resolv,inet_pton,
-    [have_ipv6=yes
-     VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])])
+  AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
 ])
 
 AS_IF([test "${have_ipv6}" = "yes"], [
   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
 
-if test "${SYS}" != "nto" &&
-   test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
-then
-  AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
-  AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
-    [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
-  AS_IF([test "${have_ipv6}" != "no"], [
-    VLC_ADD_PLUGINS([ipv6])])
-fi
-if test "${SYS}" = "mingw32"
-then
-  AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
-  AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
-    VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
-fi
-
 dnl
 dnl  ogg demux plugin
 dnl
@@ -2232,7 +2448,7 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
        #endif],
       [AC_MSG_RESULT([yes])
         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
-          AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
+          AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
           AC_EGREP_CPP(yes,
             [#include <matroska/KaxVersion.h>
              #ifdef LIBMATROSKA_VERSION
@@ -2247,16 +2463,14 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
                 VLC_ADD_CXXFLAGS([mkv],[-O1])
               fi
               AC_CHECK_LIB(ebml_pic, main, [
-                # We have ebml_pic, that's good, we can build an mkv.so plugin !
                 VLC_ADD_PLUGINS([mkv])
-                VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
-              ], [
+                VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml_pic])
+              ],
                 AC_CHECK_LIB(ebml, main, [
-                  # We only have libebml, make mkv.a a builtin
-                  VLC_ADD_BUILTINS([mkv])
+                  VLC_ADD_PLUGINS([mkv])
                   VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
-                ])
-              ])
+                ]) 
+             )
             ],
             [AC_MSG_RESULT([no])
               AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
@@ -2294,8 +2508,8 @@ then
       dnl  Use a custom mod
       AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
       VLC_ADD_PLUGINS([mod])
-      VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a])
-      VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include])
+      VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
+      VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
     else
       dnl  The given mod wasn't built
       AC_MSG_RESULT(no)
@@ -2305,7 +2519,7 @@ then
     AC_CHECK_HEADERS(libmodplug/modplug.h, [
       VLC_ADD_PLUGINS([mod])
       VLC_ADD_CXXFLAGS([mod],[])
-      VLC_ADD_LDFLAGS([mod],[-lmodplug])])
+      VLC_ADD_LDFLAGS([mod],[-lmodplug -lstdc++])])
   fi
 fi
 
@@ -2321,6 +2535,43 @@ then
     VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
 fi
 
+dnl
+dnl  game music emu demux plugin
+dnl
+AC_ARG_ENABLE(gme,
+  [  --enable-gme            Game Music Emu demux support (default enabled)])
+if test "${enable_gme}" != "no" -a "${CXX}" != "";
+then
+  AC_LANG_PUSH(C++)
+  AC_ARG_WITH(gme-tree,
+  [    --with-gme-tree=PATH gme tree for static linking])
+  if test -n "${with_gme_tree}"
+  then
+    AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
+    real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
+    if test -z "${real_gme_tree}"
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
+    fi
+    if test -f "${real_gme_tree}/gme/libgme.a"
+    then
+      dnl  Use a custom gme
+      AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
+      VLC_ADD_PLUGINS([gme])
+      VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a])
+      VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
+    else
+      dnl  The given gme wasn't built
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
+    fi
+  else
+      AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
+  fi
+  AC_LANG_POP(C++)
+fi
 
 dnl
 dnl  Codec plugins
@@ -2432,6 +2683,27 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
              LDFLAGS="${LDFLAGS_save}"
      fi])
 
+ AC_ARG_WITH(ffmpeg-vorbis,
+   [    --with-ffmpeg-vorbis    specify if ffmpeg has been compiled with vorbis support],
+   [
+     if test "$with_ffmpeg_vorbis" = "yes"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
+     fi])
+
+ AC_ARG_WITH(ffmpeg-theora,
+   [    --with-ffmpeg-theora    specify if ffmpeg has been compiled with theora support],
+   [
+     if test "$with_ffmpeg_theora" = "yes"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
+     fi])
+
+ AC_ARG_WITH(ffmpeg-ogg,
+   [    --with-ffmpeg-ogg    specify if ffmpeg has been compiled with ogg support],
+   [
+     if test "$with_ffmpeg_ogg" = "yes"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-logg])
+     fi])
+
  AC_ARG_WITH(ffmpeg-zlib,
    [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
    [
@@ -2461,10 +2733,13 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
    if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
      if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
        VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])       
+     elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then 
+       VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
+        VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
      else
        dnl  The given libavcodec wasn't built with --enable-pp
        AC_MSG_RESULT(no)
-       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
+       AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
      fi
    fi
    dnl  Use a custom libffmpeg
@@ -2505,7 +2780,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
    fi
 
    VLC_ADD_BUILTINS([ffmpeg])
-   if test "${enable_sout}" != "no"; then
+   if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
      VLC_ADD_BUILTINS([stream_out_switcher])
    fi
 
@@ -2518,10 +2793,16 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
    VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
 
    if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
-     AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
+     AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
      VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
      VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
    fi
+
+   if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
+     AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
+     VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
+     VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
+   fi
 else    
     
 dnl Look for a ffmpeg-config (we are on debian )
@@ -2536,10 +2817,12 @@ dnl Look for a ffmpeg-config (we are on debian )
   AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
   if test "${FFMPEG_CONFIG}" != "no"
   then
-    AC_CHECK_HEADERS(ffmpeg/avcodec.h)
-    AC_CHECK_HEADERS(postproc/postprocess.h)
+    AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
+    AC_CHECK_HEADERS(ffmpeg/avformat.h)
+    AC_CHECK_HEADERS(ffmpeg/avutil.h)
+    AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
     VLC_ADD_PLUGINS([ffmpeg])
-    if test "${enable_sout}" != "no"; then
+    if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
         VLC_ADD_PLUGINS([stream_out_switcher])
     fi
     VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
@@ -2550,18 +2833,41 @@ dnl Look for a ffmpeg-config (we are on debian )
 dnl Trying with pkg-config
    PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
     [
-     AC_CHECK_HEADERS(ffmpeg/avcodec.h)
-     AC_CHECK_HEADERS(postproc/postprocess.h)
-     VLC_ADD_BUILTINS([ffmpeg])
-     if test "${enable_sout}" != "no"; then
-         VLC_ADD_BUILTINS([stream_out_switcher])
-     fi
-     VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
-     VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
+     VLC_SAVE_FLAGS
+     CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
+     CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
+     AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
+     AC_CHECK_HEADERS(ffmpeg/avformat.h)
+     AC_CHECK_HEADERS(ffmpeg/avutil.h)
      dnl newer ffmpeg have a separate libpostproc
      PKG_CHECK_MODULES(POSTPROC, libpostproc,[
+       VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}]) 
        VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}]) 
        ],[ true ])
+     CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
+     CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
+     AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
+     if test "${SYS}" = "darwin"; then
+        VLC_ADD_BUILTINS([ffmpeg])
+     else
+        VLC_ADD_PLUGINS([ffmpeg])
+     fi
+     if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
+        if test "${SYS}" = "darwin"; then
+            VLC_ADD_BUILTINS([stream_out_switcher])
+        else
+            VLC_ADD_PLUGINS([stream_out_switcher])
+        fi
+     fi
+     VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
+     VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
+     dnl even newer ffmpeg has a libswscale
+     PKG_CHECK_MODULES(SWSCALE, libswscale,[
+       VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}]) 
+       VLC_ADD_LDFLAGS([ffmpeg],[${SWSCALE_LIBS}]) 
+       AC_CHECK_HEADERS(ffmpeg/swscale.h)
+       ],[ true ])
+     VLC_RESTORE_FLAGS
     ],[
      
     dnl
@@ -2570,28 +2876,38 @@ dnl Trying with pkg-config
       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
+      AC_CHECK_HEADERS(ffmpeg/avformat.h)
+      AC_CHECK_HEADERS(ffmpeg/swscale.h)
+      AC_CHECK_HEADERS(ffmpeg/avutil.h)
       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
 
-      AC_CHECK_LIB(avutil, av_add_i, [
+      AC_CHECK_LIB(avutil, av_crc_init, [
         VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
         LDAVUTIL="-lavutil"])
 
-      AC_CHECK_LIB(postproc, pp_postprocess, [
-        VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])])
-
       AC_CHECK_LIB(avcodec, avcodec_init, [
         VLC_ADD_BUILTINS([ffmpeg])
         VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
-        if test "${enable_sout}" != "no"; then
+        if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
             VLC_ADD_BUILTINS([stream_out_switcher])
         fi],
-         [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL])
+         [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL])
+
+      
+      AC_CHECK_LIB(postproc, pp_postprocess, [
+        VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])],
+       AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
+       [$LDAVUTIL])
+
       AC_CHECK_LIB(avformat, av_open_input_stream, [
-        AC_DEFINE(HAVE_LIBAVFORMAT, 1,
-        [Define if you have ffmpeg's libavformat.])
         VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
       LDFLAGS="${LDFLAGS_save}"
       CPPFLAGS="${CPPFLAGS_save}"
+
+      AC_CHECK_LIB(swscale, sws_getContext, [
+        VLC_ADD_LDFLAGS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
+      LDFLAGS="${LDFLAGS_save}"
+      CPPFLAGS="${CPPFLAGS_save}"
     ])
   fi
  fi 
@@ -2630,7 +2946,7 @@ then
     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
 
     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
-      AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
+      AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
     fi
@@ -2772,7 +3088,7 @@ dnl
 dnl MP4 module
 dnl
 AC_CHECK_HEADERS(zlib.h, [
-  VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
+  VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz])
 ] )
 
 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
@@ -2851,7 +3167,9 @@ then
         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
       ],[
         AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
-      ])
+        ])
+    ],[
+      AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
     ])
     CPPFLAGS="${CPPFLAGS_save}"
     LDFLAGS="${LDFLAGS_save}"
@@ -2867,7 +3185,7 @@ dnl
 dnl DTS Coherent Acoustics decoder plugin
 dnl
 AC_ARG_ENABLE(dts,
-  [  --enable-dts            DTS Coherent Acoustics support with libdts (default enabled)])
+  [  --enable-dts            DTS Coherent Acoustics support with libdca (default enabled)])
 if test "${enable_dts}" != "no"; then
   AC_ARG_WITH(dts-tree,
     [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
@@ -2890,7 +3208,7 @@ if test "${enable_dts}" != "no"; then
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
       AC_CHECK_LIB(dts_pic, dts_free, [
         VLC_ADD_PLUGINS([dtstofloat32])
-        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
+        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm])
         ],[
         AC_CHECK_LIB(dts, dts_free, [
           VLC_ADD_BUILTINS([dtstofloat32])
@@ -2903,7 +3221,7 @@ if test "${enable_dts}" != "no"; then
             AC_MSG_ERROR([the specified tree hasn't been compiled])
           fi
         ])
-      ])
+      ], [-lm])
       LDFLAGS="${LDFLAGS_save}"
     else
       AC_MSG_RESULT(no)
@@ -2914,7 +3232,7 @@ if test "${enable_dts}" != "no"; then
     AC_CHECK_HEADERS(dts.h, [
       AC_CHECK_LIB(dts_pic, dts_free, [
         VLC_ADD_PLUGINS([dtstofloat32])
-        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
+        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm])
       ],[
         AC_CHECK_LIB(dts, dts_free, [
           VLC_ADD_BUILTINS([dtstofloat32])
@@ -2924,7 +3242,7 @@ if test "${enable_dts}" != "no"; then
             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
           fi
         ])
-      ])
+      ], [-lm])
     ])
     LDFLAGS="${LDFLAGS_save}"
   fi
@@ -2934,7 +3252,7 @@ dnl
 dnl  Flac plugin
 dnl
 AC_ARG_ENABLE(flac,
-  [  --enable-flac           flac decoder support (default disabled)])
+  [  --enable-flac           libflac decoder/encoder support (default disabled)])
 if test "${enable_flac}" = "yes"
 then
   AC_ARG_WITH(flac-tree,
@@ -2953,8 +3271,8 @@ then
     then
       dnl  Use a custom flac
       AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
-      VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
-      VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include])
+      VLC_ADD_LDFLAGS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
+      VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
       AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
     else
       dnl  The given flac wasn't built
@@ -2963,7 +3281,7 @@ then
     fi
   else
     AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
-      VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
+      VLC_ADD_LDFLAGS([flac],[-lFLAC])
      ],[])
   fi
 fi
@@ -3055,10 +3373,10 @@ then
   else
     AC_CHECK_HEADERS(vorbis/codec.h, [
       VLC_ADD_PLUGINS([vorbis])
-      VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
+      VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg -lm]) ],[])
 
     AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
-      VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
+      VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc -lm]) ],[])
   fi
 fi
 
@@ -3157,11 +3475,7 @@ if test "${enable_theora}" = "yes"
 then
   AC_CHECK_HEADERS(theora/theora.h, [
     AC_CHECK_LIB(theora, theora_granule_time, [
-      if test "${SYS}" = "mingw32"; then
-        VLC_ADD_PLUGINS([theora])
-      else
-        VLC_ADD_BUILTINS([theora])
-      fi
+      VLC_ADD_PLUGINS([theora])
       theora_libs="-ltheora -logg"
       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
@@ -3184,33 +3498,6 @@ if test "${enable_dirac}" = "yes"; then
   ])
 fi
 
-dnl  libvc1 decoder plugin
-dnl
-AC_ARG_ENABLE(libvc1,
-[  --enable-libvc1         VC-1 codec (default disabled)])
-if test "${enable_libvc1}" = "yes"
-then
-  AC_ARG_WITH(libvc1-tree,
-  [    --with-libvc1-tree=PATH libvc1 tree for static linking])
-  if test -n "${with_libvc1_tree}"
-  then
-    AC_MSG_CHECKING(for vc1dec.o in ${with_libvc1_tree})
-    real_libvc1_tree="`cd ${with_libvc1_tree} 2>/dev/null && pwd`"
-    if test -f "${real_libvc1_tree}/src/.libs/vc1dec.o"
-    then
-      VLC_ADD_BUILTINS([libvc1])
-      VLC_ADD_CPPFLAGS([libvc1],[-I${real_libvc1_tree}/src])
-      VLC_ADD_LDFLAGS([libvc1],[${real_libvc1_tree}/src/.libs/libvc1.a])
-      AC_MSG_RESULT(yes)
-    else
-      dnl  The given libvc1 tree wasn't built
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot find ${real_libvc1_tree}/src/.libs/vc1dec.o,
-                    make sure you compiled libvc1 in ${with_libvc1_tree}])
-    fi
-  fi
-fi
-
 dnl
 dnl  PNG decoder module
 dnl
@@ -3327,9 +3614,9 @@ if test "${enable_x11}" != "no" &&
    test "${enable_x11}" = "yes"); then
   CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
   AC_CHECK_HEADERS(X11/Xlib.h, [
-    VLC_ADD_PLUGINS([x11])
-    VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
-    VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
+    VLC_ADD_PLUGINS([x11 panoramix])
+    VLC_ADD_LDFLAGS([x11 panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
+    VLC_ADD_CPPFLAGS([x11 panoramix],[${X_CFLAGS}])
   ])
   CPPFLAGS="${CPPFLAGS_save}"
 fi
@@ -3349,7 +3636,7 @@ if test "${enable_xvideo}" != "no" &&
     AC_CHECK_LIB(Xv,XvPutImage,[
       # If libXv.so is available, xvideo can be a plugin. Otherwise, we
       # test for libXv_pic.
-      if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
+      if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
         VLC_ADD_PLUGINS([xvideo])
         VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
         VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
@@ -3380,19 +3667,43 @@ if test "${enable_glx}" != "no" &&
   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
    test "${enable_glx}" = "yes"); then
   CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
-  AC_CHECK_HEADERS(X11/Xlib.h, [
-    AC_CHECK_HEADERS(GL/glx.h, [
+  AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
+  AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
+    [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
+    choke me
+    #endif]]),
+    [
       VLC_ADD_PLUGINS([glx])
       VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
       VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
-  ]) ])
+    ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
+  CPPFLAGS="${CPPFLAGS_save}"
+fi
+
+dnl
+dnl  XVMC module
+dnl  (enabled by default except on win32)
+dnl
+AC_ARG_ENABLE(xvmc,
+  [  --enable-xvmc            XVMC support (default disabled)])
+if test "${enable_xvmc}" = "yes" &&
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_xvmc}" = "yes"); then
+  CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
+  AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
+    VLC_ADD_PLUGINS([xvmc])
+    VLC_ADD_LDFLAGS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
+    VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
+  ])
   CPPFLAGS="${CPPFLAGS_save}"
 fi
 
 dnl
 dnl  Check for the Xinerama extension
 dnl
-if test "${enable_xvideo}" != "no" &&
+AC_ARG_ENABLE(xinerama,
+  [  --enable-xinerama       Xinerama support (default enabled)])
+if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
    test "${enable_xvideo}" = "yes"); then
   ac_cv_have_xinerama="no"
@@ -3418,6 +3729,38 @@ if test "${enable_xvideo}" != "no" &&
   fi
   CFLAGS="${CFLAGS_save}"
   CPPFLAGS="${CPPFLAGS_save}"
+
+dnl
+dnl  Check for XF86VidMode extension
+dnl
+  ac_cv_have_xf86vidmode="no"
+  CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
+  CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
+  AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
+    AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
+      VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
+      VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
+      VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
+      ac_cv_have_xf86vidmode="yes"
+    ],[
+      AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
+        VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
+        VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
+        VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
+        ac_cv_have_xf86vidmode="yes"
+      ])
+    ])
+  ],[true],
+[#ifdef HAVE_X11_XLIB_H
+# include <X11/Xlib.h>
+#endif]
+   )
+  AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
+    [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
+  ])
+  CFLAGS="${CFLAGS_save}"
+  CPPFLAGS="${CPPFLAGS_save}"
+
 fi
 
 dnl
@@ -3429,12 +3772,12 @@ AC_ARG_ENABLE(opengl,
 if test "${enable_opengl}" != "no" &&
    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
   if test "${SYS}" != "darwin"; then
-    AC_CHECK_HEADERS(GL/gl.h, [
+    AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
       VLC_ADD_PLUGINS([opengl])
       if test "${SYS}" != "mingw32"; then
         VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
       else
-        VLC_ADD_LDFLAGS([opengl],[-lopengl32])
+        VLC_ADD_LDFLAGS([opengl],[-lopengl32 -lglu32])
       fi
     ])
   else
@@ -3636,7 +3979,7 @@ AC_ARG_ENABLE(svg,
 if test "${enable_svg}" = "yes"
 then
   PKG_CHECK_MODULES(SVG, 
-       librsvg-2.0 >= 2.5.0,
+       librsvg-2.0 >= 2.9.0,
        [
          VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
          VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
@@ -3732,6 +4075,12 @@ fi
 dnl
 dnl  Windows DirectX module
 dnl
+
+if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
+then
+  VLC_ADD_PLUGINS([panoramix])
+fi
+
 AC_ARG_ENABLE(directx,
   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
 if test "${enable_directx}" != "no"
@@ -3745,11 +4094,15 @@ then
       AC_CHECK_HEADERS(ddraw.h,
       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
-        dnl to be moved when dependance is removed
-        AC_CHECK_HEADERS(GL/gl.h, [
-            VLC_ADD_PLUGINS([glwin32])
-            VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
-        ]) ])
+      ])
+      AC_CHECK_HEADERS(GL/gl.h,
+      [ VLC_ADD_PLUGINS([glwin32])
+        VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
+      ])
+      AC_CHECK_HEADERS(d3d9.h,
+      [ VLC_ADD_PLUGINS([direct3d])
+        VLC_ADD_LDFLAGS([direct3d],[-ld3d9 -lgdi32])
+      ])
     else
       AC_MSG_CHECKING(for directX headers in ${with_directx})
       if test -f ${with_directx}/ddraw.h
@@ -3876,7 +4229,7 @@ then
     ],[
       AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
      ])
-   CFAGS="${CFLAGS_save}"
+   CFLAGS="${CFLAGS_save}"
 fi
 
 dnl
@@ -4016,7 +4369,7 @@ then
     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
                     #define ALSA_PCM_NEW_SW_PARAMS_API
                     #include <alsa/asoundlib.h>],
-       [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
+       [snd_pcm_hw_params_get_period_time(0,0,0);],
         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
     VLC_ADD_PLUGINS([alsa])
     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
@@ -4089,7 +4442,7 @@ dnl  CyberLink for C++ UPnP stack
 dnl
 AC_ARG_ENABLE(cyberlink,
   [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
-AS_IF([test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no")], [
+  AS_IF([test "${enable_cyberlink}" = "yes" ], [
   AC_ARG_WITH(cyberlink-tree,
     [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
 
@@ -4143,7 +4496,7 @@ class testclass : public SearchResponseListener, public MediaPlayer
       done
       LIBS="${LIBS_save}"
       dnl should not happen - otherwise this needs fixing - hence FAILURE
-      AS_IF([test "${LIBS_cclink}" == "no"],
+      AS_IF([test "${LIBS_cclink}" = "no"],
         [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
       AC_MSG_RESULT([${LIBS_cclink}])
       VLC_ADD_LDFLAGS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
@@ -4165,17 +4518,17 @@ AC_ARG_ENABLE(upnp,
 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
 AS_IF([test "x${enable_upnp}" != "xno"], [
   AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
-  AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" == "no"], [
+  AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
     AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
   ])
-  AS_IF([test "${has_upnp}" == "yes"], [
-    VLC_ADD_LDFLAGS([upnp_intel], [-lupnp])
+  AS_IF([test "${has_upnp}" = "yes"], [
+    VLC_ADD_LDFLAGS([upnp_intel], [-lupnp -lixml])
   ])
 ], [
   has_upnp="no"
 ])
 
-AS_IF([test "${has_upnp}" == "yes"], [
+AS_IF([test "${has_upnp}" = "yes"], [
   VLC_ADD_PLUGINS([upnp_intel])
 ])
 
@@ -4403,9 +4756,9 @@ then
   AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
   then
-    if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
+    if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null ||  expr 2.7.0 \<= `${WX_CONFIG} --version` >/dev/null
     then
-      AC_MSG_ERROR([Your development package for wxWidgets is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.])
+      AC_MSG_ERROR([You need wxWidgets of the 2.6 branch. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.])
     fi
     AC_LANG_PUSH(C++)
     # Turn this error:
@@ -4421,6 +4774,18 @@ then
     fi
     VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
     VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
+    # check if we must link against gtk2 libs
+    # if __WXGTK20__ && __WXGTK__ are defined
+    # for modules/gui/wxwidgets/video.cpp
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
+#include <wx/wx.h>
+#ifdef __WXGTK20__
+#error ok, we need to link against gtk2
+#endif
+        ])],[WXGTK=no],[WXGTK=yes])
+    if test "$WXGTK" = "yes"; then
+      ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LDFLAGS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
+    fi
     if ${WX_CONFIG} --unicode
     then 
       # wxwidgets should provide the following flags but does not
@@ -4458,7 +4823,29 @@ then
     CPPFLAGS="${CPPFLAGS_save}"
     AC_LANG_POP(C++)
   fi
-fi
+  dnl WxWidgets plugin will yield incorrect code without this
+  VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
+fi
+
+dnl
+dnl QT 4
+dnl
+enableqt4=false
+AC_ARG_ENABLE(qt4,
+  [  --enable-qt4            QT 4 support (default disabled) ],
+  [if test "${enable_qt4}" = "yes"; then
+      PKG_CHECK_MODULES(QT4, QtCore QtGui,
+       [ VLC_ADD_PLUGINS([qt4])
+          ALIASES="${ALIASES} qvlc"
+         enableqt4=true
+         VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS])
+         VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS])
+         MOC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/moc
+         RCC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/rcc
+         UIC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/uic],
+       [AC_MSG_WARN(QT4 library not found)])
+   fi])
+AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
 
 dnl
 dnl  WinCE GUI module
@@ -4584,17 +4971,22 @@ AC_ARG_ENABLE(opie,
 dnl
 dnl  MacOS X module
 dnl
+ORIGCFLAGS=$CFLAGS
+CFLAGS="$CFLAGS -x objective-c"
 AC_ARG_ENABLE(macosx,
   [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
   [if test "${enable_macosx}" = "yes"
    then
      VLC_ADD_BUILTINS([macosx])
-     VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
+     VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL])
+     VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
    fi],
   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
      VLC_ADD_BUILTINS([macosx])
-     VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
+     VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL])
+     VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
    )])
+CFLAGS=$ORIGCFLAGS
 
 dnl
 dnl  QNX RTOS module
@@ -4632,7 +5024,7 @@ then
     AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
         AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
       AC_TRY_COMPILE([#include <xosd.h>],
-         [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
+         [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
           AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
   if test "${have_xosd}" = "true"
   then
@@ -4658,7 +5050,7 @@ AC_ARG_ENABLE(galaktos,
   [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
 if test "${enable_galaktos}" = "yes"
 then
-  AC_CHECK_HEADERS(GL/gl.h, [
+  AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
     VLC_ADD_PLUGINS([galaktos])
     if test "${SYS}" != "mingw32"; then
       VLC_ADD_LDFLAGS([galaktos],[${X_LIBS} -lGL -lGLU])
@@ -4723,20 +5115,6 @@ then
   fi
 fi
 
-dnl
-dnl DAAP access plugin and services discovery 
-dnl
-AC_ARG_ENABLE(daap,
-  [  --enable-daap               DAAP shares services discovery support (default enabled)])
-if test "$enable_daap" != "no"
-then
-   PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
-      [ VLC_ADD_PLUGINS([daap])
-       VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
-       VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
-      [AC_MSG_WARN(DAAP library not found)])
-fi
-
 dnl
 dnl  Bonjour services discovery
 dnl
@@ -4770,31 +5148,31 @@ then
 fi
 
 
+AC_ARG_WITH(,[Misc options:])
+
 dnl
-dnl corba (ORBit) plugin
+dnl TLS/SSL
 dnl
-dnl Default: do not enable corba
-enablecorba=false
-AC_ARG_ENABLE(corba,
-  [  --enable-corba          corba interface support (default disabled)])
-if test "${enable_corba}" = "yes"; then
-      GLIB_VERSION=2.3.2
-      PKG_CHECK_MODULES(CORBA, 
-       ORBit-2.0 >= 2.8.0 \
-       glib-2.0 >= $GLIB_VERSION \
-       gobject-2.0 >= $GLIB_VERSION \
-       gthread-2.0 >= $GLIB_VERSION,
-       [
-         enablecorba=true
-         VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
-         VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
-          VLC_ADD_PLUGINS([corba snapshot]) ],
-        [ enablecorba=false
-         AC_MSG_WARN(corba library not found) ])
-fi
-AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
+AC_ARG_ENABLE(gnutls,
+  [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
+
+AS_IF([test "${enable_gnutls}" != "no"], [
+  PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.2.9], [have_gnutls="yes"], [have_gnutls="no"])
+
+  AS_IF([test "${have_gnutls}" = "yes"], [
+    VLC_ADD_PLUGINS([gnutls])
+    VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
+    VLC_ADD_LDFLAGS([gnutls], [$GNUTLS_LIBS])
+  ], [
+    AS_IF([test "${enable_gnutls}" = "yes"], [
+      AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
+    ])
+  ])
+  AC_CHECK_LIB([gcrypt], [gcry_control], [
+    VLC_ADD_LDFLAGS([gnutls], [-lgcrypt])
+  ])
+])
 
-AC_ARG_WITH(,[Misc options:])
 
 dnl
 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
@@ -4863,13 +5241,13 @@ AC_ARG_ENABLE(loader,
   [  --enable-loader         build DLL loader for ELF i386 platforms (default disabled)])
 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
 AS_IF([test "${enable_loader}" = "yes"],
-  [ VLC_ADD_PLUGINS([dmo quicktime])
+  [ VLC_ADD_PLUGINS([dmo])
     VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
-    VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
+    VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.la -lpthread])
     VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
-    VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
+    VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.la -lpthread])
     VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER])
-    VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.a])
+    VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.la -ldl -lpthread])
   ])
 
 dnl
@@ -4878,11 +5256,20 @@ dnl
 activex=false
 AC_ARG_ENABLE(activex,
   [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
+AC_ARG_WITH(wine-sdk-path,
+  [    --with-wine-sdk-path=PATH path to wine sdk])
 if test "${enable_activex}" != "no"
 then
   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
   then
-    AC_CHECK_PROGS(MIDL, [midl widl], no)
+    AC_CHECK_PROGS(MIDL, [midl], no)
+    if test "${with_wine_sdk_path}" != ""
+    then
+       WINE_SDK_PATH=${with_wine_sdk_path}
+       AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
+    else
+       WIDL=no
+    fi
     AC_LANG_PUSH(C++)
     AC_CHECK_HEADERS(ole2.h olectl.h,
       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
@@ -4902,6 +5289,8 @@ then
 fi
 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
+AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
+AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
 
 dnl
@@ -4912,36 +5301,70 @@ AC_ARG_ENABLE(mozilla,
   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
 AC_ARG_WITH(mozilla-sdk-path,
   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
-
+AC_LANG_PUSH(C++)
 if test "${enable_mozilla}" = "yes" 
 then
-  if test "${with_mozilla_sdk_path}" = ""
+  dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
+  need_xpcom_libs=false
+  if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
   then
     AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
     if test "${MOZILLA_CONFIG}" = "no"
     then
-      AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
-    else
-      if test "${SYS}" != "mingw32"; then
-        LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
-        AC_CHECK_LIB(Xt,XtStrings,
-         [VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])],
-         [],
-         [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
-        ])
-        LDFLAGS="${LDFLAGS_save}"
+      AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
+      if test "${SEAMONKEY_CONFIG}" = "no"
+      then
+        AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
+        if test "${XULRUNNER_CONFIG}" = "no"
+        then
+          AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
+        else
+          have_xul=true
+          MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
+        fi
+      else
+        MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
       fi
+    fi
+    
+    if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
+      LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
+      AC_CHECK_LIB(Xt,XtStrings,
+       [
+         VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
+         VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
+],
+       [],
+       [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
+      ])
+      LDFLAGS="${LDFLAGS_save}"
+    fi
+    
       mozilla=:
       dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
       VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
-      VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
+      if ${need_xpcom_libs}; then
+         VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
+      else
+         VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
+      fi
       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
-      AC_CHECK_HEADERS(mozilla-config.h)
+      MOZILLA_REQUIRED_HEADERS=1
+      AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
+      AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
+      AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
+        [#if HAVE_NPAPI_H
+         # include <npapi.h>
+         #endif
+        ])
+      if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
+      then
+        AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
+      fi
+      MOZILLA_REQUIRED_HEADERS=
       CPPFLAGS="${CPPFLAGS_save}"
-      XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
-      `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
-      xpidl_path="`${MOZILLA_CONFIG} --prefix`/bin"
-    fi
+      MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
+    dnl End of moz_sdk = ""
   else
     dnl special case for mingw32
     if test "${SYS}" = "mingw32"
@@ -4955,63 +5378,63 @@ then
   
     real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
     CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
-    AC_CHECK_HEADERS(mozilla-config.h, [
-      mozilla=:
-      VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
-      VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
+    MOZILLA_REQUIRED_HEADERS=1
+    AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
+    AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
+    AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
+        [#if HAVE_NPAPI_H
+          #include <npapi.h>
+          #endif
+        ])
+    if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
+    then
+        AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
+    fi
+    MOZILLA_REQUIRED_HEADERS=
+    mozilla=:
+    VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
+    if ${need_xpcom_libs}; then
+       VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
       if test "${SYS}" = "mingw32"; then
-        LDFLAGS="${LDFLAGS_save}"
-        dnl latest gecko sdk does not have embedstring
-        if test -d "${real_mozilla_sdk}/embedstring/bin"
-        then
-          VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
-        fi
-      fi
-  
-      XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
-      xpidl_path="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin"
-  
-      if test -n "${CYGPATH}"; then
-        real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
-        XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
-      fi ])
-    CPPFLAGS="${CPPFLAGS_save}"
-  fi
+           dnl latest gecko sdk does not have embedstring
+           if test -d "${real_mozilla_sdk}/embedstring/bin"
+           then
+             VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
+           fi
+         fi
+    fi
+    MOZILLA_SDK_PATH="${real_mozilla_sdk}"
   
-  if test "${mozilla}" != "false"
-  then
-    build_pic=yes
-    AC_PATH_PROG(XPIDL, xpidl, no, ${xpidl_path} /usr/lib/mozilla)
-    if test "${XPIDL}" = "no"; then
-      AC_MSG_ERROR([Please install the Mozilla development tools, xpidl was not found.])
+    if test -n "${CYGPATH}"; then
+      real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
     fi
+    CPPFLAGS="${CPPFLAGS_save}"
   fi
 fi
+AC_LANG_POP(C++)
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 
 dnl
 dnl  Mediacontrol Python bindings
 dnl
-AC_ARG_ENABLE(mediacontrol-python-bindings,
-  [  --enable-mediacontrol-python-bindings    Enable Python bindings for MediaControl (default disabled)])
+AC_ARG_ENABLE(python-bindings,
+  [  --enable-python-bindings    Enable Python bindings (default disabled)])
 dnl TODO: look for python dev headers
-AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_mediacontrol_python_bindings}" = "yes"])
-if test "${enable_mediacontrol_python_bindings}" = "yes"
-then
-  build_pic=yes
-fi
+AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
 
 dnl
 dnl  Java bindings
 dnl
 AC_ARG_ENABLE(java-bindings,
   [  --enable-java-bindings  Enable Java bindings (default disabled)])
-AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
 if test "${enable_java_bindings}" = "yes"
 then
-  build_pic=yes
+  AS_IF([test "x${JAVA_HOME}" == "x"],
+       [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
+  AC_PROG_JAVAC
+  AC_PROG_JAVA
 fi
-
+AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
 
 dnl
 dnl  test plugins
@@ -5032,6 +5455,16 @@ then
   #VLC_ADD_BUILTINS([${TESTS}])
 fi
 
+dnl
+dnl Microsoft Layer for Unicode for WIN9x/ME
+dnl
+if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
+then
+    AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
+        VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
+    ])
+fi
+
 dnl
 dnl  gtk_main plugin
 dnl
@@ -5101,46 +5534,29 @@ then
   plugin_support=false
 fi
 
-dnl Export automake variables
-if ${plugin_support}
-then
+AS_IF([${plugin_support}], [
   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
-  for plugin in `echo ${PLUGINS}`
-  do
-    eval "${plugin}_p=yes"
-  done
-else
+], [
   VLC_ADD_BUILTINS([${PLUGINS}])
   PLUGINS=""
-fi
-AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
-
-[if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
-then
-  builtin_support=:
-  for builtin in `echo ${BUILTINS}`
-  do
-    eval "${builtin}_b=yes"
-  done
-fi]
-AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
+])
 
 dnl
 dnl Pic and shared libvlc stuff
 dnl
-AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
-AM_CONDITIONAL(BUILD_PIC, [test "${build_pic}" = "yes" -o "${shared_libvlc}" != "no"] )
-AS_IF([test "${shared_libvlc}" != "no"], [
+AS_IF([test "x${enable_shared_libvlc}" = "x"], [enable_shared_libvlc=no])
+AM_CONDITIONAL(BUILD_SHARED, [test "${enable_shared_libvlc}" != "no"])
+AS_IF([test "${enable_shared_libvlc}" != "no" || test "${enable_libtool}" != "no"], [
   AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
+  FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
+  VLC_ADD_PLUGINS([${BUILTINS}])
+  BUILTINS=""
+], [
+  LDFLAGS_vlc="${LDFLAGS_vlc} ${LDFLAGS_libvlc}"
+  FILE_LIBVLC_DLL=""
 ])
 
-pic=no
-AS_IF([test "${shared_libvlc}" != "no" -o "${build_pic}" = "yes"], [pic=pic])
-AS_IF([test "${SYS}" = "mingw32"], [pic=no])
-AS_IF([test "${pic}" = "no"], [pic=])
-AC_SUBST(pic)
-
-dnl Import conditional variables generated by bootstrap
+ dnl Import conditional variables generated by bootstrap
 VLC_CONDITIONALS
 
 dnl
@@ -5166,8 +5582,8 @@ dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
 
-dnl New definitions with value matching 0.8.4 release
-module_symbol="0_8_4"
+dnl New definitions with value matching 0.9.0 release
+module_symbol="0_9_0b"
 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
 VLC_ENTRY="vlc_entry__${module_symbol}"
@@ -5188,8 +5604,10 @@ VLC_RESTORE_FLAGS
 dnl
 dnl  Create the vlc-config script
 dnl
-LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
-for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
+LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
+
+dnl following used to be the external libvlc target, what's replacing it now ?
+dnl for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
 
 dnl
 dnl  Configuration is finished
@@ -5199,13 +5617,16 @@ AC_SUBST(ARCH)
 AC_SUBST(ALIASES)
 AC_SUBST(ASM)
 AC_SUBST(MOC)
+AC_SUBST(RCC)
+AC_SUBST(UIC)
 AC_SUBST(WINDRES)
-AC_SUBST(XPIDL)
-AC_SUBST(XPIDL_INCL)
+AC_SUBST(MOZILLA_SDK_PATH)
+AC_SUBST(WINE_SDK_PATH)
 AC_SUBST(LIBEXT)
-AC_SUBST(INCLUDES)
+AC_SUBST(AM_CPPFLAGS)
 AC_SUBST(ALL_LINGUAS)
 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
+AC_SUBST(FILE_LIBVLC_DLL)
 
 dnl Import substitutions generated by bootstrap
 VLC_SUBSTS
@@ -5214,23 +5635,24 @@ dnl Create vlc-config.in
 VLC_OUTPUT_VLC_CONFIG_IN
 
 AC_CONFIG_FILES([
+  vlc.win32.nsi
   Makefile
   activex/Makefile
   activex/axvlc.inf
   bindings/Makefile
   bindings/java/Makefile
-  bindings/mediacontrol-python/Makefile
-  debian/Makefile
+  bindings/java/src/Makefile
+  bindings/python/Makefile
   doc/Makefile
   intl/Makefile
   ipkg/Makefile
-  lib/Makefile
   loader/Makefile
   modules/Makefile
   mozilla/Makefile
   m4/Makefile
   po/Makefile.in
   share/Makefile
+  src/Makefile
 ])
 
 AC_CONFIG_FILES([
@@ -5238,8 +5660,6 @@ AC_CONFIG_FILES([
   modules/access/dshow/Makefile
   modules/access/dvb/Makefile
   modules/access/mms/Makefile
-  modules/access/pvr/Makefile
-  modules/access/v4l/Makefile
   modules/access/cdda/Makefile
   modules/access/rtsp/Makefile
   modules/access/vcd/Makefile
@@ -5258,40 +5678,42 @@ AC_CONFIG_FILES([
   modules/codec/dmo/Makefile
   modules/codec/ffmpeg/Makefile
   modules/codec/spudec/Makefile
+  modules/codec/xvmc/Makefile
   modules/control/Makefile
   modules/control/http/Makefile
-  modules/control/corba/Makefile
   modules/demux/Makefile
   modules/demux/asf/Makefile
   modules/demux/avi/Makefile
   modules/demux/mp4/Makefile
   modules/demux/mpeg/Makefile
   modules/demux/playlist/Makefile
-  modules/demux/util/Makefile
   modules/gui/Makefile
   modules/gui/beos/Makefile
   modules/gui/pda/Makefile
   modules/gui/macosx/Makefile
   modules/gui/qnx/Makefile
+  modules/gui/qt4/Makefile
   modules/gui/skins2/Makefile
   modules/gui/wxwidgets/Makefile
   modules/gui/wince/Makefile
+  modules/meta_engine/Makefile
   modules/misc/Makefile
   modules/misc/dummy/Makefile
   modules/misc/memcpy/Makefile
-  modules/misc/network/Makefile
+  modules/misc/notify/Makefile
   modules/misc/testsuite/Makefile
   modules/misc/playlist/Makefile
   modules/misc/xml/Makefile
+  modules/misc/probe/Makefile
   modules/mux/Makefile
   modules/mux/mpeg/Makefile
+  modules/mux/rtp/Makefile
   modules/packetizer/Makefile
   modules/services_discovery/Makefile
   modules/stream_out/Makefile
   modules/stream_out/transrate/Makefile
   modules/video_chroma/Makefile
   modules/video_filter/Makefile
-  modules/video_filter/swscale/Makefile
   modules/video_output/Makefile
   modules/video_output/directx/Makefile
   modules/video_output/qte/Makefile
@@ -5318,7 +5740,9 @@ dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modul
 dnl Shortcut to nice compile message
 rm -f compile
 echo '#! /bin/sh' >compile
-echo "PATH=$PATH LANG=C make \$* 2>&1| ${srcdir}/extras/make.pl" >>compile
+
+echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
+echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
 chmod a+x compile
 
 printf "