]> git.sesse.net Git - vlc/blobdiff - configure.ac
lua: rename rc interface to cli
[vlc] / configure.ac
index 8689109ce09c9a443805151d10d55b2d6b446627..4464374ab46fadd531baa9c61992ec870f429661 100644 (file)
@@ -1,6 +1,6 @@
 dnl Autoconf settings for vlc
 
-AC_COPYRIGHT([Copyright 2002-2010 the VideoLAN team])
+AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
 
 AC_INIT(vlc, 1.2.0-git)
 VERSION_MAJOR="1"
@@ -12,7 +12,7 @@ AC_SUBST(PKGDIR)
 
 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
 CODENAME="Twoflower"
-COPYRIGHT_YEARS="1996-2010"
+COPYRIGHT_YEARS="1996-2011"
 
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
@@ -94,6 +94,24 @@ AS_IF([test -n "${with_binary_version}"],[
          [Binary specific version])
 ])
 
+dnl Check how we are asked to build
+AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
+  AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
+])
+
+AC_ARG_ENABLE(static-modules,
+   [  --enable-static-modules  Allow module to be linked statically. This produces a non working vlc.])  
+AS_IF([test "${enable_static_modules}" = yes], [
+   enable_shared="no"
+   enable_static="yes"
+   VLC_DEFAULT_PLUGIN_TYPE="builtin"
+   AS_IF([test "${enable_vlc}" != "no"],
+     [AC_MSG_WARN([Building modules as static. VLC will not work.])])
+], [
+   VLC_DEFAULT_PLUGIN_TYPE="plugin"
+])
+
+AC_SUBST(VLC_DEFAULT_PLUGIN_TYPE)
 
 dnl
 dnl  Check for the contrib directory
@@ -138,9 +156,6 @@ AS_IF([test "${with_contrib}" != "no"],[
     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"
-    elif test "${SYS}" = "beos"; then
-      export LIBRARY_PATH="${CONTRIB_DIR}/lib:$LIBRARY_PATH"
-      export BELIBRARIES="${CONTRIB_DIR}/lib:$BELIBRARIES"
     fi
   ],[
     AC_MSG_RESULT([no])
@@ -315,7 +330,7 @@ case "${host_os}" in
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
         VLC_ADD_LIBS([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 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([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_select 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
@@ -323,7 +338,7 @@ case "${host_os}" in
         AC_ARG_ENABLE(peflags,
           [  --enable-peflags        peflags use (default enabled on Windows)])
         if test "${enable_peflags}" != "no" ; then
-          AC_CHECK_TOOL(PEFLAGS, peflags, :)
+          AC_PATH_TOOL(PEFLAGS, peflags, :)
         fi
         AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
         ac_default_prefix="`pwd`/_win32"
@@ -346,7 +361,7 @@ 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 oldhttp netsync audioscrobbler growl rtp stream_out_standard stream_out_rtp remoteosd ts 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_select 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"
@@ -362,32 +377,19 @@ case "${host_os}" in
   hpux*)
     SYS=hpux
     ;;
-  beos)
-    SYS=beos
-    CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
-    VLC_ADD_CXXFLAGS([beos],[])
-    VLC_ADD_LIBS([vlc libvlccore logger],[-lbe])
-    VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
-    VLC_ADD_LIBS([filesystem],[-lpoll])
-    LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
-    dnl Check for BONE
-    if test -f /boot/beos/system/lib/libbind.so; then
-        VLC_ADD_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 netsync sap libvlccore growl_udp],[-lnet])
-    fi
+  symbian*)
+    SYS=symbian
     ;;
   *)
     SYS="${host_os}"
     ;;
 esac
-AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
 AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"])
 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
+AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
 AM_CONDITIONAL(USE_PEFLAGS, [test "${enable_peflags}" = "yes"])
 
 dnl
@@ -427,10 +429,6 @@ m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
 
 lt_cv_deplibs_check_method=pass_all
 
-AS_IF([test "${enable_shared}" = "no"], [
-  AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
-])
-
 dnl
 dnl Gettext stuff
 dnl
@@ -549,19 +547,20 @@ dnl Check for system libs needed
 need_libc=false
 
 dnl Check for usual libc functions
-AC_CHECK_FUNCS([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([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale])
+AC_REPLACE_FUNCS([asprintf atof atoll getcwd 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.])
 ])
 
+# Windows CE doesn't have strcoll()
+AC_FUNC_STRCOLL
+
 dnl Check for non-standard system calls
-AC_CHECK_FUNCS([accept4 dup3 eventfd vmsplice sched_getaffinity])
+AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
 
 AH_BOTTOM([#include <vlc_fixups.h>])
 
-AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
-
 SOCKET_LIBS=""
 AC_CHECK_FUNCS(connect,,[
   AC_CHECK_LIB(socket,connect,[
@@ -722,14 +721,6 @@ if test "${ac_cv_have_plugins}" = "no"; then
   fi
 fi
 
-# BeOS style
-if test "${ac_cv_have_plugins}" = "no"; then
-  AC_CHECK_HEADERS(image.h)
-  AC_CHECK_FUNCS(load_add_on,
-   [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
-    ac_cv_have_plugins=yes])
-fi
-
 # Only test for dlopen() if the others didn't work
 LIBDL=""
 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
@@ -805,6 +796,7 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
   AC_MSG_RESULT(no)])
 
 dnl Check for headers
+AC_CHECK_HEADERS([search.h])
 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
 AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
@@ -888,7 +880,7 @@ AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
 if test "${have_zlib}" = "yes"
 then
-  VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
+  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], [ 
       have_minizip=yes
@@ -1043,16 +1035,12 @@ if test "${ac_cv_c_fast_math}" != "no"; then
 fi
 
 dnl Check for -funroll-loops
-dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
-if test "${SYS}" != "beos"
-then
-  AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
-      [ac_cv_c_unroll_loops],
-      [CFLAGS="${CFLAGS_save} -funroll-loops"
-       AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
-  if test "${ac_cv_c_unroll_loops}" != "no"; then
-      CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
-  fi
+AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
+    [ac_cv_c_unroll_loops],
+    [CFLAGS="${CFLAGS_save} -funroll-loops"
+     AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
+if test "${ac_cv_c_unroll_loops}" != "no"; then
+    CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
 fi
 
 dnl Check for -fomit-frame-pointer
@@ -1139,7 +1127,7 @@ dnl
 dnl Some plugins aren't useful on some platforms
 dnl
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-    VLC_ADD_PLUGIN([dynamicoverlay])
+    VLC_ADD_PLUGIN([dynamicoverlay access_shm])
 elif test "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
     VLC_ADD_LIBS([dmo],[-lole32 -luuid])
@@ -1493,8 +1481,10 @@ if test -n "${with_tuning}"; then
         CFLAGS_TUNING="-mtune=${with_tuning}"
     fi
 else
-    if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
+    if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
         CFLAGS_TUNING="-march=prescott -mtune=generic"
+    elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then
+        CFLAGS_TUNING="-march=core2 -mtune=core2"
     elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
         CFLAGS_TUNING="-mtune=pentium2"
     elif test "${host_cpu}" = "x86_64"; then
@@ -1698,7 +1688,7 @@ AS_IF([test "${enable_growl}" != "no"], [
 dnl
 dnl Libnotify notification plugin
 dnl
-PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
+PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
 
 dnl
 dnl Taglibplugin
@@ -1851,15 +1841,32 @@ fi
 dnl
 dnl - special access module for dc1394 input
 dnl - dv module: digital video module check for libraw1394
+dnl - linsys modules: access module check for libzvbi
 dnl
 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
 
+AC_ARG_ENABLE(linsys,
+  [  --enable-linsys         Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])
+case "${SYS}" in
+    linux*)
+if test "${enable_linsys}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
+  VLC_ADD_PLUGIN([linsys_hdsdi])
+  PKG_CHECK_MODULES(LINSYS_SDI, zvbi-0.2 >= 0.2.28,
+    [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
+      VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
+      VLC_ADD_PLUGIN([linsys_sdi]) ],
+    [AC_MSG_WARN([Couldn't find zvbi >= 0.2.28, install libzvbi-dev ?])]
+  )
+fi
+;;
+esac
+
 dnl
 dnl dvdread module: check for libdvdread
 dnl
 dnl prepend -ldvdcss on OS that need it
-AS_CASE(["${SYS}"], [mingw32|darwin|beos], [VLC_ADD_LIBS([dvdread], [-ldvdcss])])
+AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])])
 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
 
 dnl
@@ -1870,28 +1877,19 @@ AC_ARG_ENABLE(dvdnav,
 if test "${enable_dvdnav}" != "no"
 then
   dnl prepend -ldvdcss on OS that need it
-  AS_CASE(["${SYS}"], [mingw32|darwin|beos], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])])
+  AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])])
 
-  DVDNAV_PATH="${PATH}"
-  AC_ARG_WITH(dvdnav-config-path,
-    [  --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
-    [ if test "${with_dvdnav_config_path}" != "no"
-      then
-        DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
-      fi ])
-  AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
-  if test "${DVDNAV_CONFIG}" != "no"
-  then
+  PKG_CHECK_MODULES(DVDNAV, dvdnav, [
     VLC_ADD_PLUGIN([dvdnav])
-    VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
-    VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
+    VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
+    VLC_ADD_LIBS([dvdnav],[${DVDNAV_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}])
+      AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
+        [], [${LIBS_dvdnav}])
     AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
-               AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
-               [], [${LIBS_dvdnav}])
-  fi
+      AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
+        [], [${LIBS_dvdnav}])],
+      [AC_MSG_WARN(dvdnav library not found)])
 fi
 
 dnl
@@ -1912,33 +1910,15 @@ then
   fi
 fi
 
-dnl
-dnl  Windows DirectShow BDA access module
-dnl
-AC_ARG_ENABLE(bda,
-  AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
-                 enabled on Win32)]))
-if test "${enable_bda}" != "no"
-then
-  if test "${SYS}" = "mingw32"
-  then
-      AC_CHECK_HEADERS(dshow.h,
-      [ VLC_ADD_PLUGIN([bda])
-        VLC_ADD_CXXFLAGS([bda],[])
-        VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
-  fi
-fi
-
-
 dnl
 dnl  Blu-ray Disc Support with libbluray
 dnl
-PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray], (libbluray for Blu-ray disc support ) )
+PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 ], (libbluray for Blu-ray disc support ) )
 
 dnl
 dnl  OpenCV wrapper and example filters
 dnl
-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example], [opencv], (OpenCV (computer vision) filter), [off])
+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
 
 
 dnl
@@ -1968,113 +1948,6 @@ if test "${enable_sftp}" = "yes"; then
   ])
 fi
 
-dnl
-dnl  libdvbpsi ts demux/mux
-dnl
-AC_ARG_ENABLE(dvbpsi,
-  [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
-have_dvbpsi=no
-if test "${enable_dvbpsi}" != "no"
-then
-  AC_ARG_WITH(dvbpsi,
-  [  --with-dvbpsi=PATH      libdvbpsi headers and libraries])
-  AC_ARG_WITH(dvbpsi,
-  [  --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
-  case "${with_dvbpsi}" in
-  ""|yes)
-    if test -z "${with_dvbpsi_tree}"
-    then
-      AC_CHECK_HEADERS(dvbpsi/dr.h,
-        [ VLC_ADD_PLUGIN([ts])
-          if test "${enable_sout}" != "no"; then
-            VLC_ADD_PLUGIN([mux_ts])
-          fi
-          VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
-         have_dvbpsi=yes],
-        [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
-        [#if defined( HAVE_STDINT_H )
-#   include <stdint.h>
-#elif defined( HAVE_INTTYPES_H )
-#   include <inttypes.h>
-#endif
-#include <dvbpsi/dvbpsi.h>
-#include <dvbpsi/descriptor.h>
-#include <dvbpsi/pat.h>
-#include <dvbpsi/pmt.h>])
-    else
-      AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
-      real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
-      if test -z "${real_dvbpsi_tree}"
-      then
-        dnl  The given directory can't be found
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
-      fi
-      if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
-      then
-        dnl  Use a custom libdvbpsi
-        AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
-        VLC_ADD_PLUGIN([ts])
-        if test "${enable_sout}" != "no"; then
-          VLC_ADD_PLUGIN([mux_ts])
-        fi
-        VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
-        VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
-       have_dvbpsi=yes
-      else
-        dnl  The given libdvbpsi wasn't built
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
-      fi
-    fi
-  ;;
-  no)
-    dnl  Compile without dvbpsi
-  ;;
-  *)
-    AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
-    if test -z "${with_dvbpsi}"
-    then
-      LDFLAGS_test=""
-      CPPFLAGS_test=""
-    else
-      LDFLAGS_test="-L${with_dvbpsi}/lib"
-      CPPFLAGS_test="-I${with_dvbpsi}/include"
-    fi
-    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
-    AC_CHECK_HEADERS([dvbpsi/dr.h],[
-      VLC_ADD_PLUGIN([ts])
-      if test "${enable_sout}" != "no"; then
-        AC_CHECK_LIB(dvbpsi, dvbpsi_SDTServiceAddDescriptor,
-           [VLC_ADD_PLUGIN([mux_ts])], [], [${LDFLAGS_test} -ldvbpsi])
-      fi
-      VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
-      VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
-      have_dvbpsi=yes
-    ],[
-      if test -n "${enable_dvbpsi}"
-      then
-        AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.6])
-      fi
-    ],
-    [#if defined( HAVE_STDINT_H )
-#   include <stdint.h>
-#elif defined( HAVE_INTTYPES_H )
-#   include <inttypes.h>
-#endif
-#include <dvbpsi/dvbpsi.h>
-#include <dvbpsi/descriptor.h>
-#include <dvbpsi/pat.h>
-#include <dvbpsi/pmt.h>])
-    CPPFLAGS="${CPPFLAGS_save}"
-  ;;
-  esac
-  AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
-    AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
-  ], [], [${LIBS_ts}])
-
-fi
-
 dnl
 dnl  Video4Linux2 plugin
 dnl
@@ -2119,29 +1992,6 @@ AC_ARG_ENABLE(pvr,
 if test "${enable_pvr}" = "yes"
 then
   VLC_ADD_PLUGIN([pvr])
-  AC_ARG_WITH(videodev2,
-    [  --with-videodev2=FILE   Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
-  if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
-  then
-    AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
-  fi
-
-  AC_CACHE_CHECK([for new linux/videodev2.h],
-      [ac_cv_new_linux_videodev2_h],
-      [AC_TRY_COMPILE([
-          #include <sys/types.h>
-          #   ifdef VIDEODEV2_H_FILE
-         #   include VIDEODEV2_H_FILE
-         #   else
-         #   include <linux/videodev2.h>
-         #   endif
-         ],
-          [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
-          ac_cv_new_linux_videodev2_h=yes,
-          ac_cv_new_linux_videodev2_h=no)])
-  if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
-    AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
-  fi
 fi
 
 dnl
@@ -2253,29 +2103,16 @@ then
 fi
 
 dnl
-dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
+dnl  libdvbpsi check for ts mux/demux
 dnl
-AC_ARG_ENABLE(dvb,
-  [  --enable-dvb            DVB-S/T/C card support (default enabled)])
-
-if test "${enable_dvb}" != "no"
-then
-    AS_IF([test "${have_dvbpsi}" = "yes" ],[
-    AC_ARG_WITH(dvb,
-     [  --with-dvb=PATH         path to a dvb- and v4l2-enabled kernel tree],[],[])
-     if test "${with_dvb}" != "no" -a -n "${with_dvb}"
-     then
-       VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
-     fi
-     CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
-     AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
-     VLC_ADD_PLUGIN([dvb])
-     ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
-     CPPFLAGS="${CPPFLAGS_save}"
-   ],[
-     AC_MSG_WARN([the dvb access module requires libdvbpsi])
-    ])
+PKG_WITH_MODULES([DVBPSI], [libdvbpsi],
+    VLC_ADD_PLUGIN([ts])
+    VLC_ADD_LIBS([ts],[-ldvbpsi])
+if test "${enable_sout}" != "no"; then
+    VLC_ADD_PLUGIN([mux_ts])
+    VLC_ADD_LIBS([mux_ts],[-ldvbpsi])
 fi
+)
 
 dnl
 dnl  Screen capture module
@@ -2295,10 +2132,6 @@ if test "${enable_screen}" != "no"; then
     VLC_ADD_LIBS([screen],[-lgdi32])
   elif test "${SYS}" = "mingwce"; then
     CPPFLAGS="${CPPFLAGS_save}"
-  elif test "${SYS}" = "beos"; then
-    VLC_ADD_PLUGIN([screen])
-    VLC_ADD_CXXFLAGS([screen],[])
-    VLC_ADD_LIBS([screen],[-lbe])
   fi
 fi
 
@@ -2318,6 +2151,49 @@ AC_CHECK_FUNCS(inet_ntop,[
   AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
 
 
+dnl
+dnl  GME demux plugin
+dnl
+AC_ARG_ENABLE(gme,
+  [  --enable-gme            Game Music Emu support (default auto)])
+AS_IF([test "${enable_gme}" != "no"], [
+  AC_CHECK_HEADER([gme/gme.h], [
+    VLC_ADD_LIBS([gme], [-lgme])
+    VLC_ADD_PLUGIN([gme])
+  ], [
+    AS_IF([test "x${enable_gme}" != "x"], [
+      AC_MSG_ERROR([GME cannot be found. Please install the development files.])
+    ])
+  ])
+])
+
+
+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])
+
+
 dnl
 dnl  ogg demux plugin
 dnl
@@ -2366,14 +2242,14 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
               AC_CHECK_LIB(ebml_pic, main, [
                 VLC_ADD_PLUGIN([mkv])
                 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
-              ],
+              ],[
                 AC_CHECK_LIB(ebml, main, [
                   VLC_ADD_PLUGIN([mkv])
                   VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
                 ])
-      )
-            ],
-            [AC_MSG_RESULT([no])
+              ])
+            ], [
+              AC_MSG_RESULT([no])
               AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
           ])
         ])
@@ -2417,44 +2293,6 @@ then
     VLC_ADD_LIBS([mpc],[-lmpcdec])])])
 fi
 
-dnl
-dnl  game music emu demux plugin
-dnl
-AC_ARG_ENABLE(gme,
-  [  --enable-gme            Game Music Emu demux support (default enabled)])
-if test "${enable_gme}" != "no" -a "${CXX}" != "";
-then
-  AC_LANG_PUSH(C++)
-  AC_ARG_WITH(gme-tree,
-  [  --with-gme-tree=PATH    gme tree for static linking])
-  if test -n "${with_gme_tree}"
-  then
-    AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
-    real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
-    if test -z "${real_gme_tree}"
-    then
-      dnl  The given directory can't be found
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
-    fi
-    if test -f "${real_gme_tree}/gme/libgme.a"
-    then
-      dnl  Use a custom gme
-      AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
-      VLC_ADD_PLUGIN([gme])
-      VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
-      VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
-    else
-      dnl  The given gme wasn't built
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
-    fi
-  else
-      AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
-  fi
-  AC_LANG_POP(C++)
-fi
-
 dnl
 dnl  Codec plugins
 dnl
@@ -2492,6 +2330,35 @@ then
   VLC_ADD_LIBS([omxil], [$LIBDL])
 fi
 
+dnl
+dnl CrystalHD codec plugin
+dnl
+AC_ARG_ENABLE(crystalhd,
+  [  --enable-crystalhd       crystalhd codec plugin (default auto)])
+if test "${enable_crystalhd}" != "no"; then
+    AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
+      VLC_ADD_PLUGIN([crystalhd])
+      VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
+    ],[
+      if test "${SYS}" = "mingw32" ; then
+        AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
+          VLC_ADD_PLUGIN([crystalhd])
+          AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
+            VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
+            ])
+        ],[
+          AS_IF([test x"${enable_crystalhd}" = "xyes"],
+                [AC_MSG_ERROR("Could not find CrystalHD development headers")],
+                [AC_MSG_WARN("Could not find CrystalHD development headers")])
+        ],[#define __LINUX_USER__
+               #include <libcrystalhd/bc_dts_types.h>
+        ])
+      fi
+    ],[
+       #include <libcrystalhd/bc_dts_types.h>
+      ])
+fi
+
 dnl
 dnl  mad plugin
 dnl
@@ -2575,8 +2442,8 @@ AS_IF([test "${enable_avcodec}" != "no"], [
       VLC_SAVE_FLAGS
       CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
       CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
-      AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
-      AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
+      AC_CHECK_HEADERS(libavcodec/avcodec.h)
+      AC_CHECK_HEADERS(libavutil/avutil.h)
       VLC_ADD_PLUGIN([avcodec])
       VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
       AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
@@ -2692,8 +2559,8 @@ then
       VLC_SAVE_FLAGS
       CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
       CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
-      AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
-      AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
+      AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
+      AC_CHECK_HEADERS(libavutil/avutil.h)
       AS_IF([test "$enable_merge_ffmpeg" = "no"], [
         VLC_ADD_PLUGIN([avformat access_avio])
         VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
@@ -2725,7 +2592,7 @@ then
       VLC_SAVE_FLAGS
       CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
       CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
-      AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
+      AC_CHECK_HEADERS(libswscale/swscale.h)
       VLC_ADD_PLUGIN([swscale])
       VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
       VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
@@ -2848,18 +2715,6 @@ if test "${enable_realrtsp}" = "yes"; then
   VLC_ADD_PLUGIN([access_realrtsp])
 fi
 
-dnl
-dnl skins2 module
-dnl
-AC_ARG_ENABLE(libtar,
-  [  --enable-libtar         libtar support for skins2 (default enabled)])
-
-AS_IF([test "${enable_libtar}" != "no"],[
-  AC_CHECK_HEADERS(libtar.h, [
-    VLC_ADD_LIBS([skins2],[-ltar])
-  ] )
-])
-
 dnl
 dnl A52/AC3 decoder plugin
 dnl
@@ -2988,7 +2843,7 @@ PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
 dnl
 dnl  schroedinger decoder plugin (for dirac format video)
 dnl
-PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
+PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
 
 dnl
 dnl  PNG decoder module
@@ -3196,7 +3051,7 @@ dnl  X C Bindings modules
 dnl
 AC_ARG_ENABLE(xcb,
   [  --enable-xcb            X11 support with XCB (default enabled)],, [
-  AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
+  AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
     enable_xcb="yes"
   ], [
     enable_xcb="no"
@@ -3207,21 +3062,16 @@ AC_ARG_ENABLE(xvideo,
     enable_xvideo="$enable_xcb"
 ])
 
-need_xid_provider="no"
+have_xcb="no"
 AS_IF([test "${enable_xcb}" != "no"], [
   dnl libxcb
   PKG_CHECK_MODULES(XCB, [xcb])
+  have_xcb="yes"
   PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
-  VLC_ADD_PLUGIN([xscreensaver 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], [
       VLC_ADD_PLUGIN([xcb_xv])
-    ], [
-      PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
-        VLC_ADD_PLUGIN([xcb_xv])
-        VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD])
-      ])
     ])
   ])
 
@@ -3235,27 +3085,16 @@ AS_IF([test "${enable_xcb}" != "no"], [
 
   dnl xcb-utils
   PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
-    have_xcb_keysyms="yes"
-  ], [
-    PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [
-      have_xcb_keysyms="yes"
-      VLC_ADD_CFLAGS([globalhotkeys], [-DXCB_KEYSYM_OLD_API])
-    ], [
-      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([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])
+  ], [
+    AC_MSG_WARN([libxcb-keysyms (0.3.4 or later) not found. Hotkeys will not work.])
   ])
-  VLC_ADD_PLUGIN([xdg_screensaver])
 ])
+AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
 
 AC_ARG_ENABLE(glx,
   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)],, [
@@ -3273,8 +3112,14 @@ AS_IF([test "${enable_glx}" != "no"], [
   ])
   VLC_ADD_PLUGIN([xcb_glx])
 ])
-AC_SUBST([GL_CFLAGS])
-AC_SUBST([GL_LIBS])
+
+dnl
+dnl  OpenGL
+dnl
+PKG_ENABLE_MODULES_VLC([GL], [], [gl], [OpenGL support], [auto])
+PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
+PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
+PKG_ENABLE_MODULES_VLC([EGL], [], [egl], [EGL support], [auto])
 
 dnl
 dnl  SDL module
@@ -3322,8 +3167,7 @@ AC_ARG_ENABLE(fribidi,
   [  --enable-fribidi        fribidi support (default enabled)])
 AC_ARG_ENABLE(fontconfig,
   [  --enable-fontconfig     fontconfig support (default enabled)])
-if test "${enable_freetype}" != "no"
-then
+if test "${enable_freetype}" != "no"; then
    PKG_CHECK_MODULES(FREETYPE, freetype2,[
       VLC_ADD_PLUGIN([freetype])
       have_freetype=yes
@@ -3332,16 +3176,20 @@ then
         VLC_ADD_LIBS([freetype],[-liconv -lz])
       fi
       VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
-      if test "${enable_fontconfig}" != "no"
-      then
-        AC_CHECK_HEADERS(fontconfig/fontconfig.h,
-          [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
-           VLC_ADD_LIBS([freetype],[-lfontconfig])])
-        AC_CHECK_HEADERS(Carbon/Carbon.h,
-          [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
+
+      if test "${SYS}" != "mingw32"; then
+          if test "${enable_fontconfig}" != "no"; then
+            AC_CHECK_HEADERS(fontconfig/fontconfig.h,
+              [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
+               VLC_ADD_LIBS([freetype],[-lfontconfig])])
+            AC_CHECK_HEADERS(Carbon/Carbon.h,
+              [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
+          fi
+      else
+          VLC_ADD_LIBS([freetype],[-lgdi32])
       fi
 
-     dnl fribidi support
+      dnl fribidi support
       if test "${enable_fribidi}" != "no"
       then
         PKG_CHECK_MODULES(FRIBIDI, fribidi, [
@@ -3372,13 +3220,27 @@ dnl
 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
 
 dnl
-dnl Snapshot vout module (with cache)
+dnl  iOS vout module
+dnl
+AC_ARG_ENABLE(ios-vout,
+  [  --enable-ios-vout    iOS video output module (default disabled)])
+if test "${enable_ios_vout}" = "yes"
+then
+  VLC_ADD_PLUGIN([vout_ios])
+  VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
+  VLC_ADD_LDFLAGS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
+fi
+
+dnl
+dnl  QuartzText vout module (iOS/Mac OS)
 dnl
-AC_ARG_ENABLE(snapshot,
-  [  --enable-snapshot       snapshot module (default disabled)])
-if test "${enable_snapshot}" = "yes"
+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([snapshot])
+  VLC_ADD_PLUGIN([quartztext])
+  VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
 fi
 
 dnl
@@ -3396,6 +3258,7 @@ if test "${enable_directx}" != "no"
 then
   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
   then
+      VLC_ADD_LIBS([directx],[-luser32])
       AC_CHECK_HEADERS(ddraw.h,
       [ VLC_ADD_PLUGIN([directx aout_directx])
         VLC_ADD_LIBS([directx],[-lgdi32])
@@ -3451,14 +3314,10 @@ fi
 dnl
 dnl  Linux framebuffer module
 dnl
-AC_ARG_ENABLE(fb,
-  [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
-    if test "${enable_fb}" != "no"
-    then
-      AC_CHECK_HEADERS(linux/fb.h, [
-        VLC_ADD_PLUGIN([fb])
-      ])
-    fi
+AC_CHECK_HEADER([linux/fb.h], [
+  VLC_ADD_PLUGIN([fb])
+])
+
 
 dnl
 dnl  DirectFB module
@@ -3576,15 +3435,7 @@ fi
 dnl
 dnl  Pulseaudio module
 dnl
-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])
-])
+PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.22], [PulseAudio support], [auto])
 
 dnl
 dnl  Portaudio module
@@ -3648,22 +3499,6 @@ then
   VLC_ADD_LDFLAGS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
 fi
 
-dnl
-dnl  Roku HD1000 audio
-dnl
-AC_ARG_ENABLE(hd1000a,
-  [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
-if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
-  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
-   test "${enable_hd1000a}" = "yes")
-then
-  AC_LANG_PUSH([C++])
-  AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
-    VLC_ADD_PLUGIN([hd1000a])
-    AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225]))  ])
-  AC_LANG_POP([C++])
-fi
-
 dnl
 dnl  JACK modules
 dnl
@@ -3672,8 +3507,8 @@ PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modul
 dnl
 dnl UPnP Plugin (Intel SDK)
 dnl
-PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto])
-VLC_ADD_CXXFLAGS([upnp_intel],[${UPNP_CFLAGS}])
+PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPnp SDK],[auto])
+VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
 
 dnl
 dnl  Interface plugins
@@ -3684,50 +3519,51 @@ 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, BeOS and WinCE)])])
-if test "${enable_skins2}" != "no" ||
-  (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
-   test "${SYS}" != "mingwce" && test "${enable_skins2}" == "yes"); then
-
-  dnl test for the required libraries
-  skins2_missing_lib="no"
-
+   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
-  if test "${have_freetype}" != "yes"; then
-    skins2_missing_lib="yes"
-    if test "${enable_skins2}" = "yes"; then
-      AC_MSG_ERROR([Could not find freetype (required for skins2)])
-    fi
-  fi
+  AS_IF([test "${have_freetype}" != "yes"], [
+    AC_MSG_ERROR([Could not find FreeType (required for skins2)])
+  ])
 
-  if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then
-    VLC_ADD_PLUGIN([skins2])
-    ALIASES="${ALIASES} svlc"
+  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])
+    VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32  -lmsimg32 -luser32])
 
-  else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
-    VLC_ADD_PLUGIN([skins2])
-    ALIASES="${ALIASES} svlc"
+  ], [test "${SYS}" = "darwin"], [
     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
     VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
 
-  else if test "${skins2_missing_lib}" = "no"; then
-    VLC_ADD_PLUGIN([skins2])
-    ALIASES="${ALIASES} svlc"
-    VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
+  ], [
+    PKG_CHECK_MODULES([XPM], [xpm])
+    PKG_CHECK_MODULES([XEXT], [xext])
+    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} -lXext -lXpm -lX11])
-    need_xid_provider="no"
-  fi fi fi
-fi
-AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
-        (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
-         test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
+    VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} -lX11])
+
+  ])
+  VLC_ADD_PLUGIN([skins2])
+  ALIASES="${ALIASES} svlc"
+])
+AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
 
 dnl
 dnl Hildon UI
@@ -3746,7 +3582,6 @@ AS_IF([test "${enable_hildon}" = "yes"], [
     VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
     VLC_ADD_PLUGIN([hildon])
     ALIASES="${ALIASES} mvlc"
-    need_xid_provider="no"
   ], [
     AS_IF([test "${enable_hildon}" = "yes"],[
       AC_MSG_ERROR([Hildon libraries not found])
@@ -3783,7 +3618,6 @@ AS_IF([test "${enable_qt4}" != "no"], [
     ], [
       AC_MSG_RESULT([yes])
       VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
-      need_xid_provider="no"
       VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
     ], [
       AC_MSG_RESULT([no])
@@ -3795,6 +3629,9 @@ AS_IF([test "${enable_qt4}" != "no"], [
     AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
         VLC_ADD_LIBS([qt4],[-lole32])
     ])
+    AS_IF([test "${SYS}" = "darwin" ],[
+         VLC_ADD_LDFLAGS([qt4], [-Wl,-framework,Cocoa])
+    ])
     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)
     AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
@@ -3831,6 +3668,8 @@ then
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,IOKit])
   VLC_ADD_LDFLAGS([macosx],                           [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle])
   VLC_ADD_OBJCFLAGS([macosx],                         [-F${CONTRIB_DIR}/Sparkle])
+  VLC_ADD_LDFLAGS([macosx],                           [-F${CONTRIB_DIR}/BWToolKit -Wl,-framework,BWToolKitFramework])
+  VLC_ADD_OBJCFLAGS([macosx],                         [-F${CONTRIB_DIR}/BWToolKit])
   dnl For bug report
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,AddressBook])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
@@ -3947,13 +3786,6 @@ then
  ])
 fi
 
-dnl
-dnl Post-interface configuration checks
-dnl
-AS_IF([test "$need_xid_provider" = "yes"], [
-  AC_MSG_ERROR([X11 video outputs need a window provider (Qt4, Skins2, Hildon or xcb-utils), but none were found. Please install xcb-keysyms.])
-])
-
 dnl
 dnl Visualisation plugin
 dnl
@@ -4084,11 +3916,8 @@ AS_IF([test "${enable_gnutls}" != "no"], [
       dnl pkg-config --libs gnutls omits these
       VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL}])
     ])
-    dnl The GnuTLS plugin invokes gcry_control directly.
-    AS_IF([test "${have_libgcrypt}" = "yes"],[
-      VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
-      VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
-    ])
+    VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
+    VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
     VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
   ], [
     AS_IF([test "${enable_gnutls}" = "yes"], [
@@ -4101,24 +3930,22 @@ AS_IF([test "${enable_gnutls}" != "no"], [
 dnl
 dnl RemoteOSD plugin (VNC client as video filter)
 dnl
-AC_ARG_ENABLE(remoteosd,
-  [  --disable-remoteosd     RemoteOSD plugin (default enabled)])
-
-AS_IF([test "${enable_remoteosd}" != "no"], [
-  AS_IF([test "${have_libgcrypt}" = "yes"],[
-    VLC_ADD_PLUGIN([remoteosd])
-    VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
-    VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
-  ], [
-    AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
-  ])
+AC_MSG_CHECKING([whether to enable the RemoteOSD plugin])
+AS_IF([test "${have_libgcrypt}" = "yes"],[
+  AC_MSG_RESULT(yes)
+  VLC_ADD_PLUGIN([remoteosd])
+  VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
+  VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
+], [
+  AC_MSG_RESULT(no)
+  AC_MSG_WARN([libgcrypt support required for RemoteOSD plugin])
 ])
 
 
 dnl
 dnl RAOP plugin
 dnl
-AC_MSG_CHECKING([whether to enable RAOP plugin])
+AC_MSG_CHECKING([whether to enable the RAOP plugin])
 AS_IF([test "${have_libgcrypt}" = "yes"], [
   AC_MSG_RESULT(yes)
   VLC_ADD_PLUGIN([stream_out_raop])
@@ -4189,6 +4016,20 @@ else
 fi
 AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
 
+dnl
+dnl media library
+dnl
+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])
+    else
+       AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
+       VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
+       VLC_ADD_PLUGIN([media_library])
+    fi
+fi
+AM_CONDITIONAL([ENABLE_MEDIA_LIBRARY], [test "${enable_media_library}" = "yes"])
 
 dnl
 dnl  Endianness check
@@ -4371,9 +4212,7 @@ AC_CONFIG_FILES([
   test/Makefile
   modules/access/Makefile
   modules/access/bd/Makefile
-  modules/access/bda/Makefile
   modules/access/dshow/Makefile
-  modules/access/dvb/Makefile
   modules/access/mms/Makefile
   modules/access/rtp/Makefile
   modules/access/rtsp/Makefile
@@ -4383,10 +4222,6 @@ AC_CONFIG_FILES([
   modules/access/zip/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
-  modules/audio_filter/channel_mixer/Makefile
-  modules/audio_filter/converter/Makefile
-  modules/audio_filter/resampler/Makefile
-  modules/audio_filter/spatializer/Makefile
   modules/audio_mixer/Makefile
   modules/audio_output/Makefile
   modules/codec/Makefile
@@ -4415,15 +4250,15 @@ AC_CONFIG_FILES([
   modules/gui/macosx_dialog_provider/Makefile
   modules/gui/qt4/Makefile
   modules/gui/skins2/Makefile
+  modules/lua/Makefile
   modules/meta_engine/Makefile
   modules/misc/Makefile
   modules/misc/dummy/Makefile
-  modules/misc/lua/Makefile
   modules/misc/notify/Makefile
   modules/misc/playlist/Makefile
   modules/misc/osd/Makefile
   modules/misc/stats/Makefile
-  modules/misc/xml/Makefile
+  modules/media_library/Makefile
   modules/mux/Makefile
   modules/mux/mpeg/Makefile
   modules/packetizer/Makefile