]> git.sesse.net Git - vlc/blobdiff - configure.ac
add comments to profiles
[vlc] / configure.ac
index bbcd5d4996d706f8469886e8db9f780b3f56636c..82a140ef0a2bee8fa833bb18de476bcab78b78e7 100644 (file)
@@ -1,18 +1,23 @@
 dnl Autoconf settings for vlc
 
-AC_INIT(vlc,0.9.0-git)
-VERSION_MAJOR="0"
-VERSION_MINOR="9"
+AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team])
+
+AC_INIT(vlc, 1.0.0-pre1)
+VERSION_MAJOR="1"
+VERSION_MINOR="0"
 VERSION_REVISION="0"
-VERSION_EXTRA="git"
+VERSION_EXTRA="-pre1"
+PKGDIR="vlc"
+AC_SUBST(PKGDIR)
 
 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
-CODENAME="Grishenko"
-COPYRIGHT_YEARS="1996-2008"
+CODENAME="Goldeneye"
+COPYRIGHT_YEARS="1996-2009"
 
 AC_PREREQ(2.59c)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
+AC_CONFIG_MACRO_DIR(m4)
 AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 
@@ -26,9 +31,19 @@ dnl automake behavior, you've likely never heard of maintainer mode, so we
 dnl can't expect you to enable it manually.
 
 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
-       [enable_maintainer_mode="yes"])
+    [enable_maintainer_mode="yes"])
 AM_MAINTAINER_MODE
 
+dnl
+dnl Directories
+dnl
+dnl vlcincludedir="\${includedir}/\${PKGDIR}"
+dnl AC_SUBST(vlcincludedir)
+vlcdatadir="\${datadir}/\${PKGDIR}"
+AC_SUBST(vlcdatadir)
+vlclibdir="\${libdir}/\${PKGDIR}"
+AC_SUBST(vlclibdir)
+
 dnl
 dnl  Deprecated options
 dnl  to notify packagers that stuff has changed
@@ -57,7 +72,8 @@ dnl Check for tools
 dnl
 AC_PROG_CC_C99
 AC_USE_SYSTEM_EXTENSIONS
-AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.])
+AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
+
 AM_PROG_CC_C_O
 AC_PROG_CXX
 AC_PROG_CPP
@@ -80,18 +96,30 @@ AC_C_CONST
 AC_C_INLINE
 AC_C_RESTRICT
 
+dnl Allow binary package maintainer to pass a custom string to avoid
+dnl cache problem
+AC_ARG_WITH(binary-version,
+       AS_HELP_STRING([--with-binary-version=STRING],
+            [To avoid plugins cache problem between binary version]),[],[])
+AS_IF([test -n "${with_binary_version}"],[
+      AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
+                        [Binary specific version])
+      ])
+
+
 dnl
 dnl  Check for the contrib directory
 dnl
 AC_ARG_WITH(contrib,
     [  --without-contrib       do not use the libraries in extras/contrib],[],[])
-  if test "${with_contrib}" != "no"; then 
+  AS_IF([test "${with_contrib}" != "no"],[
     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
+  AS_IF([test -d ${topdir}/extras/contrib/lib],[
+   AS_IF([test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[
       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])
@@ -99,8 +127,7 @@ AC_ARG_WITH(contrib,
         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"
@@ -119,24 +146,12 @@ AC_ARG_WITH(contrib,
     LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
     LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
 
-    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 -z $with_a52_tree; then
-       with_a52_tree=${topdir}/extras/contrib/src/a52dec
-    fi
 
     if test ".`uname -s`" = ".Darwin"; then
       export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
@@ -145,11 +160,11 @@ AC_ARG_WITH(contrib,
       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
+    ])
+  ],[
+    AC_MSG_RESULT([no])
+  ])
+])
 dnl
 dnl  Set default values
 dnl
@@ -197,13 +212,15 @@ case "${host_os}" in
     VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
     AC_ARG_ENABLE(macosx-defaults,
-        [  --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
+      AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
     if test "x${enable_macosx_defaults}" != "xno"
     then
         echo ""
         echo "Building with Mac OS X defaults:"
-        with_macosx_version_min="10.4"
-        echo "  Assuming --with-macosx-version-min=10.4"
+        with_macosx_version_min="10.5"
+        echo "  Assuming --with-macosx-version-min=10.5"
+        with_macosx_sdk="/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
+        echo "  Assuming --with-macosx-sdk=/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
         build_dir=`pwd`
         echo "  Assuming --prefix=${build_dir}/vlc_install_dir"
         ac_default_prefix="${build_dir}/vlc_install_dir"
@@ -231,6 +248,12 @@ case "${host_os}" in
         echo "  Assuming --enable-twolame"
         enable_realrtsp="yes"
         echo "  Assuming --enable-realrtsp"
+        enable_update_check="yes"
+        echo "  Assuming --enable-update-check"
+        enable_libass="yes"
+        echo "  Assuming --enable-libass"
+        enable_asademux="yes"
+        echo "  Assuming --enable-asademux"
 
         enable_skins2="no"
         echo "  Assuming --disable-skins2"
@@ -267,7 +290,8 @@ case "${host_os}" in
     AC_ARG_WITH(macosx-sdk,
        [  --with-macosx-sdk=DIR   compile using the SDK in DIR])
     if test "${with_macosx_sdk}" != "" ; then
-        CC="${CC} -isysroot ${with_macosx_sdk}" 
+        CPP="${CPP} -isysroot ${with_macosx_sdk}"
+        CC="${CC} -isysroot ${with_macosx_sdk}"
         CXX="${CXX} -isysroot ${with_macosx_sdk}"
         OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
         LD="${LD} -syslibroot ${with_macosx_sdk}"
@@ -275,7 +299,8 @@ case "${host_os}" in
     AC_ARG_WITH(macosx-version-min,
        [  --with-macosx-version-min=VERSION  compile for MacOSX VERSION and above])
     if test "${with_macosx_version_min}" != "" ; then
-        CC="${CC} -mmacosx-version-min=${with_macosx_version_min}" 
+        CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
+        CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
         CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
         OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
         LD="${LD} -macosx_version_min=${with_macosx_version_min}"
@@ -288,17 +313,22 @@ case "${host_os}" in
     ;;
   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
     AC_CHECK_TOOL(WINDRES, windres, :)
+    AC_CHECK_TOOL(OBJCOPY, objcopy, :)
 
     case "${host_os}" in
       *wince* | *mingwce* | *mingw32ce* | *pe*)
         SYS=mingwce
+        dnl Sadly CeGCC still needs non-wince macros
+        AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
         ;;
       *mingw32*)
         SYS=mingw32
+        AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
         ;;
       *cygwin*)
         dnl Check if we are using the mno-cygwin mode in which case we are
         dnl actually dealing with a mingw32 compiler.
+        AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
         AC_EGREP_CPP(yes,
             [#ifdef WIN32
              yes
@@ -313,12 +343,10 @@ case "${host_os}" in
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
         VLC_ADD_LIBS([activex mozilla],[-lgdi32])
         VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
-        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd],[-lws2_32])
+        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp http stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd],[-lws2_32])
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
-        VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
-        VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
         VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd],[-lws2])
         VLC_ADD_LIBS([libvlc],[-lmmtimer])
    fi
@@ -330,7 +358,7 @@ case "${host_os}" in
   solaris*)
     SYS=solaris
     # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
-    # Perhaps it is useful other places as well? 
+    # Perhaps it is useful other places as well?
     CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
     ;;
   hpux*)
@@ -369,7 +397,7 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
 
 dnl
-dnl Sadly autoconf doesn't think about testing foo.exe when ask to test 
+dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
 dnl for program foo on win32
 
 case "${build_os}" in
@@ -380,7 +408,7 @@ case "${build_os}" in
     ;;
 esac
 
-dnl 
+dnl
 dnl  Libtool
 dnl  It's very bad, but our former custom system was worst
 dnl  -- Courmisch
@@ -393,7 +421,7 @@ AC_CACHE_VAL(lt_cv_deplibs_check_method,
     [lt_cv_deplibs_check_method=pass_all])
 
 AC_DISABLE_STATIC
-AC_DISABLE_FAST_INSTALL
+dnl AC_DISABLE_FAST_INSTALL
 AC_LIBTOOL_DLOPEN
 AC_LIBTOOL_WIN32_DLL
 m4_undefine([AC_PROG_F77])
@@ -417,8 +445,6 @@ dnl
 dnl Iconv stuff
 dnl
 AM_ICONV
-AS_IF([test "$am_cv_func_iconv" != "yes"],
-       [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
 
@@ -488,6 +514,10 @@ AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
 AC_FUNC_ALLOCA
+AC_CHECK_FUNCS(fcntl)
+
+dnl Check for Linux system calls
+AC_CHECK_FUNCS([vmsplice])
 
 AH_BOTTOM([#include <vlc_fixups.h>])
 
@@ -522,19 +552,6 @@ AC_CHECK_FUNCS(send,,[
   ])
 ])
 
-AC_CHECK_FUNCS(gethostbyname,,[
-  AC_CHECK_LIB(nsl,gethostbyname,[
-    VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
-  ],[
-    AC_CHECK_LIB(bind,gethostbyname,[
-      VLC_ADD_LIBS([access_mms],[-lbind])
-    ])
-  ])
-])
-
-AC_CHECK_HEADERS(zlib.h, [
-  VLC_ADD_LIBS([access_http],[-lz])
-])
 
 dnl Check for socklen_t
 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
@@ -560,7 +577,7 @@ AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
   [AC_TRY_COMPILE(
     [#include <sys/types.h>
      #if defined( UNDER_CE )
-     # include <winsock.h>
+     # include <winsock2.h>
      #elif defined( WIN32 )
      # include <winsock2.h>
      #else
@@ -642,7 +659,7 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
-  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
+  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
   VLC_ADD_LIBS([avcodec avformat swscale imgresample postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm])
@@ -778,7 +795,7 @@ AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
 if ${have_nanosleep}; then
   AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
 fi
-fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" 
+fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 dnl Check for misc headers
 AC_MSG_CHECKING(for strncasecmp in strings.h)
@@ -790,8 +807,8 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
 
 dnl Check for headers
 AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h locale.h)
-AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
-AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h])
+AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h xlocale.h)
+AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
 AC_CHECK_HEADERS([net/if.h], [], [],
   [
     #include <sys/socket.h>
@@ -810,10 +827,13 @@ AC_CHECK_TYPE(ssize_t,, [
   AC_DEFINE(ssize_t, int)
 ])
 
-dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job.
-if test "${SYS}" != "darwin"; then
-  AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
+dnl Check for poll
+AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
+if test ${SYS} != "mingw32"
+then
+    AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
 fi
+])
 
 dnl Check for dirent
 need_dirent=false
@@ -844,21 +864,47 @@ AC_EGREP_HEADER(timespec,sys/time.h,[
 
 dnl Check for threads library
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-AC_CHECK_HEADERS(pthread.h kernel/scheduler.h kernel/OS.h)
+AC_CHECK_HEADERS(pthread.h)
 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
-dnl Find where are the X headers and libraries
-AC_PATH_XTRA()
-
 dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal.
-
+dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
+AC_ARG_VAR(PKG_CONFIG_PATH,
+          [Paths where to find .pc not at the default location])
 PKG_PROG_PKG_CONFIG()
 
+dnl
+dnl Check for zlib.h and -lz along with system -lminizip if available
+dnl 
+AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
+AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
+if test "${have_zlib}" = "yes"
+then
+  VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
+  PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
+    AC_CHECK_HEADERS([unzip.h], [ 
+      have_minizip=yes
+      MINIZIP_LIBS="-lminizip -lz"
+    ], [
+      have_minizip=no
+      MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
+      MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
+    ])
+  ])
+  VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
+  VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
+  VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
+  VLC_ADD_PLUGIN([unzip])
+  VLC_ADD_PLUGIN([zip])
+fi
+AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
+
+
 dnl Check for hal
 AC_ARG_ENABLE(hal,
   [  --enable-hal            Linux HAL services discovery (default enabled)])
-if test "${enable_hal}" != "no"
+
+if test "${enable_hal}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 then
   PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
     [
@@ -871,12 +917,27 @@ then
   )
 fi
 
+dnl Check for mtp
+AC_ARG_ENABLE(mtp,
+  [  --enable-mtp            MTP devices support (default enabled)])
+
+if test "${enable_mtp}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
+then
+  PKG_CHECK_MODULES(MTP, libmtp >= 0.3.0,
+    [ VLC_ADD_PLUGIN([mtp])
+      VLC_ADD_PLUGIN([access_mtp])
+      VLC_ADD_LIBS([mtp access_mtp],[$MTP_LIBS])
+      VLC_ADD_CFLAGS([mtp access_mtp],[$MTP_CFLAGS])],
+       [AC_MSG_WARN(MTP library not found)]
+  )
+fi
+
 dnl Check for dbus
 AC_ARG_ENABLE(dbus,
   [  --enable-dbus           Linux D-BUS message bus system (default enabled)])
 case "${SYS}" in
     linux*|*bsd*)
-if test "${enable_dbus}" != "no"
+if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 then
   dnl api stable dbus
   PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
@@ -892,7 +953,8 @@ then
           VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
         fi
       dnl Check for Telepathy
-        AC_ARG_ENABLE(telepathy, [  --enable-telepathy      Telepathy Presence plugin through DBus(default enabled)])
+        AC_ARG_ENABLE(telepathy,
+          AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
         if test "${enable_telepathy}" != "no"; then
           VLC_ADD_PLUGIN([telepathy])
           VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
@@ -930,7 +992,7 @@ if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
 fi
 CFLAGS="${CFLAGS_save}"
 
-RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
+RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
 
 dnl Check for various optimization flags
@@ -940,7 +1002,7 @@ AC_CACHE_CHECK([if \$CC accepts -Os],
      AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
 if test "${ac_cv_c_os}" != "no"; then
     CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
-else 
+else
     AC_CACHE_CHECK([if \$CC accepts -O],
         [ac_cv_c_o],
         [CFLAGS="${CFLAGS_save} -O"
@@ -952,26 +1014,34 @@ else
     fi
 fi
 
-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 "x${enable_debug}" = "xno"; then
-    CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
+AC_CACHE_CHECK([if \$CC accepts -O4],
+    [ac_cv_c_o4],
+    [CFLAGS="${CFLAGS_save} -O4"
+     AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
+if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
+    CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
 else
-    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"; then
-        CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
+    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 "x${enable_debug}" = "xno"; then
+        CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
     else
-        AC_CACHE_CHECK([if \$CC accepts -O],
-            [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"; then
-            CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
+        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"; then
+            CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
+        else
+            AC_CACHE_CHECK([if \$CC accepts -O],
+                [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"; then
+                CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
+            fi
         fi
     fi
 fi
@@ -1012,7 +1082,12 @@ AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
+ if test "${SYS}" != "darwin"; then
     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
+ else
+    dnl On darwin we explicitely disable it.
+    CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
+ fi
 fi
 
 dnl Check for Darwin plugin linking flags
@@ -1079,65 +1154,9 @@ test "${enable_cprof}" != "yes" && enable_cprof="no"
 dnl
 dnl  default modules
 dnl
-VLC_ADD_PLUGIN([dummy])
-VLC_ADD_PLUGIN([stats])
-VLC_ADD_PLUGIN([logger])
-VLC_ADD_PLUGIN([memcpy])
-dnl Demuxers:
-VLC_ADD_PLUGIN([mpgv])
-VLC_ADD_PLUGIN([mpga])
-VLC_ADD_PLUGIN([m4v])
-VLC_ADD_PLUGIN([m4a])
-VLC_ADD_PLUGIN([h264])
-VLC_ADD_PLUGIN([vc1])
-VLC_ADD_PLUGIN([demux_cdg])
-VLC_ADD_PLUGIN([cdg])
-VLC_ADD_PLUGIN([ps])
-VLC_ADD_PLUGIN([pva])
-VLC_ADD_PLUGIN([avi])
-VLC_ADD_PLUGIN([asf])
-VLC_ADD_PLUGIN([mp4])
-VLC_ADD_PLUGIN([rawdv])
-VLC_ADD_PLUGIN([rawvid])
-VLC_ADD_PLUGIN([nsv])
-VLC_ADD_PLUGIN([real])
-VLC_ADD_PLUGIN([aiff])
-VLC_ADD_PLUGIN([mjpeg])
-VLC_ADD_PLUGIN([wav])
-VLC_ADD_PLUGIN([voc])
-VLC_ADD_PLUGIN([smf])
-VLC_ADD_PLUGIN([demuxdump])
-VLC_ADD_PLUGIN([flacsys])
-VLC_ADD_PLUGIN([tta])
-VLC_ADD_PLUGIN([subtitle])
-VLC_ADD_PLUGIN([vobsub])
-VLC_ADD_PLUGIN([a52sys])
-VLC_ADD_PLUGIN([dtssys])
-VLC_ADD_PLUGIN([au])
-VLC_ADD_PLUGIN([ty])
-VLC_ADD_PLUGIN([xa])
-VLC_ADD_PLUGIN([nuv])
-dnl Text codecs:
-VLC_ADD_PLUGIN([cvdsub])
-VLC_ADD_PLUGIN([svcdsub])
-VLC_ADD_PLUGIN([spudec])
-VLC_ADD_PLUGIN([subsdec])
-VLC_ADD_PLUGIN([subsusf])
-VLC_ADD_PLUGIN([t140])
-VLC_ADD_PLUGIN([dvbsub])
-VLC_ADD_PLUGIN([cc])
-dnl Video codecs:
-VLC_ADD_PLUGIN([cinepak])
-dnl Audio codecs:
-VLC_ADD_PLUGIN([araw])
-VLC_ADD_PLUGIN([adpcm])
-VLC_ADD_PLUGIN([mpeg_audio])
-VLC_ADD_PLUGIN([lpcm])
-VLC_ADD_PLUGIN([a52])
-VLC_ADD_PLUGIN([dts])
-VLC_ADD_PLUGIN([flac])
 dnl Video filters:
 VLC_ADD_PLUGIN([deinterlace])
+VLC_ADD_PLUGIN([yuvp])
 VLC_ADD_PLUGIN([invert])
 VLC_ADD_PLUGIN([adjust])
 VLC_ADD_PLUGIN([transform])
@@ -1152,41 +1171,18 @@ VLC_ADD_PLUGIN([noise])
 VLC_ADD_PLUGIN([grain])
 VLC_ADD_PLUGIN([extract])
 VLC_ADD_PLUGIN([sharpen])
-VLC_ADD_PLUGIN([seamcarving])
 VLC_ADD_PLUGIN([croppadd])
+VLC_ADD_PLUGIN([canvas])
 VLC_ADD_PLUGIN([blendbench])
 VLC_ADD_PLUGIN([blend])
 VLC_ADD_PLUGIN([scale])
-VLC_ADD_PLUGIN([image])
 VLC_ADD_PLUGIN([vmem])
 VLC_ADD_PLUGIN([logo])
 VLC_ADD_PLUGIN([magnify])
 VLC_ADD_PLUGIN([puzzle])
 VLC_ADD_PLUGIN([colorthres])
-dnl Meta demuxers:
-VLC_ADD_PLUGIN([playlist])
-VLC_ADD_PLUGIN([export])
-VLC_ADD_PLUGIN([nsc])
-VLC_ADD_PLUGIN([xtag])
-dnl Channel mixing audio filters:
-VLC_ADD_PLUGIN([converter_fixed])
-VLC_ADD_PLUGIN([mono])
-VLC_ADD_PLUGIN([trivial_channel_mixer])
-dnl Resampling audio filters:
-VLC_ADD_PLUGIN([trivial_resampler])
-VLC_ADD_PLUGIN([ugly_resampler])
-dnl Audio mixers:
-VLC_ADD_PLUGIN([trivial_mixer])
-dnl Video chromas:
-VLC_ADD_PLUGIN([i420_rgb])
-VLC_ADD_PLUGIN([grey_yuv])
-dnl Video codecs:
-VLC_ADD_PLUGIN([rawvideo])
-dnl Access filters:
-VLC_ADD_PLUGIN([access_filter_timeshift])
-VLC_ADD_PLUGIN([access_filter_record])
-VLC_ADD_PLUGIN([access_filter_dump])
-VLC_ADD_PLUGIN([access_filter_bandwidth])
+VLC_ADD_PLUGIN([scene])
+VLC_ADD_PLUGIN([yuv])
 
 ALIASES="${ALIASES} cvlc"
 
@@ -1224,7 +1220,7 @@ if test "${SYS}" != "mingwce"; then
   VLC_ADD_PLUGIN([i422_i420])
   VLC_ADD_PLUGIN([yuy2_i422])
   VLC_ADD_PLUGIN([yuy2_i420])
-  VLC_ADD_PLUGIN([chroma_chain])
+  VLC_ADD_PLUGIN([chain])
   VLC_ADD_PLUGIN([aout_file])
   VLC_ADD_PLUGIN([linear_resampler])
   VLC_ADD_PLUGIN([bandlimited_resampler])
@@ -1236,6 +1232,7 @@ if test "${SYS}" != "mingwce"; then
   VLC_ADD_PLUGIN([normvol])
   VLC_ADD_PLUGIN([equalizer])
   VLC_ADD_PLUGIN([param_eq])
+  VLC_ADD_PLUGIN([scaletempo])
   VLC_ADD_PLUGIN([converter_float])
   VLC_ADD_PLUGIN([a52tospdif])
   VLC_ADD_PLUGIN([dtstospdif])
@@ -1243,6 +1240,28 @@ if test "${SYS}" != "mingwce"; then
   ALIASES="${ALIASES} rvlc"
 fi
 
+if test "${SYS}" = "mingwce"; then
+  VLC_ADD_PLUGIN([chain])
+  VLC_ADD_PLUGIN([aout_file])
+  VLC_ADD_PLUGIN([linear_resampler])
+  VLC_ADD_PLUGIN([bandlimited_resampler])
+  VLC_ADD_PLUGIN([float32_mixer])
+  VLC_ADD_PLUGIN([spdif_mixer])
+  VLC_ADD_PLUGIN([simple_channel_mixer])
+  VLC_ADD_PLUGIN([headphone_channel_mixer])
+  VLC_ADD_PLUGIN([normvol])
+  VLC_ADD_PLUGIN([converter_float])
+  VLC_ADD_PLUGIN([a52tospdif])
+  VLC_ADD_PLUGIN([dtstospdif])
+  VLC_ADD_PLUGIN([audio_format])
+  VLC_ADD_PLUGIN([i420_yuy2])
+  VLC_ADD_PLUGIN([i422_yuy2])
+  VLC_ADD_PLUGIN([i420_ymga])
+  VLC_ADD_PLUGIN([i422_i420])
+  VLC_ADD_PLUGIN([yuy2_i422])
+  VLC_ADD_PLUGIN([yuy2_i420])
+fi
+
 dnl
 dnl Some plugins aren't useful on some platforms
 dnl
@@ -1257,6 +1276,7 @@ elif test "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGIN([dmo])
     VLC_ADD_PLUGIN([msn])
     VLC_ADD_LIBS([dmo],[-lole32 -luuid])
+    VLC_ADD_PLUGIN([globalhotkeys])
 else
     VLC_ADD_PLUGIN([win32text])
 fi
@@ -1275,7 +1295,7 @@ dnl  Check for fully working MMX intrinsics
 dnl  We need support for -mmmx, we need <mmintrin.h>, and we also need a
 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
 AC_ARG_ENABLE(mmx,
-[  --disable-mmx       disable MMX optimizations (default auto)],,[
+[  --disable-mmx           disable MMX optimizations (default auto)],,[
   case "${host_cpu}" in
     i?86|x86_64)
       enable_mmx="yes"
@@ -1342,7 +1362,8 @@ dnl  Check for fully workin SSE2 intrinsics
 dnl  We need support for -mmmx, we need <emmintrin.h>, and we also need a
 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
 AC_ARG_ENABLE(sse,
-[  --disable-sse       disable SSE (1 and 2) optimizations (default auto)],, [
+[  --disable-sse           disable SSE (1 and 2) optimizations (default auto)]
+,, [
   case "${host_cpu}" in
     i686|x86_64)
       enable_sse=yes
@@ -1496,7 +1517,7 @@ dnl - Others: test should fail
 
   AC_CHECK_HEADERS(altivec.h)
   CPPFLAGS="${CPPFLAGS_save}"
-  
+
   AS_IF([test "${ac_cv_c_altivec}" != "no"], [
     AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
               [Define to 1 if C AltiVec extensions are available.])
@@ -1586,7 +1607,21 @@ 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)
+], [
+  AC_CHECK_HEADERS([valgrind/valgrind.h])
+])
+
+dnl
+dnl Allow runing as root (usefull for people runing on embedded platforms)
+dnl
+AC_ARG_ENABLE(run-as-root,
+[  --enable-run-as-root    allow runing VLC as root (default disabled)])
+AS_IF([test "${enable_run_as_root}" = "yes"],[
+    AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
+              [Define to 1 to allow runing VLC as root (uid 0).])
+])
 
 dnl
 dnl  Test coverage
@@ -1638,7 +1673,8 @@ fi
 
 dnl Lua modules
 AC_ARG_ENABLE(lua,
-  [  --enable-lua            lua playlist, metafetcher and interface plugins (default enabled)])
+  AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
+                 plugins (default enabled)]))
 if test "${enable_lua}" != "no"
 then
   PKG_CHECK_MODULES(LUA, lua5.1,
@@ -1685,6 +1721,23 @@ then
 fi
 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
 
+dnl
+dnl libproxy support
+dnl
+AC_ARG_ENABLE(libproxy,
+  [  --enable-libproxy       libproxy support (default auto)])
+AS_IF([test "${enable_libproxy}" != "no"], [
+  PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
+    AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
+    VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
+    VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
+  ], [
+    AS_IF([test "x${enable_libproxy}" != "x"], [
+      AC_MSG_ERROR([libproxy could not be found on your system])
+    ])
+  ])
+])
+
 dnl
 dnl VideoLAN manager
 dnl
@@ -1698,12 +1751,14 @@ AS_IF([test "${enable_vlm}" != "no"], [
   AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
   VLC_ADD_PLUGIN([telnet])
 ])
+AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
 
 dnl
 dnl Growl notification plugin
 dnl
 AC_ARG_ENABLE(growl,
-  [  --enable-growl          growl notification plugin (default enabled)])
+  [  --enable-growl          growl notification plugin (default disabled)],,
+  [enable_growl=no])
 AS_IF([test "${enable_growl}" != "no"], [
     VLC_ADD_PLUGIN([growl_udp])
     AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
@@ -1741,27 +1796,13 @@ AS_IF([test "${enable_audioscrobbler}" != "no"], [
         VLC_ADD_PLUGIN([audioscrobbler])
   ])
 
-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_PLUGIN([musicbrainz])
-      VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
-      VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS])  ],
-       [AC_MSG_WARN(MusicBrainz library not found)])
-   ])
-
-
 dnl
 dnl Taglibplugin
 dnl
 AC_ARG_ENABLE(taglib,
-  [  --disable-taglib Taglib support (default enabled) ])
+  [  --disable-taglib        Taglib support (default enabled) ])
   AS_IF([test "${enable_taglib}" != "no"],[
-    PKG_CHECK_MODULES(TAGLIB, taglib,
+    PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
       [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
         VLC_ADD_PLUGIN([taglib])
         VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
@@ -1778,15 +1819,15 @@ AC_ARG_WITH(,[Input plugins:])
 
 dnl  live555 input
 dnl
-if test "${enable_livedotcom}" 
+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
@@ -1796,7 +1837,7 @@ if test "${enable_live555}" != "no"; then
   dnl
   dnl test for --with-live555-tree
   dnl
-  if test "${with_livedotcom_tree}" 
+  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}"
@@ -1810,23 +1851,43 @@ if test "${enable_live555}" != "no"; then
       CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
     fi
     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
+
+    AC_CHECK_HEADERS(liveMedia_version.hh, [
+      AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
+      AC_EGREP_CPP(yes,
+        [#include <liveMedia_version.hh>
+         #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
+         #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
+         yes
+         #endif
+         #endif],
+        [AC_MSG_RESULT([no])
+         AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
+lternatively you can use --disable-live555 to disable the liveMedia plugin.])
+      ],[
+        AC_MSG_RESULT([yes])
+        ])
+    ])
+     other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
+     other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
+      if test "${SYS}" = "mingw32"; then
+        # add ws2_32 for closesocket, select, recv
+        other_libs="$other_libs -lws2_32"
+      fi
+    dnl We need to check for pic because live555 don't provide shared libs
+    dnl and we want to build a plugins so we need -fPIC on some arch.
     AC_CHECK_HEADERS(liveMedia.hh, [
       VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
-      AC_CHECK_LIB(liveMedia_pic, main, [
-        # We have -lliveMedia_pic, build plugins
-        VLC_ADD_PLUGIN([live555])
-        VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
-      ], [
+        AC_CHECK_LIB(liveMedia_pic, main, [
+          VLC_ADD_PLUGIN([live555])
+         VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
+        ],[
         AC_CHECK_LIB(liveMedia, main, [
-          # We only have -lliveMedia, do builtins
           VLC_ADD_PLUGIN([live555])
-          VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
-        ])
-      ])
-      if test "${SYS}" = "mingw32"; then
-        # add ws2_32 for closesocket, select, recv
-        VLC_ADD_LIBS([live555],[-lws2_32])
-      fi
+          VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
+        ],[],[${other_libs}]) ],[${other_libs_pic}])
+    ],[
+       AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
     ])
     CPPFLAGS="${CPPFLAGS_save}"
     AC_LANG_POP(C++)
@@ -1841,6 +1902,23 @@ if test "${enable_live555}" != "no"; then
     if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
       AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
 
+      AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
+        AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
+        AC_EGREP_CPP(yes,
+          [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
+           #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
+           #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
+           yes
+           #endif
+           #endif],
+          [AC_MSG_RESULT([no])
+           AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
+lternatively you can use --disable-live555 to disable the liveMedia plugin.])
+        ],[
+          AC_MSG_RESULT([yes])
+          ])
+      ])
+
       VLC_ADD_PLUGIN([live555])
 
       if test "${SYS}" = "mingw32"; then
@@ -1955,7 +2033,7 @@ then
     then
       dnl  Use a custom libraw1394
       AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
-      VLC_ADD_BUILTINS([access_dv])
+      VLC_ADD_PLUGIN([access_dv])
       VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
       VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
     else
@@ -2049,11 +2127,16 @@ then
         [ VLC_ADD_PLUGIN([dvdread])
           VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
         ],[
-          if test -n "${enable_dvdread}"
-          then
-            AC_MSG_ERROR([cannot find libdvdread headers])
-          fi
-        ])
+         AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
+            [ VLC_ADD_PLUGIN([dvdread])
+             VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
+           ],[
+             if test -n "${enable_dvdread}"
+             then
+             AC_MSG_ERROR([cannot find libdvdread headers])
+            fi
+          ])
+       ])
     else
       AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
       real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
@@ -2067,7 +2150,7 @@ then
       then
         dnl  Use a custom libdvdread
         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
-        VLC_ADD_BUILTINS([dvdread])
+        VLC_ADD_PLUGIN([dvdread])
         VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
       else
@@ -2143,7 +2226,8 @@ dnl
 dnl  Windows DirectShow BDA access module
 dnl
 AC_ARG_ENABLE(bda,
-  [  --enable-bda            Win32 DirectShow BDA support (default enabled on Win32)])
+  AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
+                 enabled on Win32)]))
 if test "${enable_bda}" != "no"
 then
   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
@@ -2168,9 +2252,9 @@ then
     if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
     then
       test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
-         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
+      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_PLUGIN([opencv_wrapper])
@@ -2180,7 +2264,7 @@ then
         VLC_ADD_PLUGIN([opencv_example])
         VLC_ADD_LIBS([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++)        
+        AC_LANG_POP(C++)
          else
         dnl  No opencv could be found, sorry
         AC_MSG_RESULT(no)
@@ -2223,6 +2307,7 @@ dnl  libdvbpsi ts demux/mux
 dnl
 AC_ARG_ENABLE(dvbpsi,
   [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
+have_dvbpsi=no
 if test "${enable_dvbpsi}" != "no"
 then
   AC_ARG_WITH(dvbpsi,
@@ -2238,7 +2323,8 @@ then
           if test "${enable_sout}" != "no"; then
             VLC_ADD_PLUGIN([mux_ts])
           fi
-          VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
+          VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
+         have_dvbpsi=yes],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
         [#if defined( HAVE_STDINT_H )
 #   include <stdint.h>
@@ -2262,12 +2348,13 @@ then
       then
         dnl  Use a custom libdvbpsi
         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
-        VLC_ADD_BUILTINS([ts])
+        VLC_ADD_PLUGIN([ts])
         if test "${enable_sout}" != "no"; then
-          VLC_ADD_BUILTINS([mux_ts])
+          VLC_ADD_PLUGIN([mux_ts])
         fi
         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
         VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
+       have_dvbpsi=yes
       else
         dnl  The given libdvbpsi wasn't built
         AC_MSG_RESULT(no)
@@ -2296,7 +2383,7 @@ then
       fi
       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
       VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
-
+      have_dvbpsi=yes
     ],[
       if test -n "${enable_dvbpsi}"
       then
@@ -2347,19 +2434,6 @@ then
     VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
   fi
 
-  AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
-  if test "${have_v4l2_alsa}" = "true"
-  then
-    CFLAGS="${CFLAGS_save}"
-    AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
-                    #define ALSA_PCM_NEW_SW_PARAMS_API
-                    #include <alsa/asoundlib.h>],
-       [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_LDFLAGS([v4l2],[-lasound -lm -ldl])
-    AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
-  fi
-
   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
   AC_CHECK_HEADERS(linux/videodev2.h, [
     VLC_ADD_PLUGIN([v4l2])
@@ -2367,6 +2441,20 @@ then
   CPPFLAGS="${CPPFLAGS_save}"
 fi
 
+dnl
+dnl libv4l2 support for video4linux.
+dnl
+AC_ARG_ENABLE( libv4l2,
+  [  --enable-libv4l2        Libv4l2 Video4Linux2 support (default enabled)])
+if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
+then
+    PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
+      VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
+      VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
+      AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l is available)],
+      AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
+    )
+fi
 
 dnl
 dnl  special access module for Hauppauge PVR cards
@@ -2382,7 +2470,6 @@ then
   then
     AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
   fi
-    
 
   AC_CACHE_CHECK([for new linux/videodev2.h],
       [ac_cv_new_linux_videodev2_h],
@@ -2407,7 +2494,7 @@ dnl  gnomeVFS access module
 dnl
 AC_ARG_ENABLE(gnomevfs,
   [  --enable-gnomevfs       GnomeVFS access module (default disabled)])
-if test "${enable_gnomevfs}" = "yes" 
+if test "${enable_gnomevfs}" = "yes"
 then
   PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
     VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
@@ -2421,6 +2508,8 @@ dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
 AC_ARG_ENABLE(libcdio,
   [  --enable-libcdio        CD input and control library support (default enabled)])
 
+AC_ARG_ENABLE(vcdinfo,
+  [  --enable-libvcdinfo     VCD information library support (default enabled)])
 
 have_libcdio=no
 have_libvcdinfo=no
@@ -2428,26 +2517,30 @@ if test "${enable_libcdio}" != "no"
 then
   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
      have_libcdio=yes
-     AC_DEFINE(HAVE_LIBCDIO, 1, 
+     AC_DEFINE(HAVE_LIBCDIO, 1,
      [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.22,
-     [have_libvcdinfo=yes
-     AC_DEFINE(HAVE_VCDINFO, 1, 
-     [Define if you have libvcdinfo 0.7.22 or greater installed])],
-     [AC_MSG_WARN(VCD information library not found)])
+  if test "${enable_vcdinfo}" != "no"
+  then
+    PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
+       [have_libvcdinfo=yes
+       AC_DEFINE(HAVE_VCDINFO, 1,
+       [Define if you have libvcdinfo 0.7.22 or greater installed])],
+       [AC_MSG_WARN(VCD information library not found)])
+  fi
 fi
 
 dnl
 dnl  VCDX and CDDAX modules
 dnl
 AC_ARG_ENABLE(cddax,
-  [  --enable-cddax          audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
+  AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
+                 via libcdio (default disabled)]))
+
 AC_ARG_ENABLE(libcddb,
   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
+
 if test "${enable_cddax}" = "yes"
 then
   if test "$have_libcdio" = "yes"
@@ -2459,34 +2552,34 @@ then
     PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
     VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
     AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
-  else 
+  else
     AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
     HAVE_CDDAX=no
   fi
 
   if test "$enable_libcddb" != "no"; then
     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
-      HAVE_LIBCDDB=yes 
+      HAVE_LIBCDDB=yes
       AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
       VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
       ],
-      [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
+      [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
       HAVE_LIBCDDB=no])
   fi
+
 fi
 
 AC_ARG_ENABLE(vcdx,
   [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
+
 if test "${enable_vcdx}" = "yes"
 then
   if test "${have_libvcdinfo}" = "yes"
   then
     VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
-  else 
+  else
     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
     HAVE_VCDX=no
   fi
@@ -2499,12 +2592,12 @@ then
 
   if test "$have_libvcdinfo" = "yes"
   then
-    AC_DEFINE(HAVE_VCDX, 1, 
+    AC_DEFINE(HAVE_VCDX, 1,
     [Define for the VCD plugin using libcdio/libvcdinfo])
     VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
     VLC_ADD_PLUGIN([vcdx])
-  else 
+  else
     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
     HAVE_VCDX=no
   fi
@@ -2513,9 +2606,9 @@ fi
 dnl
 dnl  Built-in CD-DA and VCD module
 dnl
-AC_ARG_ENABLE(cdda,           
+AC_ARG_ENABLE(cdda,
   [  --enable-cdda           audio CD via built-in VCD (default enabled)])
+
 AC_ARG_ENABLE(vcd,
   [  --enable-vcd            built-in VCD (default enabled)])
 
@@ -2566,12 +2659,12 @@ then
 
   if test "$enable_libcddb" != "no"; then
     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
-      HAVE_LIBCDDB=yes 
+      HAVE_LIBCDDB=yes
       AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
       VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
       VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
       ],:
-      [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
+      [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
       HAVE_LIBCDDB=no])
   fi
 fi
@@ -2584,22 +2677,21 @@ AC_ARG_ENABLE(dvb,
 
 if test "${enable_dvb}" != "no"
 then
-  AC_ARG_WITH(dvb,
-  [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
-  if test "${with_dvb}" != "no" -a -n "${with_dvb}"
-  then
-    VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
-  fi
-  CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
-  AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
-    if test -z "${with_dvbpsi_tree}"
-    then
-      VLC_ADD_PLUGIN([dvb])
-    else
-      VLC_ADD_BUILTINS([dvb])
-    fi
-  ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
-  CPPFLAGS="${CPPFLAGS_save}"
+    AS_IF([test "${have_dvbpsi}" = "yes" ],[
+    AC_ARG_WITH(dvb,
+     [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
+     if test "${with_dvb}" != "no" -a -n "${with_dvb}"
+     then
+       VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
+     fi
+     CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
+     AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
+     VLC_ADD_PLUGIN([dvb])
+     ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
+     CPPFLAGS="${CPPFLAGS_save}"
+   ],[
+     AC_MSG_WARN([the dvb access module requires libdvbpsi])
+    ])
 fi
 
 dnl
@@ -2624,14 +2716,6 @@ if test "${enable_screen}" != "no"; then
     VLC_ADD_PLUGIN([screen])
     VLC_ADD_CXXFLAGS([screen],[])
     VLC_ADD_LIBS([screen],[-lbe])
-  else
-    CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
-    AC_CHECK_HEADERS(X11/Xlib.h, [
-      VLC_ADD_PLUGIN([screen])
-      VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
-      VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
-    ])
-    CPPFLAGS="${CPPFLAGS_save}"
   fi
 fi
 
@@ -2705,7 +2789,7 @@ AC_ARG_ENABLE(mkv,
 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
   AC_LANG_PUSH(C++)
   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
-    AC_MSG_CHECKING(for libebml version >= 0.7.6)
+    AC_MSG_CHECKING(for libebml version >= 0.7.7)
     AC_EGREP_CPP(yes,
       [#include <ebml/EbmlVersion.h>
        #ifdef LIBEBML_VERSION
@@ -2715,7 +2799,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.7)
+          AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
           AC_EGREP_CPP(yes,
             [#include <matroska/KaxVersion.h>
              #ifdef LIBMATROSKA_VERSION
@@ -2736,7 +2820,7 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
                 AC_CHECK_LIB(ebml, main, [
                   VLC_ADD_PLUGIN([mkv])
                   VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
-                ]) 
+                ])
              )
             ],
             [AC_MSG_RESULT([no])
@@ -2846,6 +2930,26 @@ dnl
 
 AC_ARG_WITH(,[Codec plugins:])
 
+dnl
+dnl wmafixed plugin
+dnl
+AC_ARG_ENABLE(wma-fixed,
+  [  --enable-wma-fixed      libwma-fixed module (default disabled)])
+if test "${enable_wma_fixed}" = "yes"
+then
+  VLC_ADD_PLUGIN([wma_fixed])
+fi
+
+dnl
+dnl shine fixed point mp3 encoder
+dnl
+AC_ARG_ENABLE(shine,
+  [  --enable-shine          shine mp3 encoding module (default disabled)])
+if test "${enable_shine}" = "yes"
+then
+  VLC_ADD_PLUGIN([shine])
+fi
+
 dnl
 dnl  mad plugin
 dnl
@@ -2881,7 +2985,7 @@ then
       VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
       LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
       AC_CHECK_LIB(mad, mad_bit_init, [
-        VLC_ADD_BUILTINS([mpgatofixed32])
+        VLC_ADD_PLUGIN([mpgatofixed32])
         VLC_ADD_LIBS([mpgatofixed32],[-lmad])
         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
       ],[])
@@ -2908,22 +3012,27 @@ dnl
 dnl   libid3tag support (FIXME!!! doesn't work with new input)
 dnl
 AC_ARG_ENABLE( id3tag,
-  [  --disable-id3tag id3tag metadata reader plugin (default enabled)])
-AS_IF([test "${enable_id3tag}" != "no"], [
+[  --disable-id3tag        id3tag metadata reader plugin (default disabled)])
+AS_IF([test "${enable_id3tag}" = "yes"], [
   AC_CHECK_HEADERS(id3tag.h, [
-    AC_CHECK_HEADERS(zlib.h, [
-      VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
-      VLC_ADD_PLUGIN([id3tag])
+      AS_IF([test "${have_zlib}" = "yes"],[
+          VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
+          VLC_ADD_PLUGIN([id3tag])
+       ])
     ])
-  ])
 ])
 
 dnl
 dnl  avcodec decoder/encoder plugin
 dnl
 
+if test "${with_ffmpeg_tree}"
+then
+  AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
+fi
+
 AC_ARG_ENABLE(avcodec,
-[  --enable-avcodec       libavcodec codec (default enabled)])
+[  --enable-avcodec        libavcodec codec (default enabled)])
 if test "${enable_avcodec}" != "no"
 then
   PKG_CHECK_MODULES(AVCODEC,[libavcodec libavutil],
@@ -2938,7 +3047,7 @@ then
       VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
+      AC_MSG_FAILURE([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
   ])
 fi
 
@@ -2947,7 +3056,7 @@ dnl  avformat demuxer/muxer plugin
 dnl
 
 AC_ARG_ENABLE(avformat,
-[  --enable-avformat   libavformat containers (default enabled)])
+[  --enable-avformat       libavformat containers (default enabled)])
 if test "${enable_avformat}" != "no"
 then
   PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
@@ -2962,7 +3071,7 @@ then
       VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
+      AC_MSG_FAILURE([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
   ])
 fi
 
@@ -2971,7 +3080,8 @@ dnl  swscale image scaling and conversion plugin
 dnl
 
 AC_ARG_ENABLE(swscale,
-[  --enable-swscale    libswscale image scaling and conversion (default enabled)])
+  AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
+                 (default enabled)]))
 if test "${enable_swscale}" != "no"
 then
   PKG_CHECK_MODULES(SWSCALE,[libswscale],
@@ -2999,7 +3109,8 @@ dnl  from VLC.
 dnl
 
 AC_ARG_ENABLE(imgresample,
-[  --enable-imgresample deprecated libavcodec image scaling and conversion (default disabled)])
+  AS_HELP_STRING([--enable-imgresample],[deprecated libavcodec image scaling
+                 and conversion (default disabled)]))
 if test "${enable_imgresample}" = "yes"
 then
   PKG_CHECK_MODULES(IMGRESAMPLE,[libavcodec],
@@ -3017,7 +3128,7 @@ then
           AC_MSG_WARN([Could not find img_resample in libavcodec.])
           if test "${enable_swscale}" != "no"
           then
-            AC_MSG_ERROR([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
+            AC_MSG_FAILURE([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
           fi
        # That sed hack to add -rpath is kind of ugly but at least it fixes
         # detection when linking against a shared libavcodec with
@@ -3035,10 +3146,10 @@ dnl  postproc plugin
 dnl
 
 AC_ARG_ENABLE(postproc,
-[  --enable-postproc   libpostproc image post-processing (default enabled)])
+[  --enable-postproc       libpostproc image post-processing (default enabled)])
 if test "${enable_postproc}" != "no"
 then
-  PKG_CHECK_MODULES(POSTPROC,[libpostproc],
+  PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
     [
       VLC_SAVE_FLAGS
       CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
@@ -3076,7 +3187,7 @@ then
     then
       dnl  Use a custom faad
       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
-      VLC_ADD_BUILTINS([faad])
+      VLC_ADD_PLUGIN([faad])
       VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
     else
@@ -3124,7 +3235,7 @@ then
     then
       dnl  Use a custom twolame
       AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
-      VLC_ADD_BUILTINS([twolame])
+      VLC_ADD_PLUGIN([twolame])
       VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
     else
@@ -3142,7 +3253,7 @@ then
       VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
       VLC_ADD_LIBS([twolame],[-ltwolame]) ],
         [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
-    LDFLAGS="${LDFLAGS_save}"  
+    LDFLAGS="${LDFLAGS_save}"
     CPPFLAGS="${CPPFLAGS_save}"
   fi
 fi
@@ -3156,7 +3267,7 @@ if test "${enable_quicktime}" != "no" &&
   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
 then
   if test "${SYS}" = "mingw32"; then
-    VLC_ADD_BUILTINS([quicktime])
+    VLC_ADD_PLUGIN([quicktime])
   else
   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
     [ VLC_ADD_PLUGIN([quicktime])
@@ -3184,22 +3295,20 @@ if test "${enable_realrtsp}" = "yes"; then
   VLC_ADD_PLUGIN([access_realrtsp])
 fi
 
-dnl
-dnl MP4 module
-dnl
-AC_CHECK_HEADERS(zlib.h, [
-  VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
-] )
+AC_ARG_ENABLE(libsysfs,
+  [  --enable-libsysfs       Get user key from firewire connected iPod via libsysfs (default enabled)])
 
-AC_CHECK_HEADERS(sysfs/libsysfs.h, [
-  VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
-] )
+AS_IF([test "${enable_libsysfs}" != "no"],[
+  AC_CHECK_HEADERS(sysfs/libsysfs.h, [
+    VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
+  ] )
+])
 
 dnl
 dnl skins2 module
 dnl
 AC_ARG_ENABLE(libtar,
-  [  --enable-libtar support for skins2 (default enabled)])
+  [  --enable-libtar         libtar support for skins2 (default enabled)])
 
 AS_IF([test "${enable_libtar}" != "no"],[
   AC_CHECK_HEADERS(libtar.h, [
@@ -3236,7 +3345,7 @@ then
       VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
       LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
       AC_CHECK_LIB(a52, a52_free, [
-        VLC_ADD_BUILTINS([a52tofloat32])
+        VLC_ADD_PLUGIN([a52tofloat32])
         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
         VLC_ADD_LIBS([a52tofloat32],[-la52])
         ],[
@@ -3295,7 +3404,8 @@ AS_IF([test "x${with_dts_tree}" != "x"], [
 ])
 
 AC_ARG_ENABLE(dca,
-  [  --enable-dca            DTS Coherent Acoustics support with libdca (default enabled)])
+  AS_HELP_STRING([--enable-dca],[DTS Coherent Acoustics support with libdca
+                 (default enabled)]))
 AS_IF([test "${enable_dca}" != "no"], [
   AC_ARG_WITH(dca-tree,
     [    --with-dca-tree=PATH  libdca tree for static linking],,
@@ -3381,8 +3491,7 @@ if test "${enable_libmpeg2}" != "no"
 then
   AC_ARG_WITH(libmpeg2-tree,
   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
-  if test -n "${with_libmpeg2_tree}"
-  then
+  AS_IF([test -n "${with_libmpeg2_tree}"],[
     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
     if test -z "${real_libmpeg2_tree}"
@@ -3395,34 +3504,22 @@ then
     then
       dnl  Use a custom libmpeg2
       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
-      VLC_ADD_BUILTINS([libmpeg2])
+      VLC_ADD_PLUGIN([libmpeg2])
       VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
-      eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
     else
       dnl  The given libmpeg2 wasn't built
       AC_MSG_RESULT(no)
       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
     fi
-  else
-    AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
-      AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
-      AC_EGREP_CPP(yes,
-        [#include <mpeg2dec/mpeg2.h>
-         #ifdef MPEG2_RELEASE
-         #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
-         yes
-         #endif
-         #endif],
-        [AC_MSG_RESULT([yes])
+  ],[
+   PKG_CHECK_MODULES(LIBMPEG2,[libmpeg2 > 0.3.2],[
           VLC_ADD_PLUGIN([libmpeg2])
-          VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
-        [AC_MSG_RESULT([no])
-          AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])],
-
-      [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])]
-    )
-  fi
+          VLC_ADD_LIBS([libmpeg2], $LIBMPEG2_LIBS)
+          VLC_ADD_CFLAGS([libmpeg2], $LIBMPEG2_CFLAGS)
+       ],
+      AC_MSG_WARN([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ . Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.]))
+  ])
 fi
 
 dnl
@@ -3446,7 +3543,7 @@ then
     fi
     if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
     then
-      dnl  Use a custom vorbis 
+      dnl  Use a custom vorbis
       AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
       VLC_ADD_PLUGIN([vorbis])
       VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
@@ -3539,7 +3636,7 @@ then
     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
     if test -f "${real_tarkin_tree}/tarkin.o"
     then
-      VLC_ADD_BUILTINS([tarkin])
+      VLC_ADD_PLUGIN([tarkin])
       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
       VLC_ADD_LIBS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
       AC_MSG_RESULT(yes)
@@ -3576,14 +3673,30 @@ dnl
 AC_ARG_ENABLE(dirac,
 [  --enable-dirac          experimental dirac codec (default disabled)])
 if test "${enable_dirac}" = "yes"; then
-  PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [
+  PKG_CHECK_MODULES(DIRAC,[dirac >= 0.10.0], [
       VLC_ADD_PLUGIN([dirac])
       VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
       VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
-      AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
+      AC_MSG_ERROR([libdirac >= 0.10.0 doesn't appear to be installed on your system.])
   ])
 fi
 
+dnl
+dnl  schroedinger decoder plugin (for dirac format video)
+dnl
+AC_ARG_ENABLE(schroedinger,
+[  --disable-schroedinger  high performance dirac codec (default enabled)])
+if test "${enable_schroedinger}" != "no"; then
+  PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0], [
+      VLC_ADD_PLUGIN([schroedinger])
+      VLC_ADD_CFLAGS([schroedinger],[$SCHROEDINGER_CFLAGS])
+      VLC_ADD_LIBS([schroedinger],[$SCHROEDINGER_LIBS]) ], [
+        AS_IF([test "x${enable_schroedinger}" != "x"], [
+          AC_MSG_ERROR([${SCHROEDINGER_PKG_ERRORS}])
+        ])
+])
+fi
+
 dnl
 dnl  PNG decoder module
 dnl
@@ -3632,6 +3745,9 @@ if test "${enable_x264}" != "no"; then
         VLC_ADD_PLUGIN([x264])
         VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
+        if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
+          VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
+        fi
       ],[
         AC_MSG_ERROR([the specified tree hasn't been compiled])
       ])
@@ -3645,6 +3761,9 @@ if test "${enable_x264}" != "no"; then
         VLC_ADD_PLUGIN([x264])
         VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
+        if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
+          VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
+        fi
       ],[
         if test "${enable_x264}" = "yes"; then
             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
@@ -3678,28 +3797,29 @@ dnl telx module
 dnl uncompatible
 dnl
 AC_ARG_ENABLE(zvbi,
-  [  --enable-zvbi           VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
+  AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
+                 libzvbi (default enabled)]))
 AC_ARG_ENABLE(telx,
-  [  --enable-telx           Teletext decoding module (conflicting with zvbi) (default disabled)])
+  AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
+                 zvbi) (default enabled if zvbi is absent)]))
 
 AS_IF( [test "${enable_zvbi}" != "no"],[
-  AS_IF( [test "${enable_telx}" = "yes"],[
-    AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
-  ],[
     PKG_CHECK_MODULES(ZVBI,
        zvbi-0.2 >= 0.2.25,
        [
          VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
          VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
           VLC_ADD_PLUGIN([zvbi])
-         AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built]) 
+         AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
+         AS_IF( [test "${enable_telx}" = "yes"],[
+                 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
+                              Using zvbi.])
+                 ])
        ],[
          AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
-         enable_telx="yes"
        ])
-    ])  
-  ])
-AS_IF( [test "${enable_telx}" = "yes"],[
+    ])
+AS_IF( [test "${enable_telx}" != "no" ],[
   VLC_ADD_PLUGIN([telx])
   ])
 
@@ -3707,7 +3827,7 @@ dnl
 dnl asa/csri subtitle rendering module
 dnl
 AC_ARG_ENABLE(csri,
-  [  --enable-csri          Subtitle support using CSRI / asa (default disabled)])
+  [  --enable-csri           Subtitle support using CSRI / asa (default disabled)])
 AS_IF( [test "${enable_csri}" = "yes"], [
   PKG_CHECK_MODULES(CSRI,
       csri >= 0.1.0,
@@ -3720,17 +3840,45 @@ AS_IF( [test "${enable_csri}" = "yes"], [
       ])
   ])
 
+dnl
+dnl libass subtitle rendering module
+dnl
+AC_ARG_ENABLE(libass,
+  [  --enable-libass         Subtitle support using libass (default disabled)])
+AS_IF( [test "${enable_libass}" = "yes"], [
+  PKG_CHECK_MODULES(LIBASS, libass >= 0.9.5,
+      [
+        VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
+        VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
+        VLC_ADD_PLUGIN([libass])
+
+        AC_CHECK_HEADERS(fontconfig/fontconfig.h,
+          [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
+        if test "${SYS}" = "mingw32"; then
+           VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz -lxml2])
+        else
+           VLC_ADD_LIBS([libass],[-lfontconfig])
+        fi
+       ])
+      ],[
+        AC_MSG_WARN([LIBASS library not found])
+      ])
+  ])
+
 dnl
 dnl asa demuxer
 dnl
 AC_ARG_ENABLE(asademux,
-  [  --enable-asademux      asa subtitle demuxing (default disabled)])
+  [  --enable-asademux       asa subtitle demuxing (default disabled)])
 AS_IF( [test "${enable_asademux}" = "yes"], [
   PKG_CHECK_MODULES(PCRE,
       libpcre >= 6.5,
       [
         VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
         VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
+       if test "${SYS}" = "mingw32"; then
+               VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
+        fi
         VLC_ADD_PLUGIN([asademux])
       ],[
         AC_MSG_WARN([PCRE library not found (required for asademux)])
@@ -3753,7 +3901,7 @@ dnl
 AC_ARG_ENABLE(kate,
 [  --enable-kate           kate codec (default enabled)])
 AS_IF([test "${enable_kate}" != "no"], [
-  PKG_CHECK_MODULES(KATE,[kate >= 0.1.2], [
+  PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
       VLC_ADD_PLUGIN([kate])
       VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
       VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
@@ -3777,15 +3925,63 @@ AS_IF([test "${enable_kate}" != "no"], [
 ])
 
 
+dnl
+dnl  tiger decoder plugin
+dnl
+AC_ARG_ENABLE(tiger,
+[  --enable-tiger          Tiger rendering library for Kate streams (default enabled)])
+AS_IF([test "${enable_tiger}" != "no"], [
+  PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
+      AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
+      VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
+      VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
+        AS_IF([test "x${enable_tiger}" != "x"], [
+          AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
+        ])
+  ])
+])
+
+
 dnl
 dnl  Video plugins
 dnl
 
 AC_ARG_WITH(,[Video plugins:])
 
+dnl
+dnl  Xlib
+dnl
+
+AC_PATH_XTRA()
+AC_ARG_ENABLE(x11,
+  [  --enable-x11            X11 support (default enabled)],, [
+  AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
+    enable_x11="yes"
+  ], [
+    enable_x11="no"
+  ])
+])
+
+CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
+
+AS_IF([test "${enable_x11}" != "no"], [
+  AC_CHECK_HEADERS(X11/Xlib.h, [
+    VLC_ADD_PLUGIN([x11_screen])
+    VLC_ADD_CPPFLAGS([x11_screen],[${X_CFLAGS}])
+    VLC_ADD_LIBS([x11_screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+
+    VLC_ADD_PLUGIN([panoramix])
+    VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+    VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
+
+    VLC_ADD_PLUGIN([x11])
+    VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+    VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
+
+    AC_CHECK_LIB(Xext, XShmAttach, [VLC_ADD_LIBS([x11],[-lXext])])
+  ])
+
 dnl Check for DPMS
-if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-  CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
@@ -3798,78 +3994,37 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
   ],,[
     #include <X11/Xlib.h>
   ])
-  CPPFLAGS="${CPPFLAGS_save}"
-fi
-
-dnl
-dnl  X11 module
-dnl  (enabled by default except on win32)
-dnl
-AC_ARG_ENABLE(x11,
-  [  --enable-x11            X11 support (default enabled)])
-if test "${enable_x11}" != "no" &&
-  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
-   test "${enable_x11}" = "yes"); then
-  CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
-  AC_CHECK_HEADERS(X11/Xlib.h, [
-    VLC_ADD_PLUGIN([panoramix])
-    VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
-    VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
-    AC_CHECK_LIB(Xext, XShmAttach, [
-      VLC_ADD_PLUGIN([x11])
-      VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
-      VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
-    ])
-  ])
-  CPPFLAGS="${CPPFLAGS_save}"
-fi
+])
 
 dnl
 dnl  XVideo module
 dnl  (enabled by default except on win32)
 dnl
 AC_ARG_ENABLE(xvideo,
-  [  --enable-xvideo         XVideo support (default enabled)])
-if test "${enable_xvideo}" != "no" &&
-  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
-   test "${enable_xvideo}" = "yes"); then
-  CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
+  [  --enable-xvideo         XVideo support (default enabled)],, [
+    enable_xvideo="$enable_x11"
+])
+AS_IF([test "${enable_xvideo}" != "no"], [
   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
     CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
     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 /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
         VLC_ADD_PLUGIN([xvideo])
         VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
         VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
-      else
-        AC_CHECK_LIB(Xv_pic,XvPutImage,[
-          VLC_ADD_PLUGIN([xvideo])
-          VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
-          VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
-        ],[
-          VLC_ADD_BUILTINS([xvideo])
-          VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
-          VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
-        ])
-      fi
     ])
     CFLAGS="${CFLAGS_save}"
-  ]
-  CPPFLAGS="${CPPFLAGS_save}")
-fi
+  ])
+])
 
 dnl
 dnl  GLX module
 dnl  (enabled by default except on win32)
 dnl
 AC_ARG_ENABLE(glx,
-  [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
-if test "${enable_glx}" != "no" &&
-  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
-   test "${enable_glx}" = "yes"); then
-  CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
+  [  --enable-glx            X11 OpenGL (GLX) support (default enabled)],, [
+  enable_glx="$enable_x11"
+])
+AS_IF([test "${enable_glx}" != "no"], [
   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)
@@ -3880,37 +4035,33 @@ if test "${enable_glx}" != "no" &&
       VLC_ADD_LIBS([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  (disabled 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}"
+  [  --enable-xvmc           XVMC support (default disabled)],, [
+  enable_xvmc="no"
+])
+AS_IF([test "${enable_xvmc}" != "no"], [
   AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
     VLC_ADD_PLUGIN([xvmc])
     VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
     VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
   ])
-  CPPFLAGS="${CPPFLAGS_save}"
-fi
+])
 
 dnl
 dnl  Check for the Xinerama extension
 dnl
 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
+  [  --enable-xinerama       Xinerama support (default enabled)],, [
+  enable_xinerama="$enable_xvideo"
+])
+AS_IF([test "$enable_xinerama" != "no"], [
   ac_cv_have_xinerama="no"
-  CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
   CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
   AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
     AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
@@ -3930,15 +4081,11 @@ if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
   if test "${ac_cv_have_xinerama}" = "yes"; then
     AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
   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_LIBS([xvideo],[-lXxf86vm_pic])
@@ -3964,9 +4111,34 @@ dnl
     [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
   ])
   CFLAGS="${CFLAGS_save}"
-  CPPFLAGS="${CPPFLAGS_save}"
+])
+
+dnl End of Xlib tests
+CPPFLAGS="${CPPFLAGS_save}"
 
-fi
+
+dnl
+dnl  X C Bindings modules
+dnl  (work in progress)
+dnl
+AC_ARG_ENABLE(xcb,
+  [  --enable-xcb            X C Bindings work-in-progress (default disabled)],
+  ,[enable_xcb="no"])
+AS_IF([test "${enable_xcb}" != "no"], [
+  PKG_CHECK_MODULES(XPROTO, [xproto])
+
+  dnl libxcb
+  PKG_CHECK_MODULES(XCB, [xcb])
+  PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
+
+  dnl xcb-utils
+  PKG_CHECK_MODULES(XCB_AUX, [xcb-aux])
+  PKG_CHECK_MODULES(XCB_IMAGE, [xcb-image])
+  PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms])
+
+  VLC_ADD_PLUGIN([xcb])
+  VLC_ADD_PLUGIN([xcb_window])
+])
 
 dnl
 dnl  OpenGL module
@@ -4093,6 +4265,8 @@ AC_ARG_ENABLE(freetype,
   [  --enable-freetype       freetype support (default enabled)])
 AC_ARG_ENABLE(fribidi,
   [  --enable-fribidi        fribidi support (default enabled)])
+AC_ARG_ENABLE(fontconfig,
+  [  --enable-fontconfig,    fontconfig support (default enabled)])
 if test "${enable_freetype}" != "no"
 then
    PKG_CHECK_MODULES(FREETYPE, freetype2,[
@@ -4102,12 +4276,16 @@ then
       VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
       if test "${SYS}" = "mingw32"; then
         VLC_ADD_LIBS([freetype skins2],[-lxml2])
-     fi
-    AC_CHECK_HEADERS(fontconfig/fontconfig.h,
-      [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
-       VLC_ADD_LIBS([freetype],[-lfontconfig])])
-    AC_CHECK_HEADERS(Carbon/Carbon.h,
-      [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
+        VLC_ADD_LIBS([freetype],[-liconv])
+      fi
+      if test "${enable_fontconfig}" != "no"
+      then
+        AC_CHECK_HEADERS(fontconfig/fontconfig.h,
+          [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
+           VLC_ADD_LIBS([freetype],[-lfontconfig])])
+        AC_CHECK_HEADERS(Carbon/Carbon.h,
+          [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
+      fi
   ],[
   have_freetype=no
   AS_IF([ test "${enable_freetype}" =  "yes"],[
@@ -4132,41 +4310,17 @@ dnl  libxml2 module
 dnl
 AC_ARG_ENABLE(libxml2,
   [  --enable-libxml2        libxml2 support (default enabled)])
-if test "${enable_libxml2}" != "no"
-then
-  XML2_PATH="${PATH}"
-  AC_ARG_WITH(xml2-config-path,
-    [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
-    [ if test "${with_xml2_config_path}" != "no"; then
-        XML2_PATH="${with_xml2_config_path}:${PATH}"
-      fi ])
-  AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
-  if test "${XML2_CONFIG}" != "no"; then
-    VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
-    VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
-    dnl depends on the xmlTextReader extension
-    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
-    LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
-    AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
-      AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
-        VLC_ADD_PLUGIN([xml]) ],[
-          AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
-          if test "${enable_xml2}" = "yes"; then
-            AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
-          fi])
-       ],[
-      AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
-      if test "${enable_xml2}" = "yes"; then
-        AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
-      fi])
-    LDFLAGS="${LDFLAGS_save}"
-    CPPFLAGS="${CPPFLAGS_save}"
-  else
-    if test "${enable_xml2}" = "yes"; then
-      AC_MSG_ERROR([Could not find libxml2])
-    fi
-  fi
-fi
+AS_IF([test "${enable_libxml2}" != "no"], [
+  PKG_CHECK_MODULES([XML2], [libxml-2.0 >= 2.5], [
+    VLC_ADD_CPPFLAGS([xml],[${XML2_CFLAGS}])
+    VLC_ADD_LIBS([xml],[${XML2_LIBS}])
+    VLC_ADD_PLUGIN([xml])
+  ], [
+    AS_IF([test "x${enable_xml2}" != "x"], [
+      AC_MSG_ERROR([Could not find libxml version 2.5 or higher])
+    ])
+  ])
+])
 
 dnl
 dnl  SVG module
@@ -4175,7 +4329,7 @@ AC_ARG_ENABLE(svg,
   [  --enable-svg            SVG support (default disabled)])
 if test "${enable_svg}" = "yes"
 then
-  PKG_CHECK_MODULES(SVG, 
+  PKG_CHECK_MODULES(SVG,
        librsvg-2.0 >= 2.9.0,
        [
          VLC_ADD_LIBS([svg],[$SVG_LIBS])
@@ -4317,6 +4471,20 @@ AC_ARG_ENABLE(mga,
       VLC_ADD_PLUGIN([mga])
     fi ])
 
+dnl
+dnl  OMAP Framebuffer module
+dnl
+AC_ARG_ENABLE(omapfb,
+  [  --enable-omapfb         OMAP framebuffer support (default disabled)])
+    if test "${enable_omapfb}" = "yes"
+    then
+      AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
+        VLC_ADD_PLUGIN([omapfb])
+        AC_CHECK_HEADERS(X11/Xlib.h, [
+          VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
+      ])
+    fi
+
 dnl
 dnl  SVGAlib module
 dnl
@@ -4335,7 +4503,7 @@ dnl  TODO: support for static linking
 dnl
 AC_ARG_ENABLE(directfb,
   [  --enable-directfb       DirectFB support (default disabled)])
-AC_ARG_WITH(directfb, 
+AC_ARG_WITH(directfb,
   [    --with-directfb=PATH  path to DirectFB headers and libraries])
 
 if test "${enable_directfb}" = "yes"; then
@@ -4371,14 +4539,14 @@ if test "${enable_directfb}" = "yes"; then
             LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
             CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
         fi
-    else 
+    else
         dnl Look for directfb-config
         AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
         if test "${DIRECTFB_CONFIG}" != "no"; then
             CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
             LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
             have_directfb="true"
-        else 
+        else
             dnl Trying with pkg-config
             PKG_CHECK_MODULES(DIRECTFB, directfb, [
                 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
@@ -4391,11 +4559,11 @@ if test "${enable_directfb}" = "yes"; then
         VLC_ADD_PLUGIN([directfb])
         VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
         VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
-    else 
+    else
         AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
     fi
 fi
+
 
 
 dnl
@@ -4405,42 +4573,19 @@ AC_ARG_ENABLE(ggi,
   [  --enable-ggi            GGI support (default disabled)])
 if test "${enable_ggi}" = "yes"
 then
-  VLC_ADD_PLUGIN([ggi])
-  VLC_ADD_LIBS([ggi],[-lggi])
-  AC_ARG_WITH(ggi,
-    [    --with-ggi=PATH       path to libggi],
-    [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
-      then
-        VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
-        VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
-      fi ])
-fi
-
-dnl
-dnl  Glide module
-dnl
-AC_ARG_ENABLE(glide,
-  [  --enable-glide          Glide (3dfx) support (default disabled)])
-if test "${enable_glide}" = "yes"
-then
-  CFLAGS_save="${CFLAGS}"
-  AC_ARG_WITH(glide,
-    [    --with-glide=PATH     path to libglide],
-    [ if test "${with_glide}" != "no" -a -n "${with_glide}"
-      then
-        VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
-        VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
-        CFLAGS="$CFLAGS -I${with_glide}/include"
-    fi ])
-   CFLAGS="$CFLAGS -I/usr/include/glide"
-   AC_CHECK_HEADER(glide.h,[   
-      VLC_ADD_PLUGIN([glide])
-      VLC_ADD_LIBS([glide],[-lglide2x -lm])
-      VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
+  AC_CHECK_HEADER([ggi/ggi.h],[
+    VLC_ADD_PLUGIN([ggi])
+    VLC_ADD_LIBS([ggi],[-lggi])
+    AC_ARG_WITH(ggi,
+      [    --with-ggi=PATH       path to libggi],
+      [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
+        then
+          VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
+          VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
+        fi ])
     ],[
-      AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
-     ])
-   CFLAGS="${CFLAGS_save}"
+       AC_MSG_ERROR([LibGGI development files can't be found])
+    ])
 fi
 
 dnl
@@ -4501,6 +4646,8 @@ if test "${enable_wingdi}" != "no"; then
   if test "${SYS}" = "mingwce"; then
     VLC_ADD_PLUGIN([wingdi])
     VLC_ADD_PLUGIN([wingapi])
+    VLC_ADD_LIBS([wingdi],[-laygshell])
+    VLC_ADD_LIBS([wingapi],[-laygshell])
   fi
 fi
 
@@ -4522,26 +4669,11 @@ if test "${enable_oss}" != "no" &&
 then
   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
     VLC_ADD_PLUGIN([oss])
+    VLC_ADD_PLUGIN([access_oss])
     AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
   ])
 fi
 
-dnl
-dnl  Esound module
-dnl
-AC_ARG_ENABLE(esd,
-  [  --enable-esd            Esound library support (default disabled)],
-  [if test "${enable_esd}" = "yes"
-   then
-     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
-     if test "${ESD_CONFIG}" != "no"
-     then
-       VLC_ADD_PLUGIN([esd])
-       VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
-       VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
-     fi
-   fi])
-
 dnl
 dnl  Pulseaudio module
 dnl
@@ -4572,22 +4704,6 @@ AC_ARG_ENABLE(portaudio,
      fi
    fi])
 
-dnl
-dnl  aRts module -- broken (freeze wxWidgets)
-dnl
-AC_ARG_ENABLE(arts,
- [  --enable-arts           aRts sound server (default disabled)],
- [if test "${enable_arts}" = "yes"
-  then
-    AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
-    if test "${ARTS_CONFIG}" != "no"
-    then
-      VLC_ADD_PLUGIN([arts])
-      VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
-      VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
-    fi
-  fi])
-
 dnl
 dnl  ALSA module
 dnl
@@ -4606,6 +4722,8 @@ then
         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
     VLC_ADD_PLUGIN([alsa])
     VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
+    VLC_ADD_PLUGIN([access_alsa])
+    VLC_ADD_LIBS([access_alsa],[-lasound -lm -ldl])
   else
     if test "${enable_alsa}" = "yes"; then
       AC_MSG_ERROR([Could not find ALSA development headers])
@@ -4636,7 +4754,7 @@ AC_ARG_ENABLE(macosx-audio,
 if test "${enable_macosx-audio}" != "no" &&
   (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
 then
-  AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
+  AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
     [ VLC_ADD_PLUGIN([auhal])
       VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
@@ -4698,7 +4816,7 @@ AC_ARG_ENABLE(cyberlink,
     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
     AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
       [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
-        VLC_ADD_PLUGIN([upnp_cc]) 
+        VLC_ADD_PLUGIN([upnp_cc])
       ],[
         AC_MSG_ERROR([cannot find CyberLink for C++ headers])
       ])
@@ -4749,7 +4867,7 @@ dnl
 dnl UPnP Plugin (Intel SDK)
 dnl
 AC_ARG_ENABLE(upnp,
-  [  --enable-upnp           Intel UPnP SDK (default enabled)])
+  AS_HELP_STRING([--enable-upnp],[Intel UPnP SDK (default enabled)]))
 
 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
 AS_IF([test "x${enable_upnp}" != "xno"], [
@@ -4778,14 +4896,15 @@ AC_ARG_WITH(,[Interface plugins:])
 dnl special case for BeOS
 if test "${SYS}" = "beos"
 then
-    VLC_ADD_BUILTINS([beos])
+    VLC_ADD_PLUGIN([beos])
 fi
 
 dnl
 dnl Skins2 module
 dnl
 AC_ARG_ENABLE(skins2,
-  [  --enable-skins2         Skins2 interface module (default disabled)])
+  [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
+   enabled except on MacOSX, BeOS and WinCE)])])
 if test "${enable_skins2}" = "yes" ||
   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
@@ -4823,7 +4942,9 @@ if test "${enable_skins2}" = "yes" ||
     VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
   fi fi fi
 fi
-AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
+AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
+        (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
+         test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
 
 dnl
 dnl  PDA Gtk+2 module
 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
 
 dnl
-dnl  wxWidgets module
+dnl Maemo
 dnl
-AC_ARG_ENABLE(wxwidgets,
-  [  --enable-wxwidgets      wxWidgets support (default disabled)])
-
-if test "${enable_wxwidgets}" = "yes"
+AC_ARG_ENABLE(maemo,
+  [  --enable-maemo          Internet tablets based on Maemo SDK (default disabled)])
+if test "${enable_maemo}" = "yes"
 then
-  AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
-  WXWIDGETS_PATH="${PATH}"
-  AC_ARG_WITH(wx-config-path,
-    [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
-    [ if test "${with_wx_config_path}" != "no"
-      then
-        WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
-      fi ])
-  WXWIDGETS_NAME="wx-config"
-  AC_ARG_WITH(wx-config,
-    [    --with-wx-config=NAME      wx-config name (default is wx-config)],
-    [ if test "${with_wx_config}" != "no"
-      then
-        WXWIDGETS_NAME="${with_wx_config}"
-      fi ])
-  # look for wx-config
-  AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
-  if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
-  then
-    if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
-    then
-      AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
-    fi
-    AC_LANG_PUSH(C++)
-    # Turn this error:
-    #   playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
-    # into a warning. However better would be to fix playlist.cpp
-    AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
-        [ac_cv_cxx_fpermissive],
-        [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
-         AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
-                        ac_cv_cxx_fpermissive=no)])
-    if test "${ac_cv_cxx_fpermissive}" = "yes"; then
-      VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
-    fi
-    VLC_ADD_LIBS([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_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
-    fi
-    if ${WX_CONFIG} --unicode
-    then 
-      # wxwidgets should provide the following flags but does not
-      # the following is required to compile for win32
-      VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
-    else
-      AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
-    fi
-    if test "$have_libcdio" = "yes"
-    then 
-      VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
-      VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
-    else 
-      AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
-    fi
-
-    if test "$have_libvcdinfo" = "yes"
-    then 
-      VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
-      VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
-    else 
-      AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
-    fi
-
-    # now look for the wxprec.h header
-    CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
-    ac_cv_wx_headers=yes
-    AC_CHECK_HEADERS(wx/wxprec.h, , [
-      ac_cv_wx_headers=no
-      echo "Cannot find wxWidgets development headers."
+  PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
+    VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
+    VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
+    VLC_ADD_PLUGIN([maemo])
+    VLC_ADD_PLUGIN([swscale_maemo])
+    AC_DEFINE([BUILD_MAEMO], 1, [Define if you're using Maemo interfaces])
+    ALIASES="${ALIASES} mvlc"
+  ], [
+    AS_IF([test "${enable_maemo}" = "yes"],[
+      AC_MSG_ERROR([Hildon libraries not found])
     ])
-    if test "${ac_cv_wx_headers}" = "yes"
-    then
-      VLC_ADD_PLUGIN([wxwidgets])
-      AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
-      ALIASES="${ALIASES} wxvlc"
-    fi
-    CPPFLAGS="${CPPFLAGS_save}"
-    AC_LANG_POP(C++)
-  fi
-  dnl WxWidgets plugin will yield incorrect code without this
-  VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
+    enable_maemo="no"
+  ])
 fi
+AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
 
 dnl
 dnl QT 4
 dnl
-enableqt4=false
 AC_ARG_ENABLE(qt4,
-  [  --enable-qt4            QT 4 support (default enabled) ])
-AS_IF([test "${enable_qt4}" != "no" &&
-  (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
-  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
-    [ VLC_ADD_PLUGIN([qt4])
-      AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
-      ALIASES="${ALIASES} qvlc"
-      enableqt4=true
-      if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then
-          VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
-      else
-          VLC_ADD_LIBS([qt4],[$QT4_LIBS])
-      fi
-      VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
-      AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
-      AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
-      AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
-      ],
-      AS_IF([test "${enable_qt4}" = "yes"],[
-        AC_MSG_ERROR(QT4 library not found)
-      ],[
-        AC_MSG_WARN(QT4 library not found)
-      ])
-    )
+  [  --enable-qt4            QT 4 support (default enabled) ],, [
+  AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
 ])
-AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
+AS_IF([test "${enable_qt4}" != "no"], [
+  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.3.0], [
+    VLC_ADD_PLUGIN([qt4])
+    AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
+    ALIASES="${ALIASES} qvlc"
+    AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"], [
+        VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
+    ], [
+        VLC_ADD_LIBS([qt4],[$QT4_LIBS])
+    ])
+    QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
+    AC_SUBST(QT4LOCALEDIR)
+    VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
+    AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+    AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+    AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+  ], [
+    AS_IF([test "${enable_qt4}" = "yes"],[
+      AC_MSG_ERROR([Qt 4 library not found])
+    ],[
+      AC_MSG_WARN([Qt 4 library not found])
+    ])
+    enable_qt4="no"
+  ])
+])
+AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
 
 dnl
 dnl  WinCE GUI module
@@ -4987,7 +5032,7 @@ AC_ARG_ENABLE(wince,
   [  --enable-wince          Windows CE interface (default enabled with MinGW)])
 if test "${enable_wince}" != "no"; then
   if test "${SYS}" = "mingwce"; then
-    VLC_ADD_BUILTINS([wince])
+    VLC_ADD_PLUGIN([wince])
     VLC_ADD_CXXFLAGS([wince],[])
     VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
     dnl Gross hack
@@ -5003,13 +5048,9 @@ fi
 dnl
 dnl Simple test for skins2 dependency
 dnl
-if test "${enable_skins2}" != "no"
-then
-  if test "${WX_CONFIG}" = "no"
-  then
-    AC_MSG_ERROR([The skins2 module depends on the wxWidgets development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWidgets development package or alternatively you can also configure with: --disable-wxwidgets --disable-skins2.])
-  fi
-fi
+AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
+  AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.])
+])
 
 dnl
 dnl  Opie QT embedded module
@@ -5052,29 +5093,32 @@ AC_ARG_ENABLE(macosx,
   [  --enable-macosx         MacOS X support (default enabled on MacOS X)])
 if test "x${enable_macosx}" = "xyes"
 then
-#  VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,Foundation])
+  VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,Foundation])
   VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
   VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,Carbon])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,AGL])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,IOKit])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,QuickTime])
+  dnl For bug report
+  VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,AddressBook])
   VLC_ADD_LDFLAGS([macosx qtcapture],                 [-Wl,-framework,QTKit])
+  VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreAudio])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
   VLC_ADD_LDFLAGS([opengllayer qtcapture],            [-Wl,-framework,QuartzCore])
   VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreVideo])
   VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
 
-#  VLC_ADD_PLUGIN([access_eyetv])
+  VLC_ADD_PLUGIN([access_eyetv])
   VLC_ADD_PLUGIN([qtcapture])
   VLC_ADD_PLUGIN([macosx])
   VLC_ADD_PLUGIN([minimal_macosx])
+
   ORIGCFLAGS=$CFLAGS
   CFLAGS="$CFLAGS -x objective-c"
-  AC_CHECK_HEADER(QuartzCore/CALayer.h, 
+  AC_TRY_COMPILE([#import <QuartzCore/CALayer.h>],,
   [VLC_ADD_PLUGIN([opengllayer])
-  VLC_ADD_OBJCFLAGS([opengllayer], [-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5])])
+  VLC_ADD_OBJCFLAGS([opengllayer])],[])
   CFLAGS=$ORIGCFLAGS
 fi
 
@@ -5252,7 +5296,8 @@ dnl  AtmoLight (homebrew AmbiLight)
 dnl
 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
    AC_ARG_ENABLE(atmo,
-[  --disable-atmo      AtmoLight (homebrew philips ambilight) (default enabled)])
+AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight)
+               (default enabled)]))
    if test "${enable_atmo}" != "no"; then
       AC_LANG_PUSH(C++)
       VLC_ADD_PLUGIN([atmo])
@@ -5265,17 +5310,16 @@ dnl  Bonjour services discovery
 dnl
 AC_ARG_ENABLE(bonjour,
   [  --enable-bonjour        Bonjour services discovery (default enabled)])
-if test "${enable_bonjour}" != "no"
-then
-  PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
-    [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
-       [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
-      AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
-      VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
-      VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
-      VLC_ADD_PLUGIN([bonjour]) ],
-    [AC_MSG_WARN(avahi-client library not found)])
-fi
+AS_IF([test "${enable_bonjour}" != "no"], [
+  PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6, [
+    AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define to 1 if you have libavahi-client])
+    VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
+    VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
+    VLC_ADD_PLUGIN([bonjour])
+  ], [
+    AC_MSG_WARN(avahi-client library not found)
+  ])
+])
 
 dnl
 dnl  Lirc plugin
@@ -5292,6 +5336,18 @@ then
   fi
 fi
 
+dnl
+dnl Global hotkeys using XCB
+dnl
+PKG_CHECK_MODULES(XCB, [xcb], [
+  PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [
+    PKG_CHECK_MODULES(XPROTO, [xproto], [
+      VLC_ADD_PLUGIN([globalhotkeys])
+      VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] )
+      VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] )
+    ], [ AC_MSG_WARN( [Xproto not found] ) ])
+  ], [ AC_MSG_WARN( [XCB keysyms was not found]) ])
+], [ AC_MSG_WARN( [XCB was not found]) ])
 
 AC_ARG_WITH(,[Misc options:])
 
@@ -5299,13 +5355,13 @@ dnl
 dnl libgcrypt
 dnl
 AC_ARG_ENABLE(libgcrypt,
-  [  --enable-libgcrypt      libgcrypts support (default enabled)])
+  [  --disable-libgcrypt      libgcrypts support (default enabled)])
 AS_IF([test "${enable_libgcrypt}" != "no"], [
   AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
 ])
 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
   AS_IF([test "${have_libgcrypt}" = "yes"],[
-    VLC_ADD_LIBS([rtp], [${LIBGCRYPT_LIBS}])
+    VLC_ADD_LIBS([rtp stream_out_rtp], [${LIBGCRYPT_LIBS}])
   ])
 fi
 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
@@ -5343,19 +5399,34 @@ dnl
 dnl RemoteOSD plugin (VNC client as video filter)
 dnl
 AC_ARG_ENABLE(remoteosd,
-  [  --disable-remoteosd         RemoteOSD plugin (default enabled)])
+  [  --disable-remoteosd     RemoteOSD plugin (default enabled)])
 
 AS_IF([test "${enable_remoteosd}" != "no"], [
   AS_IF([test "${have_libgcrypt}" = "yes"],[
     VLC_ADD_PLUGIN([remoteosd])
-    VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
-    VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
+    VLC_ADD_LIBS([remoteosd], ${LIBGCRYPT_LIBS})
+    VLC_ADD_CFLAGS([remoteosd], ${LIBGCRYPT_CFLAGS})
   ], [
     AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
   ])
 ])
 
 
+dnl
+dnl RAOP plugin
+dnl
+AC_MSG_CHECKING([whether to enable RAOP plugin])
+AS_IF([test "${have_libgcrypt}" = "yes"], [
+  AC_MSG_RESULT(yes)
+  VLC_ADD_PLUGIN([stream_out_raop])
+  VLC_ADD_LIBS([stream_out_raop], [${LIBGCRYPT_LIBS}])
+  VLC_ADD_CFLAGS([stream_out_raop], [${LIBGCRYPT_CFLAGS}])
+], [
+  AC_MSG_RESULT(no)
+  AC_MSG_WARN([libgcrypt support required for RAOP plugin])
+])
+
+
 dnl
 dnl update checking system
 dnl
@@ -5372,6 +5443,7 @@ then
   AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
 fi
 
+
 dnl
 dnl  Endianness check
 dnl
@@ -5388,18 +5460,19 @@ dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
 dnl
 loader=false
 AC_ARG_ENABLE(loader,
-  [  --enable-loader         build DLL loader for ELF i386 platforms (default disabled)])
+  AS_HELP_STRING([--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_PLUGIN([dmo])
-    VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
-    VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
-    VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
-    VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
-    VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
-    VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
-    VLC_ADD_CPPFLAGS([realvideo],[-I../../@top_srcdir@/libs/loader -DLOADER])
-    VLC_ADD_LIBS([realvideo],[../../libs/loader/libloader.la])
+    VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
+    VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
+    VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
+    VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
+    VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
+    VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
+    VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
+    VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
   ])
 
 AC_ARG_WITH(,[Components:])
@@ -5416,7 +5489,8 @@ dnl  Microsoft ActiveX support
 dnl
 activex=false
 AC_ARG_ENABLE(activex,
-  [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
+  AS_HELP_STRING([--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"
@@ -5432,21 +5506,21 @@ then
        WIDL=no
     fi
     AC_LANG_PUSH(C++)
-    AC_CHECK_HEADERS(ole2.h, 
+    AC_CHECK_HEADERS(ole2.h,
       [AC_CHECK_HEADERS(olectl.h,
         [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
           VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
-          VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) 
+          VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
           AC_CHECK_HEADERS(objsafe.h,
             VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
             [
-            #if HAVE_OLE2_H
+             #if HAVE_OLE2_H
              #   include <ole2.h>
              #endif
-            ]
+            ]
           )
           activex=:
-         PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
+          PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
         ],
         [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
       )],
@@ -5466,38 +5540,48 @@ dnl  Mozilla plugin
 dnl
 mozilla=false
 AC_ARG_ENABLE(mozilla,
-  [  --enable-mozilla        build a vlc-based Firefox/Mozilla plugin (default disabled)])
+  AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
+                 (default disabled)]))
 AC_ARG_WITH(mozilla-sdk-path,
   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
+AC_ARG_WITH(mozilla-pkg,
+  [    --with-mozilla-pkg=PKG  look for PKG.pc to build the mozilla plugin.])
 AC_LANG_PUSH(C++)
-if test "${enable_mozilla}" = "yes" 
+if test "${enable_mozilla}" = "yes"
 then
-  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
-    dnl New firefox-1.5 SDK api
-    PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
-      [
-        PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
-          [],
-          [
-            PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
-              [],
-              [
-                PKG_CHECK_MODULES([NSPR], [nspr],
-                  [],
-                  [
-                    AC_MSG_ERROR([Please install the nspr development tools.])
-                  ]
-                )
-              ]
-            )
-          ])
-        CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
+  AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
+    [
+    dnl pkg-config
+    dnl As we want to do a loop due to the number of name possible for the .pc
+    dnl we can't use the pkg-config macros.
+
+    AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
+    AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
+    AC_MSG_NOTICE([Checking for Mozilla])
+    found=0
+    if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
+    then
+      found=1
+    else
+      if test -n "$PKG_CONFIG"; then
+       for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
+         echo "Trying to find $i.pc files" >&5
+         if $PKG_CONFIG --exists --print-errors "$i" 2>&5
+         then
+            echo "Using $i.pc files." >&5
+            echo "Using $i.pc files." >&6
+           found=1
+           MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
+           MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
+           break
+         fi
+       done
+      fi
+    fi
+    AS_IF( [test $found = 1],[
+        CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
         MOZILLA_REQUIRED_HEADERS=1
-        AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
+        AC_CHECK_HEADERS([npfunctions.h])
         AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
         AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
           [#if HAVE_NPAPI_H
@@ -5509,48 +5593,32 @@ then
         fi
         MOZILLA_REQUIRED_HEADERS=
         mozilla=:
-        firefox_include=`pkg-config --variable=includedir firefox-plugin`
-        if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
-        elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
-        else
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
-        fi
-        if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
-            AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
-            VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
-        fi
-        VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
-        VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
-        VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
+        AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
+          VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
+          AS_IF([ test "${SYS}" != "darwin"],[
+            PKG_CHECK_MODULES(XPM, [xpm xt],[
+               VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
+            ],[
+               AC_MSG_ERROR([Please install the libXpm and libXt development files.])
+            ])
+          ])
+        ])
+       VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
+        VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
         VLC_ADD_PLUGIN([mozilla])
+        PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
         MOZILLA_CONFIG=
         CPPFLAGS="${CPPFLAGS_save}"
-      ],
-      [
-        AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
-        if test "${MOZILLA_CONFIG}" = "no"
-        then
-          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 test ! -z "${MOZILLA_CONFIG}"
-    then
+          ],
+          [
+            AC_PATH_PROGS(MOZILLA_CONFIG,
+           [mozilla-config seamonkey-config xulrunner-config],
+            AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
+                 )
+          ]
+        )
+    dnl pkg-config failed but we might have found a mozilla-config
+    AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
       if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
         LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
         AC_CHECK_LIB(Xt,XtStrings,
@@ -5567,13 +5635,8 @@ then
 
       mozilla=:
       PLUGINS_BINDINGS="${PLUGINS_BINDINGS} 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`]])
-      if ${need_xpcom_libs}; then
-         VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
-      else
-         VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
-      fi
+      VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
+      VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
       MOZILLA_REQUIRED_HEADERS=1
       AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
@@ -5590,9 +5653,9 @@ then
       MOZILLA_REQUIRED_HEADERS=
       CPPFLAGS="${CPPFLAGS_save}"
       MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
-    fi
+    ])
     dnl End of moz_sdk = ""
-  else
+  ],[
     dnl special case for mingw32
     if test "${SYS}" = "mingw32"
     then
@@ -5637,7 +5700,7 @@ then
       real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
     fi
     CPPFLAGS="${CPPFLAGS_save}"
-  fi
+ ])
 fi
 AC_LANG_POP(C++)
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
@@ -5645,8 +5708,8 @@ AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 dnl Tests for Osso and Xsp
 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
   PKG_CHECK_MODULES(GLIB2, glib-2.0, [
-    VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
-    VLC_ADD_LIBS([x11 xvideo xvmc glx],[-losso])
+    VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx omapfb],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
+    VLC_ADD_LIBS([x11 xvideo xvmc glx omapfb],[-losso])
  ])
 ])
 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
@@ -5675,16 +5738,6 @@ then
   VLC_ADD_PLUGIN([test4])
 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
@@ -5742,18 +5795,9 @@ AS_IF([test "${ac_cv_have_plugins}" = "no"], [
   plugin_support=no
 ])
 
-AS_IF([test "${enable_shared}" = "no"], [
-  plugin_support=no
-])
-
 AS_IF([test "${plugin_support}" != "no"], [
-  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
+  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
 ])
-AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
-
-dnl Temporary(?) hack for plugins/builtins transition
-dnl VLC_ADD_PLUGIN([${BUILTINS}])
-dnl BUILTINS=""
 
 dnl
 dnl Pic and shared libvlc stuff
@@ -5766,39 +5810,56 @@ AS_IF([test "${SYS}" = "mingw32"], [
 dnl
 dnl  Stuff used by the program
 dnl
-AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
-AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
+VERSION_MESSAGE="${VERSION} ${CODENAME}"
+COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
+AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
+AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
+AC_SUBST(COPYRIGHT_MESSAGE)
+AC_SUBST(VERSION_MESSAGE)
 AC_SUBST(VERSION_MAJOR)
 AC_SUBST(VERSION_MINOR)
 AC_SUBST(VERSION_REVISION)
-AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
+AC_SUBST(VERSION_EXTRA)
+AC_SUBST(COPYRIGHT_YEARS)
+AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
 if test "${build_os}" = "cygwin"
 then
     AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
 else
     AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
 fi
-AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
-AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
-
+AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
+AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
+dnl Win32 need s a numerical version_extra.
+case $( echo ${VERSION_EXTRA}|wc -m ) in
+       "1") VERSION_EXTRA_RC="0";;
+       "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
+       *) VERSION_EXTRA_RC="99"
+esac
+AC_SUBST(VERSION_EXTRA_RC)
 dnl
 dnl  Handle substvars that use $(top_srcdir)
 dnl
-VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
+VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
 AC_SUBST(VLC_CONFIG)
-CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
+CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
 
 dnl
 dnl  Restore *FLAGS
 dnl
 VLC_RESTORE_FLAGS
 
+dnl
+dnl Sort the modules list
+dnl
+PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
+
 dnl
 dnl  Create the vlc-config script
 dnl
@@ -5828,6 +5889,10 @@ VLC_OUTPUT_VLC_CONFIG_IN
 
 AC_CONFIG_FILES([
   extras/package/win32/vlc.win32.nsi
+  extras/package/macosx/Info.plist
+  extras/package/macosx/Resources/English.lproj/InfoPlist.strings
+  extras/package/macosx/plugin/Info.plist
+  extras/package/macosx/plugin/InstallerInfo.plist
   Makefile
   projects/activex/Makefile
   projects/activex/axvlc.inf
@@ -5835,29 +5900,36 @@ AC_CONFIG_FILES([
   extras/package/ipkg/Makefile
   libs/loader/Makefile
   libs/srtp/Makefile
+  libs/unzip/Makefile
   modules/Makefile
   projects/mozilla/Makefile
   m4/Makefile
   po/Makefile.in
+  projects/activex/axvlc_rc.rc
+  projects/mozilla/npvlc_rc.rc
+  projects/mozilla/vlc.r
+  projects/mozilla/install.js
   share/Makefile
+  share/vlc_win32_rc.rc
+  share/libvlc_win32_rc.rc
   src/Makefile
+  src/test/Makefile
+  bin/Makefile
   test/Makefile
-])
-
-AC_CONFIG_FILES([
   modules/access/Makefile
+  modules/access/bd/Makefile
   modules/access/bda/Makefile
   modules/access/dshow/Makefile
   modules/access/dvb/Makefile
   modules/access/mms/Makefile
   modules/access/cdda/Makefile
+  modules/access/rtp/Makefile
   modules/access/rtsp/Makefile
   modules/access/rtmp/Makefile
-  modules/access/v4l2/Makefile
   modules/access/vcd/Makefile
   modules/access/vcdx/Makefile
   modules/access/screen/Makefile
-  modules/access_filter/Makefile
+  modules/access/zip/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
   modules/audio_filter/channel_mixer/Makefile
@@ -5867,17 +5939,22 @@ AC_CONFIG_FILES([
   modules/audio_mixer/Makefile
   modules/audio_output/Makefile
   modules/codec/Makefile
+  modules/codec/avcodec/Makefile
   modules/codec/cmml/Makefile
   modules/codec/dmo/Makefile
-  modules/codec/ffmpeg/Makefile
+  modules/codec/shine/Makefile
   modules/codec/subtitles/Makefile
   modules/codec/spudec/Makefile
+  modules/codec/wmafixed/Makefile
   modules/codec/xvmc/Makefile
   modules/control/Makefile
   modules/control/http/Makefile
+  modules/control/globalhotkeys/Makefile
   modules/demux/Makefile
   modules/demux/asf/Makefile
+  modules/demux/avformat/Makefile
   modules/demux/avi/Makefile
+  modules/demux/mkv/Makefile
   modules/demux/mp4/Makefile
   modules/demux/mpeg/Makefile
   modules/demux/playlist/Makefile
@@ -5885,11 +5962,11 @@ AC_CONFIG_FILES([
   modules/gui/beos/Makefile
   modules/gui/pda/Makefile
   modules/gui/macosx/Makefile
+  modules/gui/maemo/Makefile
   modules/gui/minimal_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
@@ -5905,9 +5982,9 @@ AC_CONFIG_FILES([
   modules/misc/probe/Makefile
   modules/mux/Makefile
   modules/mux/mpeg/Makefile
-  modules/mux/rtp/Makefile
   modules/packetizer/Makefile
   modules/services_discovery/Makefile
+  modules/stream_filter/Makefile
   modules/stream_out/Makefile
   modules/stream_out/transrate/Makefile
   modules/video_chroma/Makefile
@@ -5931,7 +6008,7 @@ AC_OUTPUT
 ${SHELL} ./config.status --file=vlc-config
 chmod 0755 vlc-config
 
-/bin/echo -n "Enabled modules :"
+/bin/echo -n "Enabled modules"
 ./vlc-config --list plugin
 
 dnl Shortcut to nice compile message