]> git.sesse.net Git - vlc/blobdiff - configure.ac
Workaround for Qt bug #176201 (affect only Qt 4.5.0)
[vlc] / configure.ac
index ae316156fd7c1b52b07fbe50875c314ac3efcde7..ffc4d361a9757711c711c70ffb1c4b2ea99259c3 100644 (file)
@@ -2,11 +2,11 @@ dnl Autoconf settings for vlc
 
 AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team])
 
-AC_INIT(vlc, 1.0.0-git)
+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)
 
@@ -96,9 +96,9 @@ AC_C_CONST
 AC_C_INLINE
 AC_C_RESTRICT
 
-dnl Allow binary package maintainer to pass a custom string to avoid 
+dnl Allow binary package maintainer to pass a custom string to avoid
 dnl cache problem
-AC_ARG_WITH(binary-version, 
+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}"],[
@@ -111,15 +111,20 @@ dnl
 dnl  Check for the contrib directory
 dnl
 AC_ARG_WITH(contrib,
-    [  --without-contrib       do not use the libraries in extras/contrib],[],[])
+    [  --without-contrib       do not use the libraries in CONTRIB_DIR],[],[])
   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"
+    AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
+    if test -z "$CONTRIB_DIR"
+    then
+      topdir="`dirname $0`"
+      if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
+         topdir="`pwd`/$topdir"
+      fi
+      CONTRIB_DIR=${topdir}/extras/contrib
     fi
-  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`"],[
+    AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
+  AS_IF([test -d ${CONTRIB_DIR}/lib],[
+   AS_IF([test "`grep HOST ${CONTRIB_DIR}/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])
@@ -129,36 +134,36 @@ AC_ARG_WITH(contrib,
       fi
      ],[
     AC_MSG_RESULT([yes])
-    export PATH=${topdir}/extras/contrib/bin:$PATH
-    CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
-    CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
-    CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
-    CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
-    CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
-    CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
-    OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
+    export PATH=${CONTRIB_DIR}/bin:$PATH
+    CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
+    CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
+    CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
+    CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
+    CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
+    CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
+    OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
+    OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
     if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
-        export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
+        export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
     else
-        export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
+        export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
     fi
-    LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
-    LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
+    LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
+    LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
 
     if test -z $with_mozilla_sdk_path; then
-       with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
+       with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk
     fi
     if test -z $with_cyberlink_tree; then
-       with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
+       with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
     fi
 
     if test ".`uname -s`" = ".Darwin"; then
-      export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
-      export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
+      export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
+      export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH
     elif test ".`uname -s`" = ".BeOS"; then
-      export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
-      export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
+      export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
+      export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
     fi
     ])
   ],[
@@ -217,8 +222,10 @@ case "${host_os}" in
     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"
@@ -288,8 +295,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
-        CPP="${CPP} -isysroot ${with_macosx_sdk}" 
-        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}"
@@ -297,8 +304,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
-        CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}" 
-        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}"
@@ -311,6 +318,7 @@ 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*)
@@ -355,7 +363,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*)
@@ -394,7 +402,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
@@ -405,7 +413,7 @@ case "${build_os}" in
     ;;
 esac
 
-dnl 
+dnl
 dnl  Libtool
 dnl  It's very bad, but our former custom system was worst
 dnl  -- Courmisch
@@ -549,9 +557,6 @@ AC_CHECK_FUNCS(send,,[
   ])
 ])
 
-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.])
@@ -795,7 +800,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)
@@ -867,19 +872,43 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 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, 
+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" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 then
   PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
@@ -893,6 +922,21 @@ 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)])
@@ -963,7 +1007,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"
@@ -975,26 +1019,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
@@ -1085,11 +1137,6 @@ case "${host_cpu}" in
   "")
     ARCH=unknown
     ;;
-  arm*)
-    dnl use arm assembly
-    VLC_ADD_CFLAGS([wma_fixed],[-DCPU_ARM])
-    ARCH="${host_cpu}"
-    ;;
   *)
     ARCH="${host_cpu}"
     ;;
@@ -1565,14 +1612,18 @@ 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"],[
+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).])
 ])
@@ -1627,7 +1678,7 @@ fi
 
 dnl Lua modules
 AC_ARG_ENABLE(lua,
-  AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface 
+  AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
                  plugins (default enabled)]))
 if test "${enable_lua}" != "no"
 then
@@ -1754,9 +1805,9 @@ 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])
@@ -1773,7 +1824,7 @@ 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
@@ -1791,7 +1842,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}"
@@ -1816,7 +1867,7 @@ if test "${enable_live555}" != "no"; then
          #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. 
+         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])
@@ -1866,7 +1917,7 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.])
            #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. 
+           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])
@@ -2180,7 +2231,7 @@ dnl
 dnl  Windows DirectShow BDA access module
 dnl
 AC_ARG_ENABLE(bda,
-  AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default 
+  AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
                  enabled on Win32)]))
 if test "${enable_bda}" != "no"
 then
@@ -2218,7 +2269,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)
@@ -2448,7 +2499,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])
@@ -2471,7 +2522,7 @@ 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)])
 
@@ -2479,7 +2530,7 @@ then
   then
     PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
        [have_libvcdinfo=yes
-       AC_DEFINE(HAVE_VCDINFO, 1, 
+       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
@@ -2491,10 +2542,10 @@ dnl
 AC_ARG_ENABLE(cddax,
   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"
@@ -2506,34 +2557,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
@@ -2546,12 +2597,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
@@ -2560,9 +2611,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)])
 
@@ -2613,12 +2664,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
@@ -2631,7 +2682,7 @@ AC_ARG_ENABLE(dvb,
 
 if test "${enable_dvb}" != "no"
 then
-    AS_IF([test "${have_dvbpsi}" = "yes" ],[  
+    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}"
@@ -2645,7 +2696,7 @@ then
      CPPFLAGS="${CPPFLAGS_save}"
    ],[
      AC_MSG_WARN([the dvb access module requires libdvbpsi])
-    ]) 
+    ])
 fi
 
 dnl
@@ -2670,14 +2721,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
 
@@ -2782,7 +2825,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])
@@ -2977,11 +3020,11 @@ AC_ARG_ENABLE( id3tag,
 [  --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
@@ -3042,7 +3085,7 @@ dnl  swscale image scaling and conversion plugin
 dnl
 
 AC_ARG_ENABLE(swscale,
-  AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion 
+  AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
                  (default enabled)]))
 if test "${enable_swscale}" != "no"
 then
@@ -3071,7 +3114,7 @@ dnl  from VLC.
 dnl
 
 AC_ARG_ENABLE(imgresample,
-  AS_HELP_STRING([--enable-imgresample],[deprecated libavcodec image scaling 
+  AS_HELP_STRING([--enable-imgresample],[deprecated libavcodec image scaling
                  and conversion (default disabled)]))
 if test "${enable_imgresample}" = "yes"
 then
@@ -3215,7 +3258,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
@@ -3257,15 +3300,6 @@ 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])
-  VLC_ADD_CPPFLAGS([skins2],[-I../../../@top_srcdir@/libs/unzip])
-  VLC_ADD_LIBS([skins2],[../../../libs/unzip/libunzip.la])
-] )
-
 AC_ARG_ENABLE(libsysfs,
   [  --enable-libsysfs       Get user key from firewire connected iPod via libsysfs (default enabled)])
 
@@ -3375,7 +3409,7 @@ AS_IF([test "x${with_dts_tree}" != "x"], [
 ])
 
 AC_ARG_ENABLE(dca,
-  AS_HELP_STRING([--enable-dca],[DTS Coherent Acoustics support with libdca 
+  AS_HELP_STRING([--enable-dca],[DTS Coherent Acoustics support with libdca
                  (default enabled)]))
 AS_IF([test "${enable_dca}" != "no"], [
   AC_ARG_WITH(dca-tree,
@@ -3484,11 +3518,11 @@ then
       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
     fi
   ],[
-   PKG_CHECK_MODULES(LIBMPEG2,[libmpeg2 > 0.3.2],[ 
+   PKG_CHECK_MODULES(LIBMPEG2,[libmpeg2 > 0.3.2],[
           VLC_ADD_PLUGIN([libmpeg2])
           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
@@ -3514,7 +3548,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])
@@ -3714,8 +3748,11 @@ if test "${enable_x264}" != "no"; then
       VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
       PKG_CHECK_MODULES(X264,x264, [
         VLC_ADD_PLUGIN([x264])
-        VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
+        VLC_ADD_LDFLAGS([x264],[${X264_LIBS} -Wl,-Bsymbolic])
         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])
       ])
@@ -3727,8 +3764,11 @@ if test "${enable_x264}" != "no"; then
   else
       PKG_CHECK_MODULES(X264,x264, [
         VLC_ADD_PLUGIN([x264])
-        VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
+        VLC_ADD_LDFLAGS([x264],[${X264_LIBS} -Wl,-Bsymbolic])
         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])
@@ -3762,10 +3802,10 @@ dnl telx module
 dnl uncompatible
 dnl
 AC_ARG_ENABLE(zvbi,
-  AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with 
+  AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
                  libzvbi (default enabled)]))
 AC_ARG_ENABLE(telx,
-  AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with 
+  AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
                  zvbi) (default enabled if zvbi is absent)]))
 
 AS_IF( [test "${enable_zvbi}" != "no"],[
@@ -3775,15 +3815,15 @@ AS_IF( [test "${enable_zvbi}" != "no"],[
          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. 
+                 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
                               Using zvbi.])
                  ])
        ],[
          AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
        ])
-    ])  
+    ])
 AS_IF( [test "${enable_telx}" != "no" ],[
   VLC_ADD_PLUGIN([telx])
   ])
@@ -3913,9 +3953,40 @@ 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,[
@@ -3928,45 +3999,17 @@ 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}])
-    VLC_ADD_PLUGIN([globalhotkeys])
-    VLC_ADD_LIBS([globalhotkeys],[${X_LIBS} ${X_PRE_LIBS} -lX11])
-    VLC_ADD_CPPFLAGS([globalhotkeys],[${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,[
@@ -3975,20 +4018,18 @@ if test "${enable_xvideo}" != "no" &&
         VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
     ])
     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)
@@ -3999,37 +4040,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,[
@@ -4049,15 +4086,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])
@@ -4083,9 +4116,34 @@ dnl
     [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
   ])
   CFLAGS="${CFLAGS_save}"
-  CPPFLAGS="${CPPFLAGS_save}"
+])
 
-fi
+dnl End of Xlib tests
+CPPFLAGS="${CPPFLAGS_save}"
+
+
+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
@@ -4223,8 +4281,6 @@ then
       VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
       if test "${SYS}" = "mingw32"; then
         VLC_ADD_LIBS([freetype skins2],[-lxml2])
-      fi
-      if test "${SYS}" = "mingw32"; then
         VLC_ADD_LIBS([freetype],[-liconv])
       fi
       if test "${enable_fontconfig}" != "no"
@@ -4259,41 +4315,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
@@ -4302,7 +4334,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])
@@ -4476,7 +4508,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
@@ -4512,14 +4544,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}"
@@ -4532,11 +4564,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
@@ -4727,7 +4759,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]) ])
@@ -4789,7 +4821,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])
       ])
@@ -5086,7 +5118,7 @@ then
   VLC_ADD_PLUGIN([qtcapture])
   VLC_ADD_PLUGIN([macosx])
   VLC_ADD_PLUGIN([minimal_macosx])
+
   ORIGCFLAGS=$CFLAGS
   CFLAGS="$CFLAGS -x objective-c"
   AC_TRY_COMPILE([#import <QuartzCore/CALayer.h>],,
@@ -5269,7 +5301,7 @@ dnl  AtmoLight (homebrew AmbiLight)
 dnl
 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
    AC_ARG_ENABLE(atmo,
-AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight) 
+AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight)
                (default enabled)]))
    if test "${enable_atmo}" != "no"; then
       AC_LANG_PUSH(C++)
@@ -5309,6 +5341,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:])
 
@@ -5405,21 +5449,6 @@ then
 fi
 
 
-dnl
-dnl ZIP files demuxer
-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_PLUGIN([unzip])
-  VLC_ADD_LIBS([zip],[-lz])
-  VLC_ADD_PLUGIN([zip])
-  VLC_ADD_CFLAGS([zip],[-I../../../@top_srcdir@/libs/unzip])
-  VLC_ADD_LIBS([zip],[../../../libs/unzip/libunzip.la])
-fi
-
-
 dnl
 dnl  Endianness check
 dnl
@@ -5436,19 +5465,19 @@ dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
 dnl
 loader=false
 AC_ARG_ENABLE(loader,
-  AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms 
+  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:])
@@ -5465,7 +5494,7 @@ dnl  Microsoft ActiveX support
 dnl
 activex=false
 AC_ARG_ENABLE(activex,
-  AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control 
+  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])
@@ -5482,11 +5511,11 @@ 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]),,
             [
@@ -5523,12 +5552,12 @@ AC_ARG_WITH(mozilla-sdk-path,
 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
   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 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])
@@ -5553,10 +5582,11 @@ then
          fi
        done
       fi
-    fi 
+    fi
     AS_IF( [test $found = 1],[
         CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
         MOZILLA_REQUIRED_HEADERS=1
+        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
@@ -5586,8 +5616,8 @@ then
         CPPFLAGS="${CPPFLAGS_save}"
           ],
           [
-            AC_PATH_PROGS(MOZILLA_CONFIG, 
-           [mozilla-config seamonkey-config xulrunner-config], 
+            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.])
                  )
           ]
@@ -5675,7 +5705,7 @@ then
       real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
     fi
     CPPFLAGS="${CPPFLAGS_save}"
- ]) 
+ ])
 fi
 AC_LANG_POP(C++)
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
@@ -5770,18 +5800,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
@@ -5809,18 +5830,19 @@ AC_SUBST(VERSION_MESSAGE)
 AC_SUBST(VERSION_MAJOR)
 AC_SUBST(VERSION_MINOR)
 AC_SUBST(VERSION_REVISION)
+AC_SUBST(VERSION_EXTRA)
 AC_SUBST(COPYRIGHT_YEARS)
-AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
+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 
+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"
@@ -5829,7 +5851,7 @@ 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="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
 
@@ -5840,7 +5862,7 @@ VLC_RESTORE_FLAGS
 
 dnl
 dnl Sort the modules list
-dnl 
+dnl
 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
 
 dnl
@@ -5876,7 +5898,6 @@ AC_CONFIG_FILES([
   extras/package/macosx/Resources/English.lproj/InfoPlist.strings
   extras/package/macosx/plugin/Info.plist
   extras/package/macosx/plugin/InstallerInfo.plist
-  extras/package/macosx/plugin/English.lproj/InfoPlist.strings
   Makefile
   projects/activex/Makefile
   projects/activex/axvlc.inf
@@ -5891,6 +5912,8 @@ AC_CONFIG_FILES([
   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
@@ -5898,9 +5921,6 @@ AC_CONFIG_FILES([
   src/test/Makefile
   bin/Makefile
   test/Makefile
-])
-
-AC_CONFIG_FILES([
   modules/access/Makefile
   modules/access/bd/Makefile
   modules/access/bda/Makefile