]> git.sesse.net Git - vlc/blobdiff - configure.ac
Add a mailmap
[vlc] / configure.ac
index 618f24f4d699eefec3d39423bb2fdd2bd5776fa2..02d7c72a4ce72311541c0cc8c9a9c56730f8d893 100644 (file)
@@ -49,11 +49,6 @@ AC_SUBST(vlcdatadir)
 vlclibdir="\${libdir}/\${PKGDIR}"
 AC_SUBST(vlclibdir)
 
-dnl
-dnl  Save *FLAGS
-dnl
-VLC_SAVE_FLAGS
-
 dnl
 dnl Check for tools
 dnl
@@ -87,6 +82,11 @@ AC_C_CONST
 AC_C_INLINE
 AC_C_RESTRICT
 
+dnl
+dnl  Save *FLAGS
+dnl
+VLC_SAVE_FLAGS
+
 dnl Extend the --help string at the current spot.
 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
 
@@ -179,7 +179,6 @@ dnl
 dnl  Set default values
 dnl
 LDFLAGS_vlc="${LDFLAGS}"
-SOCKET_LIBS=""
 
 dnl
 dnl  Check the operating system
@@ -321,8 +320,8 @@ case "${host_os}" in
   *mingw32* | *cygwin* | *wince* | *mingwce*)
     AC_CHECK_TOOL(WINDRES, windres, :)
     AC_CHECK_TOOL(OBJCOPY, objcopy, :)
-    AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.])
-    AC_DEFINE([_WIN32_IE], 0x0501, [Define to '0x0501' for IE 5.01 (and shell) APIs.])
+    AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2 APIs.])
+    AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
 
     case "${host_os}" in
       *wince* | *mingwce* | *mingw32ce*)
@@ -344,13 +343,10 @@ case "${host_os}" in
     esac
 
     if test "${SYS}" = "mingw32"; then
-        # add ws2_32 for closesocket, select, recv
-        VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
+        VLC_ADD_LIBS([libvlccore],[-lnetapi32 -lwinmm])
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
         VLC_ADD_LIBS([win32text],[-lgdi32])
         VLC_ADD_LIBS([cdda vcdx sdl_image 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 stream_out_standard stream_out_select stream_out_rtp stream_out_raop vod_rtsp access_realrtsp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32])
-        SOCKET_LIBS="-lws2_32"
         dnl
         dnl DEP and ASLR options
         dnl
@@ -380,9 +376,6 @@ case "${host_os}" in
 
     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 netsync audioscrobbler growl stream_out_standard stream_out_select stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2])
-        SOCKET_LIBS="-lws2"
         VLC_ADD_LIBS([libvlccore],[-lmmtimer])
         AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
         ac_default_prefix="`pwd`/_wince"
@@ -459,20 +452,16 @@ dnl fail on anything other than pass_all.
 AC_CACHE_VAL(lt_cv_deplibs_check_method,
     [lt_cv_deplibs_check_method=pass_all])
 
-AC_DISABLE_STATIC
-dnl AC_DISABLE_FAST_INSTALL
-AC_LIBTOOL_DLOPEN
-AC_LIBTOOL_WIN32_DLL
-m4_undefine([AC_PROG_F77])
-m4_defun([AC_PROG_F77],[])
-AC_PROG_LIBTOOL
+LT_INIT([dlopen win32-dll shared disable-static])
+LT_LANG([C++])
+LT_LANG([Windows Resource])
 
 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
 
 lt_cv_deplibs_check_method=pass_all
 
-AS_IF([test "${enable_shared}" = "no"], [
+AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
   AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
 ])
 
@@ -481,14 +470,11 @@ dnl Gettext stuff
 dnl
 AM_GNU_GETTEXT_VERSION([0.18.1])
 AM_GNU_GETTEXT([external])
-VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
 
 dnl
 dnl Iconv stuff
 dnl
 AM_ICONV
-VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
-VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
 
 dnl Check for broken versions of mingw-runtime compatability library
 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
@@ -571,16 +557,13 @@ dnl Plugin compilation stuff
 
 VLC_LIBRARY_SUFFIX
 
-dnl The -DSYS_FOO flag
-CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
-
 dnl Check for system libs needed
 need_libc=false
 
 dnl Check for usual libc functions
 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
-AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale])
-AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
+AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp uselocale])
+AC_REPLACE_FUNCS([asprintf atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
 AC_CHECK_FUNCS(fdatasync,,
   [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
 ])
@@ -593,14 +576,45 @@ AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
 
 AH_BOTTOM([#include <vlc_fixups.h>])
 
-AC_CHECK_FUNCS(connect,,[
-  AC_CHECK_LIB(socket,connect,[
-    VLC_ADD_LIBS([libvlccore cdda access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd netsync],[-lsocket])
-    SOCKET_LIBS="-lsocket"
+dnl Check for poll
+AC_SEARCH_LIBS(poll, [poll], [
+  AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS has poll().])
+], [
+  AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
+    AC_MSG_ERROR([poll() is required.])
   ])
 ])
-AC_SUBST(SOCKET_LIBS)
 
+dnl Check for struct pollfd
+AC_CHECK_TYPES([struct pollfd],,,
+[#include <sys/types.h>
+#if HAVE_POLL
+# include <poll.h>
+#elif defined (WIN32)
+# include <winsock2.h>
+#endif
+])
+
+dnl Check for connect
+LIBS_save="$LIBS"
+SOCKET_LIBS=""
+AC_SEARCH_LIBS(connect, [socket], [
+  AS_IF([test "$ac_cv_search_connect" != "none required"], [
+    SOCKET_LIBS="$ac_cv_search_connect"
+  ])
+], [
+  AS_IF([test "${SYS}" = "mingw32"], [
+    SOCKET_LIBS="-lws2_32"
+  ])
+  AS_IF([test "${SYS}" = "mingwce"], [
+    SOCKET_LIBS="-lws2"
+  ])
+])
+LIBS="$LIBS_save"
+AS_IF([test -n "$SOCKET_LIBS"], [
+  VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_select stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[${SOCKET_LIBS}])
+])
+AC_SUBST(SOCKET_LIBS)
 
 dnl Check for socklen_t
 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
@@ -662,7 +676,7 @@ AC_CHECK_FUNC(getopt_long,, [
 AC_SUBST(GNUGETOPT_LIBS)
 
 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 freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate libvlccore freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264],[-lm])
+  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264],[-lm])
   LIBM="-lm"
 ], [
   LIBM=""
@@ -675,50 +689,38 @@ AC_CHECK_LIB(m,lrintf, [
 ])
 
 dnl Check for dynamic plugins
-ac_cv_have_plugins=no
-
-# Win32 style
-if test "${ac_cv_have_plugins}" = "no"; then
-  if test "${SYS}" = "mingw32" ; then
-    AC_CHECK_LIB(kernel32, main,
-     [VLC_ADD_LIBS([libvlccore],[-lkernel32])
-      ac_cv_have_plugins=yes])
-  fi
-fi
-
-# WinCE style
-if test "${ac_cv_have_plugins}" = "no"; then
-  if test "${SYS}" = "mingwce"; then
-    ac_cv_have_plugins=yes
-  fi
-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_cv_my_have_dlopen=yes
-      LIBDL="-ldl"
-    ], [
-      AC_CHECK_LIB(svld, dlopen, [
-        ac_cv_my_have_dlopen=yes
-        LIBDL="-lsvld"
-      ])
-    ])
+have_dynamic_objects="no"
+LIBS_save="$LIBS"
+AC_SEARCH_LIBS(dlopen, [dl svld], [
+  AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
+    LIBDL="$ac_cv_search_dlopen"
   ])
-  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
+  have_dynamic_objects="yes"
+])
+LIBS="$LIBS_save"
+
+# Windows
+AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
+  LIBDL=""
+  have_dynamic_objects="yes" #assume we can use shared objects
+])
+
+test "${enable_shared}" = "no" && have_dynamic_objects=no
+
+AS_IF([test "${have_dynamic_objects}" != "no"], [
+  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1,
+            [Define to 1 if dynamic plugins are supported.])
+], [
+  dnl Clear $LIBDL so as not to break linking
+  LIBDL=""
+])
+AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
+
 AC_SUBST(LIBDL)
+VLC_ADD_LIBS([realvideo lua],[$LIBDL])
 
+dnl Check for thread library
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
   dnl Check for pthreads - borrowed from XMMS
   THREAD_LIB=error
@@ -790,14 +792,6 @@ AC_CHECK_TYPE(ssize_t,, [
   AC_DEFINE(ssize_t, int)
 ])
 
-dnl Check for poll
-AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
-if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
-then
-    AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
-fi
-])
-
 dnl Check for threads library
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
   AC_CHECK_HEADERS(pthread.h)
@@ -811,7 +805,7 @@ AC_ARG_VAR(PKG_CONFIG_PATH,
        [Paths where to find .pc not at the default location])
 PKG_PROG_PKG_CONFIG()
 
-dnl On some OS we need static linking 
+dnl On some OS we need static linking
 AS_IF([test -n "${PKG_CONFIG}" ],[
     AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
         PKG_CONFIG="${PKG_CONFIG} --static"
@@ -828,19 +822,17 @@ if test "${have_zlib}" = "yes"
 then
   VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
   PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
-    AC_CHECK_HEADERS([unzip.h], [ 
+    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"
+      MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip"
+      MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/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 zip])
+  VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
 fi
 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
 
@@ -929,16 +921,12 @@ dnl  Debugging mode
 dnl
 AC_ARG_ENABLE(debug,
   [AS_HELP_STRING([--enable-debug],
-    [build with run-time assertions and debug symbols (default disabled)])],,
+    [build with run-time assertions (default disabled)])],,
   [enable_debug="no"])
 AH_TEMPLATE(NDEBUG,
             [Define to 1 if debug code should NOT be compiled])
 AS_IF([test "${enable_debug}" != "no"], [
   AC_CHECK_HEADERS([valgrind/valgrind.h])
-  CFLAGS="${CFLAGS} -g"
-  CXXFLAGS="${CXXFLAGS} -g"
-  OBJCFLAGS="${OBJCFLAGS} -g"
-  LDFLAGS="${LDFLAGS} -g"
 ], [
   AC_DEFINE(NDEBUG)
 ])
@@ -1043,33 +1031,6 @@ AS_IF([test "${enable_optimizations}" != "no"], [
     ])
   ])
 
-  dnl -O2 and -O in both production and debug builds
-  AS_IF([test "x$C_O" = "x"], [
-    AC_CACHE_CHECK([if \$CC accepts -O2], [ac_cv_c_o2], [
-      CFLAGS="${CFLAGS_save} -O2"
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
-        ac_cv_c_o2=yes
-      ], [
-        ac_cv_c_o2=no
-      ])
-    ])
-    AS_IF([test "${ac_cv_c_o2}" != "no"], [
-      C_O="-O2"
-    ], [
-      AC_CACHE_CHECK([if \$CC accepts -O], [ac_cv_c_o], [
-        CFLAGS="${CFLAGS_save} -O"
-        AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
-          ac_cv_c_o=yes
-        ], [
-          ac_cv_c_o=no
-        ])
-      ])
-      AS_IF([test "${ac_cv_c_o}" != "no"], [
-        C_O="-O"
-      ])
-    ])
-  ])
-
   VLC_RESTORE_FLAGS
   CFLAGS="${CFLAGS} ${C_O}"
   CXXFLAGS="${CXXFLAGS} ${C_O}"
@@ -1661,6 +1622,7 @@ then
 fi
 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
 
+
 dnl
 dnl HTTP daemon
 dnl
@@ -1673,6 +1635,7 @@ then
 fi
 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
 
+
 dnl
 dnl VideoLAN manager
 dnl
@@ -1688,43 +1651,23 @@ AS_IF([test "${enable_vlm}" != "no"], [
 ])
 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
 
-dnl
-dnl Growl notification plugin
-dnl
-AC_ARG_ENABLE(growl,
-  [  --enable-growl          growl notification plugin (default disabled)],,
-  [enable_growl=no])
-AS_IF([test "${enable_growl}" != "no"], [
-    VLC_ADD_PLUGIN([growl_udp])
-    AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
-      VLC_ADD_PLUGIN([growl])
-      VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation])
-      VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl])
-      VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
-    ])
-  ]
-)
-
-dnl
-dnl Libnotify notification plugin
-dnl
-PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
 
 dnl
-dnl Taglib plugin
+dnl  ipv6 support
 dnl
-AC_ARG_ENABLE(taglib,
-  [AS_HELP_STRING([--disable-taglib],
-    [do not use TagLib (default enabled)])])
-AS_IF([test "${enable_taglib}" != "no"], [
-  PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
-    VLC_ADD_PLUGIN([taglib])
-    VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
-    VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
-  ], [
-    AC_MSG_WARN(TagLib library not found)])
+have_ipv6=no
+AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
+  AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
 ])
 
+AS_IF([test "${have_ipv6}" = "yes"], [
+  AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
+
+
+AC_CHECK_FUNCS(inet_ntop,[
+  AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
+
+
 dnl
 dnl  Input plugins
 dnl
@@ -1843,8 +1786,8 @@ You can get an updated 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])
-          ])
+       AC_MSG_RESULT([yes])
+       ])
       ])
 
       VLC_ADD_PLUGIN([live555])
@@ -1871,7 +1814,7 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.])
         AC_MSG_RESULT(no)
       if test "${enable_live555}" = "yes"; then
         AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
-      fi       
+      fi
     fi
   fi
 fi
@@ -1987,46 +1930,30 @@ if test "${enable_sftp}" = "yes"; then
 fi
 
 dnl
-dnl  Video4Linux2 plugin
+dnl  Video4Linux 2
 dnl
-AC_ARG_ENABLE(v4l2,
-  [AS_HELP_STRING([--disable-v4l2],
-    [disable Video4Linux2 support (default auto)])])
+AC_ARG_ENABLE(libv4l2, [AS_HELP_STRING([--disable-libv4l2],
+  [disable userspace V4L2 library (default auto)])])
+AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr],
+  [support PVR V4L2 cards (default disabled)])])
 have_v4l2="no"
-AS_IF([test "${enable_v4l2}" != "no"], [
-  AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
-    have_v4l2="yes"
+AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
+  have_v4l2="yes"
+])
+AS_IF([test "$have_v4l2" = "yes"], [
+  AS_IF([test "${enable_libv4l2}" != "no"], [
+    PKG_CHECK_MODULES(LIBV4L2, libv4l2, [
+      AC_DEFINE(HAVE_LIBV4L2, 1, [Define to 1 if libv4l2 is available])
+    ], [
+      AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}])
+    ])
+  ])
+  AS_IF([test "${enable_pvr}" = "yes"], [
+    VLC_ADD_PLUGIN([pvr])
   ])
 ])
 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
 
-dnl
-dnl libv4l2 support for video4linux.
-dnl
-AC_ARG_ENABLE(libv4l2,
-  [AS_HELP_STRING([--enable-libv4l2],
-    [use V4L2 through libv4l2 (default auto)])])
-if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
-then
-    PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
-      VLC_ADD_LIBS([v4l2],[${LIBV4L2_LIBS}])
-      VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
-      AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)],
-      AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
-    )
-fi
-
-dnl
-dnl  special access module for Hauppauge PVR cards
-dnl
-AC_ARG_ENABLE(pvr,
-  [AS_HELP_STRING([--enable-pvr],
-    [support PVR V4L2 cards (default disabled)])])
-if test "${enable_pvr}" = "yes"
-then
-  VLC_ADD_PLUGIN([pvr])
-fi
-
 dnl
 dnl special access module for Blackmagic SDI cards
 dnl
@@ -2035,7 +1962,7 @@ AC_ARG_ENABLE(decklink,
     [disable Blackmagic DeckLink SDI input (default auto)])])
 AC_ARG_WITH(decklink_sdk,
   [AS_HELP_STRING[--with-decklink-sdk=DIR],
-    [location of Blackmagic DeckLink SDI SDK])])
+    [                        location of Blackmagic DeckLink SDI SDK])])
 if test "${enable_decklink}" != "no"
 then
   if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
@@ -2065,14 +1992,14 @@ AC_ARG_ENABLE(vcdx,
     [navigate VCD with libvcdinfo (default disabled)])])
 if test "${enable_vcdx}" = "yes"
 then
-       PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
-         [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
-                VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
-               [AC_MSG_ERROR([vcdx plugin requires libcdio >= 0.78.2 and libiso9660 >= 0.72])])
-       PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
-               [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
-                VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
-         [AC_MSG_ERROR([vcdx plugin requires libvcdinfo library >= 0.7.22])])
+    PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
+      [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
+         VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
+        [AC_MSG_ERROR([vcdx plugin requires libcdio >= 0.78.2 and libiso9660 >= 0.72])])
+    PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
+        [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
+         VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
+      [AC_MSG_ERROR([vcdx plugin requires libvcdinfo library >= 0.7.22])])
         VLC_ADD_PLUGIN([vcdx])
 fi
 
@@ -2140,11 +2067,19 @@ then
 fi
 
 dnl
-dnl  libdvbpsi check for ts mux/demux
+dnl Linux DVB
 dnl
-have_dvbpsi="no"
-PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
-AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
+AC_CACHE_CHECK([for Linux DVB version 5], [ac_cv_linux_s2api], [
+  AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
+[#include <linux/dvb/version.h>
+#if (DVB_API_VERSION < 5)
+EXPLODE
+#endif]])], [
+  ac_cv_linux_s2api=yes
+], [
+  ac_cv_linux_s2api=no
+])])
+AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_s2api" = "yes"])
 
 dnl
 dnl  Screen capture module
@@ -2169,19 +2104,53 @@ if test "${enable_screen}" != "no"; then
 fi
 
 dnl
-dnl  ipv6 support
+dnl  Real RTSP plugin
 dnl
-have_ipv6=no
-AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
-  AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
-])
+AC_ARG_ENABLE(realrtsp,
+  [  --enable-realrtsp       Real RTSP module (default disabled)])
+if test "${enable_realrtsp}" = "yes"; then
+  VLC_ADD_PLUGIN([access_realrtsp])
+fi
 
-AS_IF([test "${have_ipv6}" = "yes"], [
-  AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
+dnl
+dnl MacOS eyeTV
+AC_ARG_ENABLE(macosx-eyetv,
+  [  --enable-macosx-eyetv   Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
+if test "x${enable_macosx_eyetv}" != "xno" &&
+  (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
+then
+  VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
+  VLC_ADD_PLUGIN([access_eyetv])
+fi
 
+dnl
+dnl QTCapture
+AC_ARG_ENABLE(macosx-qtcapture,
+  [  --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)])
+if test "x${enable_macosx_qtcapture}" != "xno" &&
+  (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes")
+then
+  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,Cocoa])
+  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,QTKit])
+  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,CoreAudio])
+  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,QuartzCore])
+  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,CoreVideo])
+  VLC_ADD_PLUGIN([qtcapture])
+fi
 
-AC_CHECK_FUNCS(inet_ntop,[
-  AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
+
+dnl
+dnl  Demux plugins
+dnl
+
+EXTEND_HELP_STRING([Mux/Demux plugins:])
+
+dnl
+dnl  libdvbpsi check for ts mux/demux
+dnl
+have_dvbpsi="no"
+PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
+AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
 
 
 dnl
@@ -2205,27 +2174,32 @@ AS_IF([test "${enable_gme}" != "no"], [
 dnl
 dnl  SIDPlay plugin
 dnl
-PKG_WITH_MODULES([SID], [libsidplay2],
-               AC_LANG_PUSH(C++)
-               oldCPPFLAGS="$CPPFLAGS"
-               CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
-               AC_CHECK_HEADER([sidplay/builders/resid.h], [
-                       VLC_ADD_PLUGIN([sid])
-                       VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
-                       VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
-               ], [
-                       AS_IF([test "x${enable_sid}" = "xyes"],
-                               [AC_MSG_ERROR(Library libresid-builder needed for sid was not found)],
-                               [AC_MSG_WARN(Library libresid-builder needed for sid was not found)]
-                               )
-               ])
-               CPPFLAGS="$oldCPPFLAGS"
-               AC_LANG_POP(C++),
-               AS_IF([test "x${enable_sid}" = "xyes"],
-                       [AC_MSG_ERROR(Library libsidplay2 needed for sid was not found)],
-                       [AC_MSG_WARN(Library libsidplay2 needed for sid was not found)]
-                       ),
-               [C64 sid demux support], [auto])
+AC_ARG_ENABLE(sid,
+    [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
+AS_IF([test "${enable_sid}" != "no"], [
+    PKG_CHECK_MODULES(SID, [libsidplay2], [
+        AC_LANG_PUSH(C++)
+        oldCPPFLAGS="$CPPFLAGS"
+        CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
+        AC_CHECK_HEADER([sidplay/builders/resid.h], [
+            VLC_ADD_PLUGIN([sid])
+            VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
+            VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
+        ], [
+            AS_IF([test "x${enable_sid}" = "xyes"],
+                [AC_MSG_ERROR(Library libresid-builder needed for sid was not found)],
+                [AC_MSG_WARN(Library libresid-builder needed for sid was not found)]
+                )
+        ])
+        CPPFLAGS="$oldCPPFLAGS"
+        AC_LANG_POP(C++)
+    ], [
+        AS_IF([test "x${enable_sid}" = "xyes"],
+            [AC_MSG_ERROR(Library libsidplay2 needed for sid was not found)],
+            [AC_MSG_WARN(Library libsidplay2 needed for sid was not found)]
+            )
+    ])
+])
 
 
 dnl
@@ -2234,11 +2208,8 @@ 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 mux support], [auto])
-fi
-
-if test "${enable_sout}" != "no"; then
 dnl Check for libshout
-PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
+    PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
 fi
 
 dnl
@@ -2366,11 +2337,32 @@ then
   VLC_ADD_LIBS([omxil], [$LIBDL])
 fi
 
+dnl
+dnl iomx codec plugin
+dnl
+AC_ARG_ENABLE(iomx,
+  [  --enable-iomx           iomx codec module (default disabled)])
+if test "${enable_iomx}" = "yes"
+then
+  CPPFLAGS_save="${CPPFLAGS}"
+  CPPFLAGS="${CPPFLAGS} -I${srcdir}/modules/codec/omxil" # For the OMX headers
+  AC_LANG_PUSH([C++])
+  AC_CHECK_HEADER(media/stagefright/OMXClient.h, [
+    VLC_ADD_PLUGIN([iomx])
+    VLC_ADD_CXXFLAGS([iomx], [-fno-exceptions -fno-rtti])
+    VLC_ADD_LIBS([iomx], [-lstagefright -lmedia -lutils -lbinder])
+  ], [
+    AC_MSG_ERROR("Could not find IOMX headers")
+  ])
+  AC_LANG_POP([C++])
+  CPPFLAGS="${CPPFLAGS_save}"
+fi
+
 dnl
 dnl CrystalHD codec plugin
 dnl
 AC_ARG_ENABLE(crystalhd,
-  [  --enable-crystalhd       crystalhd codec plugin (default auto)])
+  [  --enable-crystalhd      crystalhd codec plugin (default auto)])
 if test "${enable_crystalhd}" != "no"; then
     AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
       VLC_ADD_PLUGIN([crystalhd])
@@ -2499,7 +2491,7 @@ dnl
 dnl libva needs avcodec
 dnl
 AC_ARG_ENABLE(libva,
-  [  --enable-libva          libva VAAPI support (default auto)])
+  [  --enable-libva          VAAPI GPU decoding support (libVA) (default auto)])
 
 AS_IF([test "${enable_libva}" != "no"], [
   AS_IF([test "x${have_avcodec}" = "xyes"], [
@@ -2514,13 +2506,13 @@ AS_IF([test "${enable_libva}" != "no"], [
            AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
            echo "VAAPI acceleration activated"
         ],[
-       AS_IF([test "${enable_libva}" = "yes"],
-             [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])],
+    AS_IF([test "${enable_libva}" = "yes"],
+          [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])],
               [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])])
         ])
         VLC_RESTORE_FLAGS
       ],[
-       AS_IF([test "${enable_libva}" = "yes"],
+    AS_IF([test "${enable_libva}" = "yes"],
               [AC_MSG_ERROR([Could not find required libva.])],
               [AC_MSG_WARN([libva not found  ])])
       ])
@@ -2535,24 +2527,24 @@ dnl
 dnl dxva2 needs avcodec
 dnl
 AC_ARG_ENABLE(dxva2,
-  [  --enable-dxva2          DxVA2  support (default auto)])
+  [  --enable-dxva2          DxVA2 GPU decoding support (default auto)])
 
 AS_IF([test "${enable_dxva2}" != "no"], [
   if test "${SYS}" = "mingw32"; then
   AS_IF([test "x${have_avcodec}" = "xyes"], [
-    AC_CHECK_HEADERS(dxva2api.h, 
+    AC_CHECK_HEADERS(dxva2api.h,
       [
         AC_CHECK_HEADERS(libavcodec/dxva2.h, [
            VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
            AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
            echo "DxVA2 acceleration activated"
         ],[
-       AS_IF([test "${enable_dxva2}" = "yes"],
-             [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
+    AS_IF([test "${enable_dxva2}" = "yes"],
+          [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
               [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
         ])
       ],[
-       AS_IF([test "${enable_dxva2}" = "yes"],
+    AS_IF([test "${enable_dxva2}" = "yes"],
               [AC_MSG_ERROR([Could not find required dxva2api.h])],
               [AC_MSG_WARN([dxva2api.h not found])])
       ])
@@ -2620,7 +2612,7 @@ dnl
 
 AC_ARG_ENABLE(swscale,
   AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
-                 (default enabled)]))
+          (default enabled)]))
 if test "${enable_swscale}" != "no"
 then
   PKG_CHECK_MODULES(SWSCALE,[libswscale],
@@ -2737,20 +2729,11 @@ dnl
 dnl  Real plugin
 dnl
 AC_ARG_ENABLE(real,
-  [  --enable-real           Real media module (default disabled)])
+  [  --enable-real           Real video decoder module (default disabled)])
 if test "${enable_real}" = "yes"; then
   VLC_ADD_PLUGIN([realvideo])
 fi
 
-dnl
-dnl  Real RTSP plugin
-dnl
-AC_ARG_ENABLE(realrtsp,
-  [  --enable-realrtsp       Real RTSP module (default disabled)])
-if test "${enable_realrtsp}" = "yes"; then
-  VLC_ADD_PLUGIN([access_realrtsp])
-fi
-
 dnl
 dnl A52/AC3 decoder plugin
 dnl
@@ -2964,11 +2947,6 @@ dnl libfluidsynth (MIDI synthetizer) plugin
 dnl
 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
 
-dnl
-dnl libsamplerate plugin
-dnl
-PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
-
 dnl
 dnl Teletext Modules
 dnl vbi decoder plugin (using libzbvi)
@@ -3029,37 +3007,13 @@ AS_IF( [test "${enable_libass}" != "no"], [
 dnl
 dnl  kate decoder plugin
 dnl
-AC_ARG_ENABLE(kate,
-[  --enable-kate           kate codec (default enabled)])
-AS_IF([test "${enable_kate}" != "no"], [
-  PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
-      VLC_ADD_PLUGIN([kate])
-      VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
-      VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
-        AC_CHECK_HEADERS(kate/kate.h, [
-          AC_CHECK_LIB(kate, kate_decode_init, [
-            VLC_ADD_PLUGIN([kate])
-            VLC_ADD_LIBS([kate],[-lkate -logg]) ],[
-            AS_IF([test "x${enable_kate}" != "x"], [
-              AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
-              You also need to check that you have a libogg posterior to the 1.0 release.])
-            ])
-         ], [-lkate -logg])
-        ],[
-          AS_IF([test "x${enable_kate}" != "x"], [
-            AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
-            You also need to check that you have a libogg posterior to the 1.0 release.])
-          ])
-        ])
-  ])
-])
-
+PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
 
 dnl
 dnl  tiger rendering for kate decoder plugin
 dnl
 AC_ARG_ENABLE(tiger,
-[  --enable-tiger          Tiger rendering library for Kate streams (default enabled)])
+[  --enable-tiger          Tiger rendering library for Kate streams (default auto)])
 AS_IF([test "${enable_tiger}" != "no"], [
   PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
       AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
@@ -3072,7 +3026,6 @@ AS_IF([test "${enable_tiger}" != "no"], [
 ])
 
 
-
 dnl
 dnl  Video plugins
 dnl
@@ -3199,6 +3152,20 @@ then
    ])
 fi
 
+
+dnl
+dnl Mac Vout
+AC_ARG_ENABLE(macosx-vout,
+  [  --enable-macosx-vout    Mac OS X video output module (default enabled on Mac OS X)])
+if test "x${enable_macosx_vout}" != "xno" &&
+  (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
+then
+  VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
+  VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
+  VLC_ADD_PLUGIN([vout_macosx])
+fi
+
+
 dnl
 dnl  freetype module
 dnl
@@ -3250,10 +3217,18 @@ if test "${enable_freetype}" != "no"; then
   ])
 fi
 
+
 dnl
-dnl  libxml2 module
+dnl  QuartzText vout module (iOS/Mac OS)
 dnl
-PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
+AC_ARG_ENABLE(macosx-quartztext,
+  [  --enable-macosx-quartztext   Mac OS X quartz text module (default enabled on Mac OS X)])
+if test "x${enable_macosx_quartztext}" != "xno" &&
+  (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
+then
+  VLC_ADD_PLUGIN([quartztext])
+  VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
+fi
 
 dnl
 dnl  SVG module
@@ -3285,18 +3260,6 @@ then
   VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
 fi
 
-dnl
-dnl  QuartzText vout module (iOS/Mac OS)
-dnl
-AC_ARG_ENABLE(macosx-quartztext,
-  [  --enable-macosx-quartztext   Mac OS X quartz text module (default enabled on Mac OS X)])
-if test "x${enable_macosx_quartztext}" != "xno" &&
-  (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
-then
-  VLC_ADD_PLUGIN([quartztext])
-  VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
-fi
-
 dnl
 dnl  Windows DirectX module
 dnl
@@ -3308,20 +3271,24 @@ fi
 
 AC_ARG_ENABLE(directx,
   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
-if test "${enable_directx}" != "no"
-then
-  if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
-  then
-      VLC_ADD_LIBS([directx],[-luser32])
+if test "${enable_directx}" != "no"; then
+  if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
+      dnl DDraw
       AC_CHECK_HEADERS(ddraw.h,
       [ VLC_ADD_PLUGIN([directx aout_directx])
-        VLC_ADD_LIBS([directx],[-lgdi32])
+        VLC_ADD_LIBS([directx],[-luser32 -lgdi32])
       ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
       )
+
+      dnl OpenGL
       AC_CHECK_HEADERS(GL/glext.h,
       [ VLC_ADD_PLUGIN([glwin32])
         VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
+      ],[],[
+        #include <GL/gl.h>
       ])
+
+      dnl Direct3D
       AC_CHECK_HEADERS(d3d9.h,
       [ VLC_ADD_PLUGIN([direct3d])
         VLC_ADD_LIBS([direct3d],[-lgdi32])
@@ -3334,20 +3301,18 @@ dnl
 dnl  Windows Direct2D plugin
 dnl
 AC_ARG_ENABLE(direct2d,
-  [  --enable-direct2d         Win7/VistaPU Direct2D support (default auto on Win32)],, [
+  [  --enable-direct2d       Win7/VistaPU Direct2D support (default auto on Win32)],, [
   AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
     enable_direct2d="no"
   ])
 ])
 AS_IF([test "${enable_direct2d}" != "no"], [
-  AC_LANG_PUSH([C++])
   AC_CHECK_HEADERS(d2d1.h, [
     VLC_ADD_PLUGIN([direct2d])
     VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32])
   ], [
     AC_MSG_WARN([Cannot find Direct2D headers!])
   ])
-  AC_LANG_POP([C++])
 ])
 
 dnl
@@ -3586,7 +3551,7 @@ dnl
 dnl  AudioQueue plugin
 dnl
 AC_ARG_ENABLE(audioqueue,
-  [  --enable-audioqueue       AudioQueue audio module (default disabled)])
+  [  --enable-audioqueue     AudioQueue audio module (default disabled)])
 if test "${enable_audioqueue}" = "yes"
 then
   VLC_ADD_PLUGIN([audioqueue])
@@ -3612,10 +3577,9 @@ if test "${HAVE_ANDROID}" = "1"; then
 fi
 
 dnl
-dnl UPnP Plugin (Intel SDK)
+dnl libsamplerate plugin
 dnl
-PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPnp SDK],[auto])
-VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
+PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
 
 dnl
 dnl  Interface plugins
@@ -3626,33 +3590,14 @@ EXTEND_HELP_STRING([Interface plugins:])
 dnl
 dnl Skins2 module
 dnl
-AC_ARG_ENABLE(libtar,
-  [  --enable-libtar         libtar support for skins2 (default auto)])
-AS_IF([test "${enable_libtar}" != "no"], [
-  AC_CHECK_HEADERS(libtar.h, [
-    VLC_ADD_LIBS([skins2],[-ltar])
-  ])
-])
-
 AC_ARG_ENABLE(skins2,
-  [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
-   enabled except on MacOSX and WinCE)])],, [
-  AS_IF([test "${SYS}" != "darwin" && test "${SYS}" != "mingwce"], [
-    enable_skins2="yes"
-  ], [
-    enable_skins2="no"
-  ])
-])
-AS_IF([test "${enable_skins2}" = "yes"], [
-  dnl freetype
-  AS_IF([test "${have_freetype}" != "yes"], [
-    AC_MSG_ERROR([Could not find FreeType (required for skins2)])
-  ])
-
+  [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
+AS_IF([test "${enable_skins2}" != "no"], [
+  have_skins_deps="yes"
   AS_IF([test "${SYS}" = "mingw32"], [
     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
-    VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32  -lmsimg32 -luser32])
+    VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32  -lmsimg32 -luser32])
 
   ], [test "${SYS}" = "darwin"], [
     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
@@ -3660,19 +3605,40 @@ AS_IF([test "${enable_skins2}" = "yes"], [
     VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
 
   ], [
-    PKG_CHECK_MODULES([XPM], [xpm])
-    PKG_CHECK_MODULES([XINERAMA], [xinerama])
-    PKG_CHECK_MODULES([XEXT], [xext])
+    PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
+    PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
+    PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
     VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
 
   ])
-  VLC_ADD_PLUGIN([skins2])
-  ALIASES="${ALIASES} svlc"
+  AS_IF([test "${have_freetype}" != "yes"], [
+    have_skins_deps="no"
+  ])
+
+  AS_IF([test "${have_skins_deps}" = "no"], [
+    AS_IF([test "x${enable_skins2}" = "x"], [
+      AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
+    ], [
+      AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
+    ])
+    enable_skins2="no"
+  ], [
+    VLC_ADD_PLUGIN([skins2])
+    ALIASES="${ALIASES} svlc"
+  ])
 ])
 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
 
+AC_ARG_ENABLE(libtar,
+  [  --enable-libtar         libtar support for skins2 (default auto)])
+AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
+  AC_CHECK_HEADERS(libtar.h, [
+    VLC_ADD_LIBS([skins2],[-ltar])
+  ])
+])
+
 dnl
 dnl Hildon UI
 dnl
@@ -3707,7 +3673,7 @@ AC_ARG_ENABLE(qt4,
   AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
 ])
 AS_IF([test "${enable_qt4}" != "no"], [
-  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
+  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.6.0], [
     VLC_ADD_PLUGIN([qt4])
     VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
     VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
@@ -3762,7 +3728,7 @@ AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
 ])
 
 dnl
-dnl  MacOS X video output/gui modules
+dnl  MacOS X gui module
 dnl
 AC_ARG_ENABLE(macosx,
   [  --enable-macosx         Mac OS X gui support (default enabled on Mac OS X)])
@@ -3789,19 +3755,8 @@ then
 fi
 
 dnl
-dnl  MacOS X related modules
+dnl  MacOS X dialor provider
 dnl
-
-AC_ARG_ENABLE(macosx-vout,
-  [  --enable-macosx-vout    Mac OS X video output module (default enabled on Mac OS X)])
-if test "x${enable_macosx_vout}" != "xno" &&
-  (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
-then
-  VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
-  VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
-  VLC_ADD_PLUGIN([vout_macosx])
-fi
-
 AC_ARG_ENABLE(macosx-dialog-provider,
   [  --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
 if test "x${enable_macosx_dialog_provider}" != "xno" &&
@@ -3811,33 +3766,6 @@ then
   VLC_ADD_PLUGIN([macosx_dialog_provider])
 fi
 
-AC_ARG_ENABLE(macosx-qtcapture,
-  [  --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)])
-if test "x${enable_macosx_qtcapture}" != "xno" &&
-  (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes")
-then
-  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,Cocoa])
-  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,QTKit])
-  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,CoreAudio])
-  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,QuartzCore])
-  VLC_ADD_LIBS([qtcapture], [-Wl,-framework,CoreVideo])
-  VLC_ADD_PLUGIN([qtcapture])
-fi
-
-AC_ARG_ENABLE(macosx-eyetv,
-  [  --enable-macosx-eyetv   Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
-if test "x${enable_macosx_eyetv}" != "xno" &&
-  (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
-then
-  VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
-  VLC_ADD_PLUGIN([access_eyetv])
-fi
-
-AC_ARG_ENABLE(macosx-vlc-app,
-  [  --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
-AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
-    (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
-
 dnl
 dnl  ncurses module
 dnl
@@ -3895,6 +3823,22 @@ then
  ])
 fi
 
+dnl
+dnl  Lirc plugin
+dnl
+AC_ARG_ENABLE(lirc,
+  [  --enable-lirc           lirc support (default disabled)])
+if test "${enable_lirc}" = "yes"
+then
+  AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
+  if test "${have_lirc}" = "true"
+  then
+    VLC_ADD_PLUGIN([lirc])
+    VLC_ADD_LIBS([lirc],[-llirc_client])
+  fi
+fi
+
+EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
 dnl
 dnl Visualisation plugin
 dnl
@@ -3914,7 +3858,7 @@ dnl
 dnl libprojectM visualization plugin
 dnl
 AC_ARG_ENABLE(projectm,
-  [  --enable-projectm          projectM visualization plugin (default enabled)])
+  [  --enable-projectm       projectM visualization plugin (default enabled)])
 AS_IF([test "${enable_projectm}" != "no"],
   [
     PKG_CHECK_MODULES(PROJECTM, libprojectM,
@@ -3945,6 +3889,7 @@ AS_IF([test "${enable_atmo}" != no], [
   ])
 ])
 
+EXTEND_HELP_STRING([Service Discovery plugins:])
 dnl
 dnl  Bonjour services discovery
 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
@@ -3958,22 +3903,19 @@ dnl MTP devices services discovery
 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
 
 dnl
-dnl  Lirc plugin
+dnl UPnP Plugin (Intel SDK)
 dnl
-AC_ARG_ENABLE(lirc,
-  [  --enable-lirc           lirc support (default disabled)])
-if test "${enable_lirc}" = "yes"
-then
-  AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
-  if test "${have_lirc}" = "true"
-  then
-    VLC_ADD_PLUGIN([lirc])
-    VLC_ADD_LIBS([lirc],[-llirc_client])
-  fi
-fi
+PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
+VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
 
 EXTEND_HELP_STRING([Misc options:])
 
+dnl
+dnl  libxml2 module
+dnl
+PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
+
+
 dnl
 dnl libgcrypt
 dnl
@@ -4067,15 +4009,32 @@ AS_IF([test "${have_libgcrypt}" = "yes"], [
 
 
 dnl
-dnl OSSO (Maemo screen blanking) plugin
+dnl Nokia MCE plugin (Maemo screen unblanking)
 dnl
-PKG_ENABLE_MODULES_VLC([OSSO_SCREENSAVER], [], [libosso], [Maemo support], [auto])
+PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true])
+
 
 AS_IF([test -f "/etc/maemo_version"], [
   AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
 ])
 
 
+dnl
+dnl Taglib plugin
+dnl
+AC_ARG_ENABLE(taglib,
+  [AS_HELP_STRING([--disable-taglib],
+    [do not use TagLib (default enabled)])])
+AS_IF([test "${enable_taglib}" != "no"], [
+  PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
+    VLC_ADD_PLUGIN([taglib])
+    VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
+    VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
+  ], [
+    AC_MSG_WARN(TagLib library not found)])
+])
+
+
 dnl
 dnl update checking system
 dnl
@@ -4125,10 +4084,32 @@ else
 fi
 AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
 
+dnl
+dnl Growl notification plugin
+dnl
+AC_ARG_ENABLE(growl,
+  [  --enable-growl          growl notification plugin (default disabled)],,
+  [enable_growl=no])
+AS_IF([test "${enable_growl}" != "no"], [
+    AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
+      VLC_ADD_PLUGIN([growl])
+      VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation])
+      VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl])
+      VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
+    ])
+  ]
+)
+
+dnl
+dnl Libnotify notification plugin
+dnl
+PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
+
 dnl
 dnl media library
 dnl
-AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)])
+AC_ARG_ENABLE(media-library,
+    [  --enable-media-library  media library (default disabled)])
 if test "${enable_media_library}" = "yes"; then
     if test "${enable_sqlite}" != "yes"; then
        AC_MSG_ERROR([SQLite module is required for the media library])
@@ -4186,12 +4167,12 @@ dnl
 loader=false
 AC_ARG_ENABLE(loader,
   AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
-                 (default disabled)]))
+          (default disabled)]))
 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
 AS_IF([test "${enable_loader}" = "yes"],
   [ VLC_ADD_PLUGIN([dmo])
-    VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/libs/loader])
-    VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
+    VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/modules/codec/loader])
+    VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/modules/codec/loader/libloader.la])
     VLC_ADD_CPPFLAGS([realvideo], [-DLOADER])
     VLC_ADD_LIBS([dmo quicktime], [-lpthread])
   ])
@@ -4205,23 +4186,11 @@ AC_ARG_ENABLE(vlc,
   [  --enable-vlc            build the VLC media player (default enabled)])
 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
 
+AC_ARG_ENABLE(macosx-vlc-app,
+  [  --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
+AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
+    (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
 
-dnl
-dnl  Plugin and builtin checks
-dnl
-plugin_support=yes
-
-dnl Automagically disable plugins if there is no system support for
-dnl dynamically loadable files (.so, .dll, .dylib).
-dnl don't forget vlc-win32 still can load .dll as plugins
-AS_IF([test "${ac_cv_have_plugins}" = "no"], [
-  AC_MSG_WARN([*** No plugin support! Building statically! ***])
-  plugin_support=no
-])
-
-AS_IF([test "${plugin_support}" != "no"], [
-  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
-])
 
 dnl
 dnl Pic and shared libvlc stuff
@@ -4291,9 +4260,6 @@ AC_SUBST(FILE_LIBVLC_DLL)
 AC_CONFIG_FILES([
   Makefile
   doc/Makefile
-  libs/loader/Makefile
-  libs/srtp/Makefile
-  libs/unzip/Makefile
   modules/Makefile
   m4/Makefile
   po/Makefile.in
@@ -4301,6 +4267,7 @@ AC_CONFIG_FILES([
   compat/Makefile
   src/Makefile
   src/test/Makefile
+  lib/Makefile
   bin/Makefile
   test/Makefile
   modules/access/Makefile
@@ -4313,6 +4280,7 @@ AC_CONFIG_FILES([
   modules/access/vcdx/Makefile
   modules/access/screen/Makefile
   modules/access/zip/Makefile
+  modules/access/zip/unzip/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
   modules/audio_mixer/Makefile
@@ -4320,6 +4288,7 @@ AC_CONFIG_FILES([
   modules/codec/Makefile
   modules/codec/avcodec/Makefile
   modules/codec/dmo/Makefile
+  modules/codec/loader/Makefile
   modules/codec/omxil/Makefile
   modules/codec/shine/Makefile
   modules/codec/spudec/Makefile