]> git.sesse.net Git - vlc/blobdiff - configure.ac
QT4_vlm: really fix #3938.
[vlc] / configure.ac
index 29f5548f9e65954417d823dfaed688f54f23c7c1..9a22804a96e5d62d28876220920a46c92634e722 100644 (file)
@@ -2,19 +2,18 @@ dnl Autoconf settings for vlc
 
 AC_COPYRIGHT([Copyright 2002-2010 the VideoLAN team])
 
-AC_INIT(vlc, 1.1.0-git)
+AC_INIT(vlc, 1.2.0-git)
 VERSION_MAJOR="1"
-VERSION_MINOR="1"
+VERSION_MINOR="2"
 VERSION_REVISION="0"
-VERSION_EXTRA="-test"
+VERSION_EXTRA="-git"
 PKGDIR="vlc"
 AC_SUBST(PKGDIR)
 
 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
-CODENAME="The Luggage"
+CODENAME="Twoflower"
 COPYRIGHT_YEARS="1996-2010"
 
-AC_PREREQ(2.59c)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
 AC_CONFIG_MACRO_DIR(m4)
@@ -23,17 +22,11 @@ AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 AC_PRESERVE_HELP_ORDER
 
-AM_INIT_AUTOMAKE(tar-ustar)
+AM_INIT_AUTOMAKE(tar-ustar color-tests)
 AM_CONFIG_HEADER(config.h)
 
 # Disable with "./configure --disable-silent-rules" or "make V=1"
-m4_ifdef([AM_SILENT_RULES], [
-  AM_SILENT_RULES([yes])
-], [
-  AM_DEFAULT_VERBOSITY=1
-  AC_SUBST(AM_DEFAULT_VERBOSITY)
-])
-
+AM_SILENT_RULES([yes])
 
 dnl Too many people are not aware of maintainer mode:
 dnl If you want to use it, you definitely know what you are doing, so
@@ -108,23 +101,22 @@ dnl  Check for the contrib directory
 dnl
 AC_ARG_WITH(contrib,
     [  --without-contrib       do not use the libraries in CONTRIB_DIR],[],[])
-  AS_IF([test "${with_contrib}" != "no"],[
-    AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
-    if test -z "$CONTRIB_DIR"
-    then
+AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
+AS_IF([test "${with_contrib}" != "no"],[
+  AS_IF([test -z "$CONTRIB_DIR"], [
       topdir="`dirname $0`"
       if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
          topdir="`pwd`/$topdir"
       fi
-      CONTRIB_DIR=${topdir}/extras/contrib/hosts/${host}
+      CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}"
       if ! test -d "$CONTRIB_DIR"
       then
         gccmachine=`$CC -dumpmachine`
-        CONTRIB_DIR=${topdir}/extras/contrib/hosts/${gccmachine}
+        CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}"
       fi
-    fi
-    AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
-  AS_IF([test -d ${CONTRIB_DIR}/lib],[
+  ])
+  AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
+  AS_IF([test -d "${CONTRIB_DIR}/lib"],[
     AC_MSG_RESULT([yes])
     AC_SUBST(CONTRIB_DIR)
     export PATH=${CONTRIB_DIR}/bin:$PATH
@@ -136,31 +128,32 @@ AC_ARG_WITH(contrib,
     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=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
+    if test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"; then
+        export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
     else
-        export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
+        export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
     fi
     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=${CONTRIB_DIR}/gecko-sdk
+    if test -z "$with_mozilla_sdk_path"; then
+       with_mozilla_sdk_path="${CONTRIB_DIR}/gecko-sdk"
     fi
-    if test -z $with_cyberlink_tree; then
-       with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
+    if test -z "$with_cyberlink_tree"; then
+       with_cyberlink_tree="${CONTRIB_DIR}/src/clinkcc"
     fi
 
     if test "${SYS}" = "darwin"; then
-      export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
-      export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/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 "${SYS}" = "beos"; then
-      export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
-      export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
+      export LIBRARY_PATH="${CONTRIB_DIR}/lib:$LIBRARY_PATH"
+      export BELIBRARIES="${CONTRIB_DIR}/lib:$BELIBRARIES"
     fi
-    ],[
-       AC_MSG_RESULT([no])
-    ])
+  ],[
+    AC_MSG_RESULT([no])
+    CONTRIB_DIR=""
+  ])
 ])
 dnl
 dnl  Set default values
@@ -312,12 +305,12 @@ case "${host_os}" in
         ;;
       *mingw32*)
         SYS=mingw32
-        AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
+        AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows XP 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_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.])
         AC_EGREP_CPP(yes,
             [#ifdef WIN32
              yes
@@ -332,22 +325,27 @@ case "${host_os}" in
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
         VLC_ADD_LIBS([activex mozilla win32text],[-lgdi32])
         VLC_ADD_LIBS([cdda vcdx sdl_image aout_sdl vout_sdl],[-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 oldhttp stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldtelnet oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-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 oldhttp stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32])
         VLC_ADD_LIBS([filesystem], [-lshlwapi])
         dnl
         dnl DEP and ASLR options
         dnl
         AC_ARG_ENABLE(peflags,
           [  --enable-peflags        peflags use (default enabled on Windows)])
-        if test "${enable_peflags}" != "no"
-        then
+        if test "${enable_peflags}" != "no" ; then
           AC_CHECK_TOOL(PEFLAGS, peflags, :)
         fi
+        AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
+        ac_default_prefix="`pwd`/_win32"
+        DESTDIR="`pwd`/_win32/"
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
-        VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap oldhttp netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts oldtelnet audiobargraph_a netsync],[-lws2])
+        VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap oldhttp netsync audioscrobbler growl rtp stream_out_standard stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2])
         VLC_ADD_LIBS([libvlccore],[-lmmtimer])
+        AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
+        ac_default_prefix="`pwd`/_wince"
+        DESTDIR="`pwd`/_wince/"
    fi
     ;;
   *nto*)
@@ -370,9 +368,9 @@ case "${host_os}" in
     LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
     dnl Check for BONE
     if test -f /boot/beos/system/lib/libbind.so; then
-        VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp oldtelnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
+        VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lbind -lsocket])
     else
-        VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp oldtelnet netsync sap libvlccore growl_udp],[-lnet])
+        VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lnet])
     fi
     ;;
   *)
@@ -430,7 +428,7 @@ AS_IF([test "${enable_shared}" = "no"], [
 dnl
 dnl Gettext stuff
 dnl
-AM_GNU_GETTEXT_VERSION([0.17])
+AM_GNU_GETTEXT_VERSION([0.18.1])
 AM_GNU_GETTEXT([external])
 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
 
@@ -547,14 +545,14 @@ dnl Check for system libs needed
 need_libc=false
 
 dnl Check for usual libc functions
-AC_CHECK_FUNCS([ctime_r daemon fcntl fdopendir fork getenv getpwuid_r gettimeofday isatty lstat memalign posix_fadvise posix_madvise posix_memalign putenv setenv setlocale stricmp strnicmp tdestroy uselocale])
-AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf])
+AC_CHECK_FUNCS([ctime_r daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign openat posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp tdestroy uselocale])
+AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf])
 AC_CHECK_FUNCS(fdatasync,,
   [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
 ])
 
 dnl Check for non-standard system calls
-AC_CHECK_FUNCS([accept4 dup3 eventfd fstatfs vmsplice])
+AC_CHECK_FUNCS([accept4 dup3 eventfd vmsplice sched_getaffinity])
 
 AH_BOTTOM([#include <vlc_fixups.h>])
 
@@ -617,28 +615,9 @@ dnl getaddrinfo, getnameinfo and gai_strerror check
 dnl  -lnsl and -lsocket are needed on Solaris;
 dnl  we purposedly make the test fail on Windows
 LIBS_save="${LIBS}"
-AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
-AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${SOCKET_LIBS}])
-
-dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
-dnl are
-LIBS="${LIBS_gai}"
-AC_CHECK_FUNCS([getnameinfo gai_strerror])
+AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}])
 LIBS="${LIBS_save}"
 
-AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
-AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
-[#include <sys/types.h>
-#if defined( WIN32 ) || defined( UNDER_CE )
-# if defined(UNDER_CE) && defined(sockaddr_storage)
-#  undef sockaddr_storage
-# endif
-# include <winsock2.h>
-# include <ws2tcpip.h>
-#else
-# include <netdb.h>
-#endif])
-
 dnl Check for va_copy
 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
   AC_TRY_LINK(
@@ -679,7 +658,7 @@ AC_CHECK_LIB(m,cos,[
   VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo opengl],[-lm])
+  VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo qt4],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   VLC_ADD_LIBS([headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm])
@@ -748,22 +727,30 @@ if test "${ac_cv_have_plugins}" = "no"; then
 fi
 
 # Only test for dlopen() if the others didn't work
+LIBDL=""
 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
   AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
   ac_cv_my_have_dlopen=no
-  AC_CHECK_FUNC(dlopen,
-    ac_cv_my_have_dlopen=yes,
-    AC_CHECK_LIB(dl, dlopen,
+  AC_CHECK_FUNC(dlopen, [
+    ac_cv_my_have_dlopen=yes
+  ], [
+    AC_CHECK_LIB(dl, dlopen, [
       ac_cv_my_have_dlopen=yes
-      VLC_ADD_LIBS([libvlccore realvideo lua],[-ldl]),
-      AC_CHECK_LIB(svld, dlopen,
+      LIBDL="-ldl"
+    ], [
+      AC_CHECK_LIB(svld, dlopen, [
         ac_cv_my_have_dlopen=yes
-        VLC_ADD_LIBS([libvlccore],[-lsvld]))))
+        LIBDL="-lsvld"
+      ])
+    ])
+  ])
   if test "${ac_cv_my_have_dlopen}" = "yes"; then
     AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
     ac_cv_have_plugins=yes
+    VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL])
   fi
 fi
+AC_SUBST(LIBDL)
 
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 dnl Check for pthreads - borrowed from XMMS
@@ -916,6 +903,19 @@ fi
 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
 
 
+dnl Manual switch for UTF-8
+AC_ARG_ENABLE(non-utf8,
+  [  --enable-non-utf8       Legacy non-UTF-8 systems support (default disabled)], [
+  AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
+    enable_non_utf8="no"
+  ])
+])
+AS_IF([test "${enable_non_utf8}" != "no"], [
+  AC_DEFINE([ASSUME_UTF8], [1],
+            [Define to 1 if the operating system uses UTF-8 internally])
+])
+
+
 dnl Check for dbus
 AC_ARG_ENABLE(dbus,
   [  --enable-dbus           Linux D-BUS message bus system (default enabled)])
@@ -970,16 +970,6 @@ CFLAGS="${CFLAGS_save}"
 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
 RDC_PROG_CC_FLAGS([-pipe])
 
-AC_ARG_ENABLE(warnings-as-error,
-      AS_HELP_STRING([--enable-warnings-as-error],[Treat acceptable warnings as error (default disabled)]),, [enable_warnings_as_error="no"])
-AS_IF([test "${enable_warnings_as_error}" = "yes"], [
-    RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \
-     missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \
-     bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \
-     overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored])
-])
-AC_SUBST(CFLAGS_WERROR)
-
 dnl Check for various optimization flags
 AC_CACHE_CHECK([if \$CC accepts -Os],
     [ac_cv_c_os],
@@ -1560,13 +1550,13 @@ AS_IF([test "x${enable_debug}" = "xno"], [
 ])
 
 dnl
-dnl Allow runing as root (usefull for people runing on embedded platforms)
+dnl Allow running as root (useful for people running on embedded platforms)
 dnl
 AC_ARG_ENABLE(run-as-root,
-[  --enable-run-as-root    allow runing VLC as root (default disabled)])
+[  --enable-run-as-root    allow running 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).])
+              [Define to 1 to allow running VLC as root (uid 0).])
 ])
 
 dnl
@@ -1630,7 +1620,11 @@ then
   else
       AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.])
   fi
-  AC_PATH_PROG(LUAC, luac)
+  AC_ARG_VAR([LUAC], [LUA byte compiler])
+  AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
+  AS_IF([test "${LUAC}" = "false"], [
+    AC_MSG_ERROR([Could not find the LUA byte compiler.])
+  ])
 fi
 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
 
@@ -1675,7 +1669,6 @@ AS_IF([test "${enable_vlm}" != "no"], [
     AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
   ])
   AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
-  VLC_ADD_PLUGIN([oldtelnet])
 ])
 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
 
@@ -1709,7 +1702,11 @@ AC_ARG_ENABLE(taglib,
     PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
       [ VLC_ADD_PLUGIN([taglib])
         VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
-       VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
+        VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
+        AC_LANG_PUSH(C++)
+        AC_CHECK_HEADERS(taglib/mp4coverart.h)
+        AC_LANG_POP(C++)
+      ],
       [AC_MSG_WARN(TagLib library not found)])
   ])
 
@@ -1947,6 +1944,9 @@ then
     VLC_ADD_PLUGIN([dvdnav])
     VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
     VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
+    AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
+               AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
+               [], [${LIBS_dvdnav}])
   fi
 fi
 
@@ -1989,7 +1989,7 @@ fi
 dnl
 dnl  OpenCV wrapper and example filters
 dnl
-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example], [opencv], (OpenCV (computer vision) filter), [off])
 
 
 dnl
@@ -2126,42 +2126,6 @@ then
 
 fi
 
-dnl
-dnl  Video4Linux plugin
-dnl
-AC_ARG_ENABLE(v4l,
-  [  --enable-v4l            Video4Linux input support (default disabled)])
-if test "${enable_v4l}" = "yes"
-then
-  AC_ARG_WITH(v4l,
-    [  --with-v4l=PATH         path to a v4l-enabled kernel tree],[],[])
-  if test "${with_v4l}" != "no" -a -n "${with_v4l}"
-  then
-    VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
-  fi
-
-  CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
-  AC_CHECK_HEADERS(linux/videodev.h, [
-    VLC_ADD_PLUGIN([v4l])
-  ],[])
-  CPPFLAGS="${CPPFLAGS_save}"
-fi
-
-dnl
-dnl libv4l1 support for video4linux.
-dnl
-AC_ARG_ENABLE( libv4l,
-  [  --enable-libv4l         Libv4l Video4Linux support (default enabled)])
-if test "${enable_libv4l}" != "no" -a "${enable_v4l}" != "no"
-then
-    PKG_CHECK_MODULES( LIBV4L, libv4l1, [
-      VLC_ADD_LDFLAGS([v4l],[${LIBV4L_LIBS}])
-      VLC_ADD_CFLAGS([v4l],[${LIBV4L_CFLAGS}])
-      AC_DEFINE(HAVE_LIBV4L1, 1, Define if libv4l is available)],
-      AC_MSG_WARN([LibV4L support disabled because libv4l development headers were not found])
-    )
-fi
-
 dnl
 dnl  Video4Linux2 plugin
 dnl
@@ -2177,7 +2141,7 @@ then
   fi
 
   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
-  AC_CHECK_HEADERS(linux/videodev2.h, [
+  AC_CHECK_HEADERS(linux/videodev2.h sys/videoio.h, [
     VLC_ADD_PLUGIN([v4l2])
   ],[])
   CPPFLAGS="${CPPFLAGS_save}"
@@ -2387,7 +2351,7 @@ dnl  ogg demux plugin
 dnl
 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
 if test "${enable_sout}" != "no"; then
-    PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
+    PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
 fi
 
 if test "${enable_sout}" != "no"; then
@@ -2453,40 +2417,17 @@ dnl
 dnl  modplug demux plugin
 dnl
 AC_ARG_ENABLE(mod,
-  [  --enable-mod            Mod demux support (default enabled)])
-if test "${enable_mod}" != "no"
-then
-  AC_ARG_WITH(mod-tree,
-  [  --with-mod-tree=PATH    mod tree for static linking])
-  if test -n "${with_mod_tree}"
-  then
-    AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
-    real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
-    if test -z "${real_mod_tree}"
-    then
-      dnl  The given directory can't be found
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
-    fi
-    if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
-    then
-      dnl  Use a custom mod
-      AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
-      VLC_ADD_PLUGIN([mod])
-      VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
-      VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
-    else
-      dnl  The given mod wasn't built
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
-    fi
-  else
-    PKG_CHECK_MODULES(LIBMODPLUG, libmodplug >= 0.8,
-        [ VLC_ADD_PLUGIN([mod])
+  [  --enable-mod            Mod demux support (default auto)])
+if test "${enable_mod}" != "no" ; then
+    PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
+          VLC_ADD_PLUGIN([mod])
           VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
           VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
-        ],[AC_MSG_WARN([libmodplug not found!])])
-  fi
+    ],[
+       AS_IF([test x"${enable_mod}" = "xyes"],
+         [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)],
+         [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)])
+    ])
 fi
 
 dnl
@@ -2576,7 +2517,7 @@ AC_ARG_ENABLE(omxil,
 if test "${enable_omxil}" = "yes"
 then
   VLC_ADD_PLUGIN([omxil])
-  VLC_ADD_LIBS([omxil], [-ldl])
+  VLC_ADD_LIBS([omxil], [$LIBDL])
 fi
 
 dnl
@@ -2637,19 +2578,6 @@ then
   fi
 fi
 
-dnl
-dnl   libid3tag support (FIXME!!! doesn't work with new input)
-dnl
-AC_ARG_ENABLE( id3tag,
-[  --disable-id3tag        id3tag metadata reader plugin (default disabled)])
-AS_IF([test "${enable_id3tag}" = "yes"], [
-  AC_CHECK_HEADERS(id3tag.h, [
-      AS_IF([test "${have_zlib}" = "yes"],[
-          VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
-          VLC_ADD_PLUGIN([id3tag])
-       ])
-    ])
-])
 
 AC_ARG_ENABLE(merge-ffmpeg,
 [  --enable-merge-ffmpeg   merge FFmpeg-based plugins (default disabled)],, [
@@ -2662,9 +2590,8 @@ dnl  avcodec decoder/encoder plugin
 dnl
 AC_ARG_ENABLE(avcodec,
 [  --enable-avcodec        libavcodec codec (default enabled)])
-if test "${enable_avcodec}" != "no"
-then
-  PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 51.48.0 libavutil],
+AS_IF([test "${enable_avcodec}" != "no"], [
+  PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
     [
       VLC_SAVE_FLAGS
       CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
@@ -2679,7 +2606,9 @@ then
     ],[
       AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
   ])
-fi
+], [
+  have_avcodec="no"
+])
 
 dnl
 dnl libva needs avcodec
@@ -2695,8 +2624,8 @@ AS_IF([test "${enable_libva}" != "no"], [
         CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
         CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
         AC_CHECK_HEADERS(libavcodec/vaapi.h, [
-           VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS])
-           VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS])
+           VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
+           VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
            AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
            echo "VAAPI acceleration activated"
         ],[
@@ -2771,10 +2700,12 @@ dnl  avformat demuxer/muxer plugin
 dnl
 
 AC_ARG_ENABLE(avformat,
-[  --enable-avformat       libavformat containers (default enabled)])
+[  --enable-avformat       libavformat containers (default enabled)],, [
+  enable_avformat="${have_avcodec}"
+])
 if test "${enable_avformat}" != "no"
 then
-  PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
+  PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
     [
       VLC_SAVE_FLAGS
       CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
@@ -3128,7 +3059,7 @@ if test "${enable_x264}" != "no"; then
       AC_MSG_ERROR([the specified tree doesn't have x264.h])
     fi
   else
-      PKG_CHECK_MODULES(X264,x264 >= 0.76, [
+      PKG_CHECK_MODULES(X264,x264 >= 0.86, [
         VLC_ADD_PLUGIN([x264])
         VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
 
@@ -3148,7 +3079,7 @@ if test "${enable_x264}" != "no"; then
         fi
       ],[
         if test "${enable_x264}" = "yes"; then
-            AC_MSG_ERROR([Could not find libx264 >= 0.76 on your system: you may get it from http://www.videolan.org/x264.html])
+            AC_MSG_ERROR([Could not find libx264 >= 0.86 on your system: you may get it from http://www.videolan.org/x264.html])
           fi
       ])
     LDFLAGS="${LDFLAGS_save}"
@@ -3296,6 +3227,7 @@ dnl  Xlib
 dnl
 
 AC_PATH_XTRA()
+AC_CHECK_HEADERS(X11/Xlib.h)
 
 dnl
 dnl  X C Bindings modules
@@ -3318,8 +3250,7 @@ AS_IF([test "${enable_xcb}" != "no"], [
   dnl libxcb
   PKG_CHECK_MODULES(XCB, [xcb])
   PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
-  VLC_ADD_PLUGIN([screensaver xcb_x11 xcb_screen xcb_apps])
-  VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error
+  VLC_ADD_PLUGIN([screensaver xcb_x11 xcb_window xcb_screen xcb_apps])
 
   AS_IF([test "${enable_xvideo}" != "no"], [
     PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
@@ -3348,14 +3279,16 @@ AS_IF([test "${enable_xcb}" != "no"], [
     ], [
       have_xcb_keysyms="no"
       need_xid_provider="yes"
+      AC_MSG_WARN([libxcb-keysyms not found. Hotkeys will not be supported.])
     ])
   ])
 
   AS_IF([test "${have_xcb_keysyms}" = "yes"], [
     PKG_CHECK_MODULES(XPROTO, [xproto])
-    VLC_ADD_PLUGIN([xcb_window globalhotkeys])
+    VLC_ADD_PLUGIN([globalhotkeys])
     VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
     VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
+    VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
   ])
   VLC_ADD_PLUGIN([xdg_screensaver])
 ])
@@ -3379,20 +3312,6 @@ AS_IF([test "${enable_glx}" != "no"], [
 AC_SUBST([GL_CFLAGS])
 AC_SUBST([GL_LIBS])
 
-
-dnl
-dnl  OpenGL module
-dnl  (enabled by default except on beos)
-dnl
-AC_ARG_ENABLE(opengl,
-  [  --enable-opengl         OpenGL support (default enabled)])
-if test "${enable_opengl}" != "no" &&
-   test "${SYS}" = "darwin"; then
-    dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
-    VLC_ADD_PLUGIN([opengl])
-    VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
-fi
-
 dnl
 dnl  SDL module
 dnl
@@ -3402,48 +3321,32 @@ AC_ARG_ENABLE(sdl-image,
   [  --enable-sdl-image      SDL image support (default enabled)])
 if test "${enable_sdl}" != "no"
 then
-  SDL_PATH="${PATH}"
-  AC_ARG_WITH(sdl-config-path,
-    [  --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
-    [ if test "${with_sdl_config_path}" != "no"
-      then
-        SDL_PATH="${with_sdl_config_path}:${PATH}"
-      fi ])
-  AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
-  SDL_HEADER="SDL.h"
-  SDL_IMAGE="SDL_image.h"
-
-  if test "${SDL_CONFIG}" != "no";  then
-     PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
-        # SDL on Darwin is heavily patched and can only run SDL_image
-        if test "${SYS}" != "darwin"; then
-          VLC_ADD_PLUGIN([vout_sdl aout_sdl])
-        fi
-        VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags`])
-        VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`])
-
-        # SDL_image
-        AS_IF([ test "${enable_sdl_image}" != "no"],[
-          AC_CHECK_HEADERS("SDL_image.h", [
-            VLC_ADD_PLUGIN([sdl_image])
-            AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
-            AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
-            AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])])
-            VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
-            [ AC_MSG_WARN([The development package for SDL_image is not installed.
-      You should install it alongside your SDL package.])
-            ])
-        ])
-     ],[
-       AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10.
-                    Alternatively you can also configure with --disable-sdl.])
-     ])
-  else if test "${enable_sdl}" =  "yes"; then
-    AC_MSG_ERROR([I could not find the SDL package. You can download libSDL
-from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
-    ])
+   PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
+      # SDL on Darwin is heavily patched and can only run SDL_image
+      if test "${SYS}" != "darwin"; then
+        VLC_ADD_PLUGIN([vout_sdl aout_sdl])
       fi
-  fi
+      if test "${SYS}" != "mingw32"; then
+        VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+      fi
+      VLC_ADD_CFLAGS([vout_sdl aout_sdl],[${SDL_CFLAGS}])
+      VLC_ADD_LIBS([vout_sdl aout_sdl],[${SDL_LIBS}])
+
+      # SDL_image
+      AS_IF([ test "${enable_sdl_image}" != "no"],[
+        PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
+          VLC_ADD_PLUGIN([sdl_image])
+          VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
+          VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
+          [ AC_MSG_WARN([The development package for SDL_image is not installed.
+    You should install it alongside your SDL package.])
+          ])
+      ])
+   ],[
+     AC_MSG_WARN([The development package for SDL is not present or too old.
+                  You need 1.2.10. Alternatively you can also configure with
+                  --disable-sdl.])
+   ])
 fi
 
 dnl
@@ -3514,31 +3417,6 @@ then
   VLC_ADD_PLUGIN([snapshot])
 fi
 
-dnl
-dnl Roku HD1000 Video output module
-dnl
-AC_ARG_ENABLE(hd1000v,
-  [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
-if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
-  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
-   test "${enable_hd1000v}" = "yes"); then
-  AC_LANG_PUSH([C++])
-  AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
-  [
-    can_build_roku="yes"
-  ],
-  [
-    can_build_roku="no"
-    AC_MSG_WARN([Not building Roku HD1000 compatible video output])
-  ])
-  if test "$can_build_roku" = "yes"
-  then
-    VLC_ADD_PLUGIN([hd1000v])
-    VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
-  fi
-  AC_LANG_POP([C++])
-fi
-
 dnl
 dnl  Windows DirectX module
 dnl
@@ -3601,32 +3479,6 @@ AC_ARG_ENABLE(fb,
       ])
     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]) ])
-      ])
-      VLC_ADD_PLUGIN([swscale_omap])
-    fi
-
-dnl
-dnl  SVGAlib module
-dnl
-AC_ARG_ENABLE(svgalib,
-  [  --enable-svgalib        SVGAlib support (default disabled)])
-if test "${enable_svgalib}" = "yes"
-then
-  VLC_ADD_PLUGIN([svgalib])
-  VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
-fi
-
 dnl
 dnl  DirectFB module
 dnl  try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
@@ -3667,7 +3519,7 @@ if test "${enable_directfb}" = "yes"; then
         LIBS="${LIBS_save}"
 
         if test "${have_directfb}" = "true"; then
-            LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
+            LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
             CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
         fi
     else
@@ -3695,30 +3547,6 @@ if test "${enable_directfb}" = "yes"; then
     fi
 fi
 
-
-
-dnl
-dnl  GGI module
-dnl
-AC_ARG_ENABLE(ggi,
-  [  --enable-ggi            GGI support (default disabled)])
-if test "${enable_ggi}" = "yes"
-then
-  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([LibGGI development files can't be found])
-    ])
-fi
-
 dnl
 dnl  AA plugin
 dnl
@@ -3731,6 +3559,9 @@ then
   then
     VLC_ADD_PLUGIN([aa])
     VLC_ADD_LIBS([aa],[-laa])
+    if test "${SYS}" != "mingw32"; then
+      VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+    fi
   fi
 fi
 
@@ -3749,7 +3580,7 @@ dnl
 dnl  OSS /dev/dsp module (enabled by default except on win32)
 dnl
 AC_ARG_ENABLE(oss,
-  [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
+  [  --enable-oss            Open Sound System OSS support (default enabled)])
 
 if test "${enable_oss}" != "no" &&
   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
@@ -3764,8 +3595,15 @@ fi
 dnl
 dnl  Pulseaudio module
 dnl
-PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
-VLC_ADD_LIBS([pulse], [${X_LIBS} ${X_PRE_LIBS} -lX11])
+AS_IF([test "${no_x}" = "yes"], [
+  AS_IF([test "${enable_pulse}" = "yes"], [
+    AC_MSG_ERROR([Xlib is required for VLC PulseAudio support
+(see http://www.pulseaudio.org/ticket/799 for further reference).])
+  ])
+], [
+  PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
+  VLC_ADD_LIBS([pulse], [${X_LIBS} ${X_PRE_LIBS} -lX11])
+])
 
 dnl
 dnl  Portaudio module
@@ -3775,7 +3613,19 @@ PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library supp
 dnl
 dnl  ALSA module
 dnl
-PKG_ENABLE_MODULES_VLC([ALSA], [alsa access_alsa], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
+AC_ARG_ENABLE(alsa,
+  [  --enable-alsa           Advanced Linux Sound Architecture (default auto)])
+have_alsa="no"
+AS_IF([test "${enable_alsa}" != "no"], [
+  PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.0], [
+    have_alsa="yes"
+  ], [
+    AS_IF([test "x${enable_alsa}" != "x"], [
+      AC_MSG_ERROR([alsa-lib not found])
+    ])
+  ])
+])
+AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
 
 dnl
 dnl  win32 waveOut plugin
@@ -3997,16 +3847,34 @@ AC_ARG_ENABLE(qt4,
 AS_IF([test "${enable_qt4}" != "no"], [
   PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
     VLC_ADD_PLUGIN([qt4])
+    VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
+    VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
     ALIASES="${ALIASES} qvlc"
-    QT4LOCALEDIR="$(eval $PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
-    AC_SUBST(QT4LOCALEDIR)
-    AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
-        VLC_ADD_LIBS([qt4],[$QT4_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
-        need_xid_provider="no"
-        VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS ${X_CFLAGS} -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
+
+    AC_LANG_PUSH([C++])
+    CPPFLAGS_save="${CPPFLAGS}"
+
+    AC_MSG_CHECKING([whether Qt uses X11])
+    CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
+    AC_PREPROC_IFELSE([
+#include <QWidget>
+#if !defined (Q_WS_X11)
+# error Fail
+#endif
+    ], [
+      AC_MSG_RESULT([yes])
+      VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+      need_xid_provider="no"
+      VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
     ], [
-        VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
-        VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
+      AC_MSG_RESULT([no])
+    ])
+
+    CPPFLAGS="${CPPFLAGS_save}"
+    AC_LANG_POP([C++])
+
+    AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
+        VLC_ADD_LIBS([qt4],[-lole32])
     ])
     AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
     AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
@@ -4424,6 +4292,35 @@ AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
 ])
 AC_SUBST(DEFS_BIGENDIAN)
 
+dnl
+dnl Where to install KDE solid .desktop
+dnl
+AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
+AS_IF([test "x$KDE4_CONFIG" = "x"], [
+  KDE4_CONFIG="kde4-config"
+])
+
+AC_ARG_WITH(kde-solid,
+  AS_HELP_STRING([--with-kde-solid=PATH],
+                 [KDE Solid actions directory (auto)]),, [
+
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ; then
+  with_kde_solid="yes"
+fi
+])
+soliddatadir=""
+AS_IF([test "${with_kde_solid}" != "no"], [
+  AS_IF([test "${with_kde_solid}" = "yes"], [
+    kde4datadir="`${KDE4_CONFIG} --install data`"
+    AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
+    soliddatadir="${kde4datadir}/solid/actions"
+  ], [
+    soliddatadir="${with_kde_solid}"
+  ])
+])
+AC_SUBST(soliddatadir)
+AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
+
 dnl
 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
 dnl
@@ -4524,29 +4421,34 @@ then
     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"
+    if test -n "$MOZILLA_CFLAGS" -o -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=$(eval $PKG_CONFIG --cflags "$i" )
-           MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" )
-           break
-         fi
-       done
+        for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
+          if test -n "$i"
+          then
+            echo "Trying to find $i package" >&AS_MESSAGE_LOG_FD
+            AC_MSG_CHECKING([for $i >= 1.9.2])
+            if $PKG_CONFIG --exists --print-errors "$i >= 1.9.2" 2>&AS_MESSAGE_LOG_FD
+            then
+              echo "Using $i pkg-config package." >&AS_MESSAGE_LOG_FD
+              echo "Using $i package." >&AS_MESSAGE_FD
+              found=1
+              MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" )
+              MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" )
+              AC_MSG_RESULT([yes])
+              break
+            fi
+            AC_MSG_RESULT([no])
+          fi
+        done
       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
@@ -4554,21 +4456,24 @@ then
            #endif
           ])
         if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
-            AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
+            AC_MSG_ERROR([Please install the Firefox development tools; plugin/npapi.h and/or plugin/npruntime.h were not found.])
         fi
         MOZILLA_REQUIRED_HEADERS=
         mozilla=:
         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],[-DXP_UNIX])
+           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.])
+             ])
+             AS_IF([test "${have_xcb_keysyms}" != "yes"], [
+               AC_MSG_ERROR([Please install xcb-keysyms from xcb-utils.])
+             ])
           ])
         ])
-       VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
+        VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
         VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
         VLC_ADD_PLUGIN([mozilla])
         PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
@@ -4577,9 +4482,9 @@ then
           ],
           [
             AC_PATH_PROGS(MOZILLA_CONFIG,
-           [mozilla-config seamonkey-config xulrunner-config],
+            [mozilla-config seamonkey-config xulrunner-config],
         [no])
-            test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
+            test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools (version 1.9.2 or higher) or use --disable-mozilla.])
           ]
         )
     dnl pkg-config failed but we might have found a mozilla-config
@@ -4595,6 +4500,9 @@ then
          [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
         ])
         AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
+        AS_IF([test "${have_xcb_keysyms}" != "yes"], [
+          AC_MSG_ERROR([Please install xcb-keysyms from xcb-utils.])
+        ])
         LDFLAGS="${LDFLAGS_save}"
       fi
 
@@ -4632,9 +4540,8 @@ then
     fi
 
     real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
-    CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
+    CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk}/include"
     MOZILLA_REQUIRED_HEADERS=1
-    AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
     AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
     AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
         [#if HAVE_NPAPI_H
@@ -4648,17 +4555,7 @@ then
     MOZILLA_REQUIRED_HEADERS=
     mozilla=:
     PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
-    VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
-    if ${need_xpcom_libs}; then
-       VLC_ADD_LIBS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
-      if test "${SYS}" = "mingw32"; then
-        dnl latest gecko sdk does not have embedstring
-        if test -d "${real_mozilla_sdk}/embedstring/bin"
-        then
-          VLC_ADD_LIBS([mozilla],[-lembedstring])
-        fi
-      fi
-    fi
+    VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk}/include])
     MOZILLA_SDK_PATH="${real_mozilla_sdk}"
 
     if test -n "${CYGPATH}"; then
@@ -4770,17 +4667,9 @@ dnl Create vlc-config.in
 VLC_OUTPUT_VLC_CONFIG_IN
 
 AC_CONFIG_FILES([
-  extras/package/win32/spad.nsi
-  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
   doc/Makefile
-  extras/package/ipkg/Makefile
   libs/loader/Makefile
   libs/srtp/Makefile
   libs/unzip/Makefile
@@ -4788,11 +4677,6 @@ AC_CONFIG_FILES([
   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
-  projects/mozilla/install.rdf
   share/Makefile
   compat/Makefile
   src/Makefile
@@ -4829,6 +4713,7 @@ AC_CONFIG_FILES([
   modules/codec/wmafixed/Makefile
   modules/control/Makefile
   modules/control/http/Makefile
+  modules/control/dbus/Makefile
   modules/control/globalhotkeys/Makefile
   modules/demux/Makefile
   modules/demux/asf/Makefile
@@ -4876,6 +4761,46 @@ AC_CONFIG_FILES([
   modules/arm_neon/Makefile
 ])
 
+AM_COND_IF([BUILD_MOZILLA], [
+  AC_CONFIG_FILES([
+    projects/mozilla/install.js
+    projects/mozilla/install.rdf
+    projects/mozilla/manifest.json
+  ])
+])
+
+AM_COND_IF([HAVE_WIN32], [
+  AC_CONFIG_FILES([
+    extras/package/win32/spad.nsi
+    extras/package/win32/vlc.win32.nsi
+  ])
+  AM_COND_IF([BUILD_ACTIVEX], [
+    AC_CONFIG_FILES([
+      projects/activex/axvlc.inf
+      projects/activex/axvlc_rc.rc
+    ])
+  ])
+  AM_COND_IF([BUILD_MOZILLA], [
+    AC_CONFIG_FILES([
+      projects/mozilla/npvlc_rc.rc
+    ])
+  ])
+])
+
+AM_COND_IF([HAVE_DARWIN], [
+  AC_CONFIG_FILES([
+    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
+  ])
+  AM_COND_IF([BUILD_MOZILLA], [
+    AC_CONFIG_FILES([
+      projects/mozilla/vlc.r
+    ])
+  ])
+])
+
 dnl Generate makefiles
 AC_OUTPUT