]> git.sesse.net Git - vlc/blobdiff - configure.ac
Check for missing LUAC in configure rather than make, make it precious
[vlc] / configure.ac
index e596ab5ed23488951468e690c9c0d5441a8bf60f..b3e0ee24d22420ed58a847c1084d278db46d017a 100644 (file)
@@ -2,11 +2,11 @@ dnl Autoconf settings for vlc
 
 AC_COPYRIGHT([Copyright 2002-2010 the VideoLAN team])
 
-AC_INIT(vlc, 1.1.0-git)
+AC_INIT(vlc, 1.1.0-pre1)
 VERSION_MAJOR="1"
 VERSION_MINOR="1"
 VERSION_REVISION="0"
-VERSION_EXTRA="-git"
+VERSION_EXTRA="-pre1"
 PKGDIR="vlc"
 AC_SUBST(PKGDIR)
 
@@ -21,12 +21,18 @@ AC_CONFIG_MACRO_DIR(m4)
 AC_CONFIG_LIBOBJ_DIR(compat)
 AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
+AC_PRESERVE_HELP_ORDER
 
 AM_INIT_AUTOMAKE(tar-ustar)
 AM_CONFIG_HEADER(config.h)
 
 # Disable with "./configure --disable-silent-rules" or "make V=1"
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+m4_ifdef([AM_SILENT_RULES], [
+  AM_SILENT_RULES([yes])
+], [
+  AM_DEFAULT_VERBOSITY=1
+  AC_SUBST(AM_DEFAULT_VERBOSITY)
+])
 
 
 dnl Too many people are not aware of maintainer mode:
@@ -49,24 +55,6 @@ AC_SUBST(vlcdatadir)
 vlclibdir="\${libdir}/\${PKGDIR}"
 AC_SUBST(vlclibdir)
 
-dnl
-dnl  Deprecated options
-dnl  to notify packagers that stuff has changed
-dnl
-AC_ARG_ENABLE(python-bindings,
-  [  --enable-python-bindings Always fails for historical reasons)],,
-  [enable_python_bindings="no"])
-AS_IF([test "${enable_python_bindings}" != "no"], [
-  AC_MSG_ERROR([Python bindings are now built from a separate source package])
-])
-
-AC_ARG_ENABLE(java-bindings,
-  [  --enable-java-bindings  Always fails for historical reasons],,
-  [enable_java_bindings="no"])
-AS_IF([test "${enable_java_bindings}" != "no"], [
-  AC_MSG_ERROR([Java bindings are now built from a separate source package])
-])
-
 dnl
 dnl  Save *FLAGS
 dnl
@@ -101,6 +89,9 @@ AC_C_CONST
 AC_C_INLINE
 AC_C_RESTRICT
 
+dnl Extend the --help string at the current spot.
+AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
+
 dnl Allow binary package maintainer to pass a custom string to avoid
 dnl cache problem
 AC_ARG_WITH(binary-version,
@@ -117,23 +108,22 @@ dnl  Check for the contrib directory
 dnl
 AC_ARG_WITH(contrib,
     [  --without-contrib       do not use the libraries in CONTRIB_DIR],[],[])
-  AS_IF([test "${with_contrib}" != "no"],[
-    AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
-    if test -z "$CONTRIB_DIR"
-    then
+AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
+AS_IF([test "${with_contrib}" != "no"],[
+  AS_IF([test -z "$CONTRIB_DIR"], [
       topdir="`dirname $0`"
       if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
          topdir="`pwd`/$topdir"
       fi
-      CONTRIB_DIR=${topdir}/extras/contrib/hosts/${host}
+      CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}"
       if ! test -d "$CONTRIB_DIR"
       then
         gccmachine=`$CC -dumpmachine`
-        CONTRIB_DIR=${topdir}/extras/contrib/hosts/${gccmachine}
+        CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}"
       fi
-    fi
-    AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
-  AS_IF([test -d ${CONTRIB_DIR}/lib],[
+  ])
+  AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
+  AS_IF([test -d "${CONTRIB_DIR}/lib"],[
     AC_MSG_RESULT([yes])
     AC_SUBST(CONTRIB_DIR)
     export PATH=${CONTRIB_DIR}/bin:$PATH
@@ -145,31 +135,32 @@ AC_ARG_WITH(contrib,
     CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
     OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
     OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
-    if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
-        export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
+    if test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"; then
+        export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
     else
-        export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
+        export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
     fi
     LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
     LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
 
-    if test -z $with_mozilla_sdk_path; then
-       with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk
+    if test -z "$with_mozilla_sdk_path"; then
+       with_mozilla_sdk_path="${CONTRIB_DIR}/gecko-sdk"
     fi
-    if test -z $with_cyberlink_tree; then
-       with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
+    if test -z "$with_cyberlink_tree"; then
+       with_cyberlink_tree="${CONTRIB_DIR}/src/clinkcc"
     fi
 
-    if test ".`uname -s`" = ".Darwin"; then
-      export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
-      export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH
-    elif test ".`uname -s`" = ".BeOS"; then
-      export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
-      export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
+    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])
-    ])
+  ],[
+    AC_MSG_RESULT([no])
+    CONTRIB_DIR=""
+  ])
 ])
 dnl
 dnl  Set default values
@@ -189,7 +180,7 @@ case "${host_os}" in
   bsdi*)
     SYS=bsdi
     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
-    VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx],[-ldvd])
+    VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
     ;;
   *bsd*)
     SYS="${host_os}"
@@ -210,19 +201,35 @@ case "${host_os}" in
     esac
     ;;
   darwin*)
+
+    dnl Force gcc "-arch" flag
+    ARCH_flag=""
+    case "${host}" in
+      i386*)
+        ARCH_flag="-arch i386"
+      ;;
+      ppc64*)
+        ARCH_flag="-arch ppc64"
+      ;;
+      ppc*)
+        ARCH_flag="-arch ppc"
+      ;;
+      x86_64*)
+        ARCH_flag="-arch x86_64"
+      ;;
+    esac
+
     SYS=darwin
-    CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
-    LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
-    VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
-    VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
-    VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
-    VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup])
+    CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}"
+    CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}"
+    CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}"
+    OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}"
+    LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}"
+    VLC_ADD_LDFLAGS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
+    VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
     VLC_ADD_LDFLAGS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
     VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
     VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
-    VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
     AC_ARG_ENABLE(macosx-defaults,
       AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
     if test "x${enable_macosx_defaults}" != "xno"
@@ -293,28 +300,6 @@ case "${host_os}" in
         export MACOSX_DEPLOYMENT_TARGET
     fi
     ;;
-  darwin9*)
-    if (test ".`uname -p`" = ".i386"); then
-        dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
-        dnl without hacking it a lot, we disable mmx and sse.
-        dnl (that bug is about ld being unable to handle
-        dnl text relocation)
-        save_cflags="$CFLAGS"
-        CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
-        AC_TRY_LINK(
-            [int a;], [asm("movq _a,%mm0\n");],
-            ac_ld_does_not_support_text_reloc=no,
-            ac_ld_does_not_support_text_reloc=yes)
-        CFLAGS="$save_cflags"
-
-        if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
-            enable_mmx="no"
-            echo "  Assuming --disable-mmx (due to a bug in ld)"
-            enable_sse="no"
-            echo "  Assuming --disable-sse (due to a bug in ld)"
-        fi
-    fi
-    ;;
   *mingw32* | *cygwin* | *wince* | *mingwce*)
     AC_CHECK_TOOL(WINDRES, windres, :)
     AC_CHECK_TOOL(OBJCOPY, objcopy, :)
@@ -345,10 +330,10 @@ case "${host_os}" in
         # add ws2_32 for closesocket, select, recv
         VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
-        VLC_ADD_LIBS([activex mozilla],[-lgdi32])
+        VLC_ADD_LIBS([activex mozilla win32text],[-lgdi32])
         VLC_ADD_LIBS([cdda vcdx sdl_image aout_sdl vout_sdl],[-lwinmm])
-        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp oldhttp stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldtelnet oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[-lws2_32])
-        VLC_ADD_LIBS([access_file], [-lshlwapi])
+        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp oldhttp stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldtelnet oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32])
+        VLC_ADD_LIBS([filesystem], [-lshlwapi])
         dnl
         dnl DEP and ASLR options
         dnl
@@ -358,10 +343,11 @@ case "${host_os}" in
         then
           AC_CHECK_TOOL(PEFLAGS, peflags, :)
         fi
+        AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
-        VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap oldhttp netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts oldtelnet audiobargraph_a],[-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_rtp remoteosd ts oldtelnet audiobargraph_a netsync],[-lws2])
         VLC_ADD_LIBS([libvlccore],[-lmmtimer])
    fi
     ;;
@@ -380,20 +366,14 @@ case "${host_os}" in
     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
     VLC_ADD_CXXFLAGS([beos],[])
     VLC_ADD_LIBS([vlc libvlccore logger],[-lbe])
-    VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
     VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
-    VLC_ADD_LIBS([access_file],[-lpoll])
+    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([access_file access_ftp access_mms access_output_udp oldtelnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
+        VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp oldtelnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
     else
-        VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp oldtelnet netsync sap libvlccore growl_udp],[-lnet])
-    fi
-
-    dnl Ugly check for Zeta
-    if test -f /boot/beos/system/lib/libzeta.so; then
-        VLC_ADD_LIBS([beos],[-lzeta])
+        VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp oldtelnet netsync sap libvlccore growl_udp],[-lnet])
     fi
     ;;
   *)
@@ -568,37 +548,19 @@ dnl Check for system libs needed
 need_libc=false
 
 dnl Check for usual libc functions
-AC_CHECK_FUNCS([gettimeofday isatty getpwuid_r memalign posix_memalign getenv putenv setenv ctime_r daemon fork lstat posix_fadvise posix_madvise uselocale tdestroy])
-AC_CHECK_FUNCS(fcntl)
-AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll vasprintf swab])
-AC_CHECK_FUNCS([stricmp strnicmp])
+AC_CHECK_FUNCS([ctime_r daemon fcntl fdopendir fork getenv getpwuid_r gettimeofday isatty lstat memalign openat posix_fadvise posix_madvise posix_memalign putenv setenv setlocale stricmp strnicmp tdestroy uselocale])
+AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf])
 AC_CHECK_FUNCS(fdatasync,,
   [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
 ])
 
 dnl Check for non-standard system calls
-AC_CHECK_FUNCS([vmsplice eventfd fstatfs accept4])
+AC_CHECK_FUNCS([accept4 dup3 eventfd fstatfs vmsplice])
 
 AH_BOTTOM([#include <vlc_fixups.h>])
 
 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
 
-dnl Check for setlocal and langinfo
-AC_CHECK_FUNCS(setlocale)
-AC_CHECK_HEADERS(langinfo.h)
-AC_CHECK_FUNCS(nl_langinfo)
-
-AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
-  [AC_TRY_LINK([#include <langinfo.h>],
-    [char* cs = nl_langinfo(CODESET);],
-    ac_cv_langinfo_codeset=yes,
-    ac_cv_langinfo_codeset=no)
-  ])
-if test ${ac_cv_langinfo_codeset} = yes; then
-  AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
-    [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
-fi
-
 SOCKET_LIBS=""
 AC_CHECK_FUNCS(connect,,[
   AC_CHECK_LIB(socket,connect,[
@@ -610,7 +572,7 @@ AC_SUBST(SOCKET_LIBS)
 
 AC_CHECK_FUNCS(send,,[
   AC_CHECK_LIB(socket,send,[
-    VLC_ADD_LIBS([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],[-lsocket])
+    VLC_ADD_LIBS([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])
   ])
 ])
 
@@ -704,27 +666,21 @@ AC_CHECK_FUNCS(inet_aton,,[
   ])
 ])
 
-dnl Check for getopt (always use builtin one on win32)
-if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
-need_getopt=:
-else
-need_getopt=false
-AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
-[ # FreeBSD has a gnugetopt library for this:
-  AC_CHECK_LIB([gnugetopt],[getopt_long],
-    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
-     VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
-    [need_getopt=:])])
-fi
-AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
+dnl FreeBSD has a gnugetopt library for this:
+GNUGETOPT_LIBS=""
+AC_CHECK_FUNC(getopt_long,, [
+  AC_CHECK_LIB([gnugetopt],[getopt_long], [
+    GNUGETOPT_LIBS="-lgnugetopt"
+  ])
+])
+AC_SUBST(GNUGETOPT_LIBS)
 
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
   VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm])
+  VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo opengl],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   VLC_ADD_LIBS([headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm])
@@ -793,22 +749,30 @@ if test "${ac_cv_have_plugins}" = "no"; then
 fi
 
 # Only test for dlopen() if the others didn't work
+LIBDL=""
 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
   AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
   ac_cv_my_have_dlopen=no
-  AC_CHECK_FUNC(dlopen,
-    ac_cv_my_have_dlopen=yes,
-    AC_CHECK_LIB(dl, dlopen,
+  AC_CHECK_FUNC(dlopen, [
+    ac_cv_my_have_dlopen=yes
+  ], [
+    AC_CHECK_LIB(dl, dlopen, [
       ac_cv_my_have_dlopen=yes
-      VLC_ADD_LIBS([libvlccore realaudio realvideo lua],[-ldl]),
-      AC_CHECK_LIB(svld, dlopen,
+      LIBDL="-ldl"
+    ], [
+      AC_CHECK_LIB(svld, dlopen, [
         ac_cv_my_have_dlopen=yes
-        VLC_ADD_LIBS([libvlccore],[-lsvld]))))
+        LIBDL="-lsvld"
+      ])
+    ])
+  ])
   if test "${ac_cv_my_have_dlopen}" = "yes"; then
     AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
     ac_cv_have_plugins=yes
+    VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL])
   fi
 fi
+AC_SUBST(LIBDL)
 
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 dnl Check for pthreads - borrowed from XMMS
@@ -827,7 +791,7 @@ if test "${THREAD_LIB}" = "error"; then
   THREAD_LIB=""
 fi
 
-VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}])
+VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}])
 
 AC_CHECK_LIB(rt, clock_nanosleep, [
   VLC_ADD_LIBS([libvlccore],[-lrt])
@@ -860,7 +824,7 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
 
 dnl Check for headers
 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
-AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h)
+AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h sys/mount.h)
 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
 AC_CHECK_HEADERS([net/if.h], [], [],
   [
@@ -873,8 +837,6 @@ AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
 AC_CHECK_HEADERS(syslog.h)
 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
-AC_HEADER_TIME
-
 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
 AC_CHECK_TYPE(ssize_t,, [
@@ -958,8 +920,7 @@ then
   VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
   VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
   VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
-  VLC_ADD_PLUGIN([unzip])
-  VLC_ADD_PLUGIN([zip])
+  VLC_ADD_PLUGIN([unzip zip])
 fi
 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
 
@@ -1018,16 +979,6 @@ CFLAGS="${CFLAGS_save}"
 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
 RDC_PROG_CC_FLAGS([-pipe])
 
-AC_ARG_ENABLE(warnings-as-error,
-      AS_HELP_STRING([--enable-warnings-as-error],[Treat acceptable warnings as error (default disabled)]),, [enable_warnings_as_error="no"])
-AS_IF([test "${enable_warnings_as_error}" = "yes"], [
-    RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \
-     missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \
-     bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \
-     overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored])
-])
-AC_SUBST(CFLAGS_WERROR)
-
 dnl Check for various optimization flags
 AC_CACHE_CHECK([if \$CC accepts -Os],
     [ac_cv_c_os],
@@ -1187,141 +1138,25 @@ test "${enable_cprof}" != "yes" && enable_cprof="no"
 dnl
 dnl  default modules
 dnl
-dnl Video filters:
-VLC_ADD_PLUGIN([deinterlace])
-VLC_ADD_PLUGIN([yuvp])
-VLC_ADD_PLUGIN([invert])
-VLC_ADD_PLUGIN([mirror])
-VLC_ADD_PLUGIN([adjust])
-VLC_ADD_PLUGIN([transform])
-VLC_ADD_PLUGIN([wave])
-VLC_ADD_PLUGIN([ripple])
-VLC_ADD_PLUGIN([psychedelic])
-VLC_ADD_PLUGIN([gradient])
-VLC_ADD_PLUGIN([ball])
-VLC_ADD_PLUGIN([motionblur])
-VLC_ADD_PLUGIN([rv32])
-VLC_ADD_PLUGIN([rotate])
-VLC_ADD_PLUGIN([noise])
-VLC_ADD_PLUGIN([grain])
-VLC_ADD_PLUGIN([extract])
-VLC_ADD_PLUGIN([sharpen])
-VLC_ADD_PLUGIN([croppadd])
-VLC_ADD_PLUGIN([canvas])
-VLC_ADD_PLUGIN([blendbench])
-VLC_ADD_PLUGIN([blend])
-VLC_ADD_PLUGIN([scale])
-VLC_ADD_PLUGIN([vmem])
-VLC_ADD_PLUGIN([logo])
-VLC_ADD_PLUGIN([audiobargraph_v])
-VLC_ADD_PLUGIN([magnify])
-VLC_ADD_PLUGIN([puzzle])
-VLC_ADD_PLUGIN([colorthres])
-VLC_ADD_PLUGIN([scene])
-VLC_ADD_PLUGIN([yuv])
-
-ALIASES="${ALIASES} cvlc"
-
-dnl
-dnl default modules that need g++
-dnl
-AC_LANG_PUSH(C++)
-VLC_ADD_PLUGIN([spatializer])
-AC_LANG_POP(C++)
-
-if test "${SYS}" != "mingwce"; then
-  VLC_ADD_PLUGIN([gestures])
-  VLC_ADD_PLUGIN([oldrc])
-  VLC_ADD_PLUGIN([hotkeys])
-  VLC_ADD_PLUGIN([showintf])
-  VLC_ADD_PLUGIN([marq])
-  VLC_ADD_PLUGIN([podcast])
-  VLC_ADD_PLUGIN([shout])
-  VLC_ADD_PLUGIN([sap])
-  VLC_ADD_PLUGIN([mediadirs])
-  VLC_ADD_PLUGIN([fake])
-  VLC_ADD_PLUGIN([folder])
-  VLC_ADD_PLUGIN([rss])
-  VLC_ADD_PLUGIN([mosaic])
-  VLC_ADD_PLUGIN([wall])
-  VLC_ADD_PLUGIN([motiondetect])
-  VLC_ADD_PLUGIN([clone])
-  VLC_ADD_PLUGIN([crop])
-  VLC_ADD_PLUGIN([erase])
-  VLC_ADD_PLUGIN([bluescreen])
-  VLC_ADD_PLUGIN([alphamask])
-  VLC_ADD_PLUGIN([gaussianblur])
-  VLC_ADD_PLUGIN([i420_yuy2])
-  VLC_ADD_PLUGIN([i422_yuy2])
-  VLC_ADD_PLUGIN([i422_i420])
-  VLC_ADD_PLUGIN([yuy2_i422])
-  VLC_ADD_PLUGIN([yuy2_i420])
-  VLC_ADD_PLUGIN([chain])
-  VLC_ADD_PLUGIN([aout_file])
-  VLC_ADD_PLUGIN([linear_resampler])
-  VLC_ADD_PLUGIN([bandlimited_resampler])
-  VLC_ADD_PLUGIN([float32_mixer])
-  VLC_ADD_PLUGIN([spdif_mixer])
-  VLC_ADD_PLUGIN([simple_channel_mixer])
-  VLC_ADD_PLUGIN([dolby_surround_decoder])
-  VLC_ADD_PLUGIN([headphone_channel_mixer])
-  VLC_ADD_PLUGIN([normvol])
-  VLC_ADD_PLUGIN([audiobargraph_a])
-  VLC_ADD_PLUGIN([equalizer])
-  VLC_ADD_PLUGIN([param_eq])
-  VLC_ADD_PLUGIN([scaletempo])
-  VLC_ADD_PLUGIN([a52tospdif])
-  VLC_ADD_PLUGIN([dtstospdif])
-  ALIASES="${ALIASES} rvlc"
-fi
-
-if test "${SYS}" = "mingwce"; then
-  VLC_ADD_PLUGIN([chain])
-  VLC_ADD_PLUGIN([aout_file])
-  VLC_ADD_PLUGIN([linear_resampler])
-  VLC_ADD_PLUGIN([bandlimited_resampler])
-  VLC_ADD_PLUGIN([float32_mixer])
-  VLC_ADD_PLUGIN([spdif_mixer])
-  VLC_ADD_PLUGIN([simple_channel_mixer])
-  VLC_ADD_PLUGIN([headphone_channel_mixer])
-  VLC_ADD_PLUGIN([normvol])
-  VLC_ADD_PLUGIN([audiobargraph_a])
-  VLC_ADD_PLUGIN([a52tospdif])
-  VLC_ADD_PLUGIN([dtstospdif])
-  VLC_ADD_PLUGIN([i420_yuy2])
-  VLC_ADD_PLUGIN([i422_yuy2])
-  VLC_ADD_PLUGIN([i422_i420])
-  VLC_ADD_PLUGIN([yuy2_i422])
-  VLC_ADD_PLUGIN([yuy2_i420])
-fi
+ALIASES="${ALIASES} cvlc rvlc"
 
 dnl
 dnl Some plugins aren't useful on some platforms
 dnl
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-    VLC_ADD_PLUGIN([motion])
     VLC_ADD_PLUGIN([dynamicoverlay])
-    VLC_ADD_PLUGIN([signals])
 elif test "${SYS}" != "mingwce"; then
-    VLC_ADD_PLUGIN([ntservice])
-    VLC_ADD_PLUGIN([access_smb])
-    VLC_ADD_PLUGIN([dmo])
-    VLC_ADD_PLUGIN([msn])
+    VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
     VLC_ADD_LIBS([dmo],[-lole32 -luuid])
-    VLC_ADD_PLUGIN([globalhotkeys])
-else
-    VLC_ADD_PLUGIN([win32text])
 fi
 if test "${SYS}" = "darwin"; then
-    VLC_ADD_PLUGIN([quartztext])
     VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
 fi
 
 dnl
 dnl  Accelerated modules
 dnl
-AC_ARG_WITH(,[])
-AC_ARG_WITH(,[Optimization options:])
+EXTEND_HELP_STRING([Optimization options:])
 
 dnl  Check for fully working MMX intrinsics
 dnl  We need support for -mmmx, we need <mmintrin.h>, and we also need a
@@ -1363,7 +1198,6 @@ AS_IF([test "${enable_mmx}" != "no"], [
     AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
               [Define to 1 if MMX intrinsics are available.])
     MMX_CFLAGS="-mmmx"
-    VLC_ADD_CFLAGS([i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx],[-mmmx])
   ])
 
   AC_CACHE_CHECK([if $CC groks MMX inline assembly],
@@ -1375,9 +1209,6 @@ AS_IF([test "${enable_mmx}" != "no"], [
     AC_DEFINE(CAN_COMPILE_MMX, 1,
               [Define to 1 inline MMX assembly is available.])
     have_mmx="yes"
-    VLC_ADD_PLUGIN([i420_rgb_mmx])
-    VLC_ADD_PLUGIN([i420_yuy2_mmx])
-    VLC_ADD_PLUGIN([i422_yuy2_mmx])
   ])
 
   AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
@@ -1410,6 +1241,7 @@ AC_ARG_ENABLE(sse,
       ;;
   esac
 ])
+have_sse2="no"
 AS_IF([test "${enable_sse}" != "no"], [
   ARCH="${ARCH} sse sse2"
 
@@ -1434,7 +1266,6 @@ AS_IF([test "${enable_sse}" != "no"], [
     AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
               [Define to 1 if SSE2 intrinsics are available.])
     SSE2_CFLAGS="-msse2"
-    VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
   ])
 
   AC_CACHE_CHECK([if $CC groks SSE inline assembly],
@@ -1455,9 +1286,7 @@ AS_IF([test "${enable_sse}" != "no"], [
   AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
     AC_DEFINE(CAN_COMPILE_SSE2, 1,
               [Define to 1 if SSE2 inline assembly is available.])
-    VLC_ADD_PLUGIN([i420_rgb_sse2])
-    VLC_ADD_PLUGIN([i420_yuy2_sse2])
-    VLC_ADD_PLUGIN([i422_yuy2_sse2])
+    have_sse2="yes"
   ])
 
   # SSE3
@@ -1510,6 +1339,7 @@ AS_IF([test "${enable_sse}" != "no"], [
               [Define to 1 if SSE4A inline assembly is available.]) ])
 ])
 AC_SUBST(SSE2_CFLAGS)
+AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
 
 have_3dnow="no"
 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
@@ -1531,16 +1361,23 @@ AC_ARG_ENABLE(neon,
 ])
 AS_IF([test "${enable_neon}" != "no"], [
   AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
+    CFLAGS="${CFLAGS_save} -mfpu=neon"
     AC_COMPILE_IFELSE([
       AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]])
     ], [
-      ac_cv_neon_inline="yes"
+      ac_cv_neon_inline="-mfpu=neon"
     ], [
       ac_cv_neon_inline="no"
     ])
+    CFLAGS="${CFLAGS_save}"
   ])
+  ARM_NEON_CFLAGS="$ac_cv_neon_inline"
+], [
+  ac_cv_neon_inline="no"
 ])
-AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"])
+AC_SUBST(ARM_NEON_CFLAGS)
+AM_CONDITIONAL(HAVE_ARM_NEON, [test "${ac_cv_neon_inline}" != "no"])
+
 
 AC_ARG_ENABLE(altivec,
 [  --disable-altivec       disable AltiVec optimizations (default auto)],, [
@@ -1571,7 +1408,6 @@ AS_IF([test "${enable_altivec}" = "yes"], [
       VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
     ])
     have_altivec="yes"
-    VLC_ADD_PLUGIN([i420_yuy2_altivec])
   ])
 
 dnl The AltiVec C extensions
@@ -1634,7 +1470,6 @@ dnl - Others: test should fail
     VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
     VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
     have_altivec="yes"
-    VLC_ADD_PLUGIN([i420_yuy2_altivec])
   ])
 
   AC_CACHE_CHECK([if linker needs -framework vecLib],
@@ -1749,13 +1584,6 @@ AS_IF([test "${enable_coverage}" != "no"], [
        LDFLAGS_save="${LDFLAGS}"
 ])
 
-dnl
-dnl  Enable release-specific flags
-dnl
-AC_ARG_ENABLE(release,
-[  --enable-release        activate extra optimizations (default disabled)])
-test "${enable_release}" != "yes" && enable_release="no"
-
 dnl
 dnl Stream output
 dnl
@@ -1790,9 +1618,6 @@ then
             AC_CHECK_LIB( lua , luaL_newstate,
               [LUA_LIBS="-llua"],
               [ have_lua=no
-                AS_IF([test "x${enable_lua}" = "xyes"],
-                  [AC_MSG_ERROR([lua >= 5.1 not found!])],
-                  [AC_MSG_WARN([lua >= 5.1 not found!])])
               ], [-lm])
           )
         )
@@ -1804,6 +1629,10 @@ then
   else
       AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.])
   fi
+  AC_ARG_VAR([LUAC], [LUA byte compiler])
+  AC_PATH_PROG(LUAC, luac, [
+    AC_MSG_ERROR([Could not find the LUA byte compiler.])
+  ])
 fi
 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
 
@@ -1873,16 +1702,6 @@ dnl Libnotify notification plugin
 dnl
 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
 
-dnl
-dnl Audioscrobbler plugin
-dnl
-
-AC_ARG_ENABLE(audioscrobbler,
-  [  --disable-audioscrobbler Last.fm submission plugin (default enabled)])
-AS_IF([test "${enable_audioscrobbler}" != "no"], [
-        VLC_ADD_PLUGIN([audioscrobbler])
-  ])
-
 dnl
 dnl Taglibplugin
 dnl
@@ -1900,19 +1719,10 @@ dnl
 dnl  Input plugins
 dnl
 
-AC_ARG_WITH(,[Input plugins:])
+EXTEND_HELP_STRING([Input plugins:])
 
 dnl  live555 input
 dnl
-if test "${enable_livedotcom}"
-then
-  AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
-fi
-if test "${enable_livedotcom}" = "no"
-then
-  enable_live555="no"
-fi
-
 AC_ARG_ENABLE(live555,
 [  --enable-live555        live555 RTSP input plugin (default enabled)])
 if test "${enable_live555}" != "no"; then
@@ -1922,16 +1732,14 @@ if test "${enable_live555}" != "no"; then
   dnl
   dnl test for --with-live555-tree
   dnl
-  if test "${with_livedotcom_tree}"
-  then
-    AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
-  with_live555_tree="${with_livedotcom_tree}"
-  fi
-
   if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
     AC_LANG_PUSH(C++)
     CPPFLAGS_save="${CPPFLAGS}"
-    CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
+    if test -z "${CONTRIB_DIR}"; then
+        CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
+    else
+        CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
+    fi
     if test "${SYS}" = "solaris"; then
       CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
     fi
@@ -2047,7 +1855,7 @@ dnl
 dnl dvdread module: check for libdvdread
 dnl
 AC_ARG_ENABLE(dvdread,
-[  --enable-dvdread        dvdread input module (default disabled)])
+[  --enable-dvdread        dvdread input module (default enabled)])
 if test "${enable_dvdread}" != "no"
 then
   AC_ARG_WITH(dvdread,
@@ -2055,10 +1863,8 @@ then
   AC_ARG_WITH(dvdread-tree,
   [  --with-dvdread-tree=PATH libdvdread tree for static linking])
 
-  dnl Temporary hack (yeah, sure ;)
-  if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
-      VLC_ADD_LIBS([dvdread],[-ldvdcss])
-  fi
+  dnl prepend -ldvdcss on OS that need it
+  AS_CASE(["${SYS}"], [mingw32|darwin|beos], [VLC_ADD_LIBS([dvdread], [-ldvdcss])])
 
   if test -z "${with_dvdread}"
   then
@@ -2066,11 +1872,11 @@ then
     then
       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
         [ VLC_ADD_PLUGIN([dvdread])
-          VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
+          VLC_ADD_LIBS([dvdread],[-ldvdread])
         ],[
          AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
             [ VLC_ADD_PLUGIN([dvdread])
-             VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
+             VLC_ADD_LIBS([dvdread],[-ldvdread])
            ],[
              if test -n "${enable_dvdread}"
              then
@@ -2092,7 +1898,7 @@ then
         dnl  Use a custom libdvdread
         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
         VLC_ADD_PLUGIN([dvdread])
-        VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
+        VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread])
         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
       else
         dnl  The given libdvdread wasn't built
@@ -2107,7 +1913,7 @@ then
       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
       AC_MSG_RESULT(yes)
       VLC_ADD_PLUGIN([dvdread])
-      VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
+      VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread])
       VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
     else
       dnl  No libdvdread could be found, sorry
@@ -2115,6 +1921,9 @@ then
       AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
     fi
   fi
+
+  dnl append -ldvd on OS that need it
+  AS_CASE(["${SYS}"], [bsdi], [VLC_ADD_LIBS([dvdread], [-ldvd])])
 fi
 
 dnl
@@ -2124,10 +1933,8 @@ AC_ARG_ENABLE(dvdnav,
   [  --enable-dvdnav         dvdnav input module (default enabled)])
 if test "${enable_dvdnav}" != "no"
 then
-  dnl Same hack than dvdread
-  if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
-      VLC_ADD_LIBS([dvdnav],[-ldvdcss])
-  fi
+  dnl prepend -ldvdcss on OS that need it
+  AS_CASE(["${SYS}"], [mingw32|darwin|beos], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])])
 
   DVDNAV_PATH="${PATH}"
   AC_ARG_WITH(dvdnav-config-path,
@@ -2184,46 +1991,7 @@ fi
 dnl
 dnl  OpenCV wrapper and example filters
 dnl
-AC_ARG_ENABLE(opencv,
-  [  --enable-opencv         OpenCV (computer vision) filter (default disabled)])
-if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
-then
-  AC_ARG_WITH(opencv-tree,
-  [  --with-opencv-tree=PATH opencv tree for linking])
-    if test "${SYS}" = "mingw32"
-    then
-      test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
-      AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
-      if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
-        -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
-      then
-        AC_MSG_RESULT(yes)
-        VLC_ADD_PLUGIN([opencv_wrapper])
-        VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
-        VLC_ADD_CFLAGS([opencv_wrapper],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
-        AC_LANG_PUSH(C++)
-        VLC_ADD_PLUGIN([opencv_example])
-        VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
-        VLC_ADD_CXXFLAGS([opencv_example],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
-        AC_LANG_POP(C++)
-      else
-        dnl  No opencv could be found, sorry
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
-      fi
-    else
-      PKG_CHECK_MODULES(OPENCV, opencv,
-        [
-          VLC_ADD_PLUGIN([opencv_example])
-          VLC_ADD_PLUGIN([opencv_wrapper])
-          VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
-          VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
-          VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
-        ],
-        [AC_MSG_ERROR([libopencv not found!])]
-      )
-    fi
-fi
+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
 
 
 dnl
@@ -2470,32 +2238,6 @@ dnl  gnomeVFS access module
 dnl
 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
 
-
-dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
-AC_ARG_ENABLE(libcdio,
-  [  --enable-libcdio        CD input and control library support (default enabled)])
-
-AC_ARG_ENABLE(libvcdinfo,
-  [  --enable-libvcdinfo     VCD information library support (default enabled)])
-
-have_libcdio=no
-have_libvcdinfo=no
-if test "${enable_libcdio}" != "no"
-then
-  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
-     have_libcdio=yes
-     AC_DEFINE(HAVE_LIBCDIO, 1,
-     [Define if you have libcdio 0.78.2 or greater installed]),
-     [AC_MSG_WARN(CD Reading and information library not found)])
-
-  if test "${enable_vcdinfo}" != "no"
-  then
-    PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
-       [have_libvcdinfo=yes],
-       [AC_MSG_WARN(VCD information library not found)])
-  fi
-fi
-
 dnl
 dnl  VCDX modules
 dnl
@@ -2504,42 +2246,22 @@ AC_ARG_ENABLE(vcdx,
 
 if test "${enable_vcdx}" = "yes"
 then
-  if test "${have_libvcdinfo}" = "yes"
-  then
-    VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
-    VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
-  else
-    AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
-    HAVE_VCDX=no
-  fi
-
-  PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
-   [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
-    VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
-    [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
-    HAVE_VCDX=no])
-
-  if test "$have_libvcdinfo" = "yes"
-  then
-    AC_DEFINE(HAVE_VCDX, 1,
-    [Define for the VCD plugin using libcdio/libvcdinfo])
-    VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
-    VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
-    VLC_ADD_PLUGIN([vcdx])
-  else
-    AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
-    HAVE_VCDX=no
-  fi
+       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
 
 dnl
 dnl  Built-in CD-DA and VCD module
 dnl
-AC_ARG_ENABLE(cdda,
-  [  --enable-cdda           audio CD via built-in VCD (default enabled)])
-
 AC_ARG_ENABLE(vcd,
-  [  --enable-vcd            built-in VCD (default enabled)])
+  [  --enable-vcd            built-in VCD and CD-DA (default enabled)])
 
 AC_ARG_ENABLE(libcddb,
   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
@@ -2549,8 +2271,7 @@ then
   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
     AC_MSG_RESULT(yes)
-    VLC_ADD_PLUGIN([vcd])
-    VLC_ADD_PLUGIN([cdda])
+    VLC_ADD_PLUGIN([vcd cdda])
   ],[
     AC_MSG_RESULT(no)
   ])
@@ -2558,8 +2279,7 @@ then
   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
     AC_MSG_RESULT(yes)
-    VLC_ADD_PLUGIN([vcd])
-    VLC_ADD_PLUGIN([cdda])
+    VLC_ADD_PLUGIN([vcd cdda])
     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
   ],[
     AC_MSG_RESULT(no)
@@ -2568,8 +2288,7 @@ then
   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
     AC_MSG_RESULT(yes)
-    VLC_ADD_PLUGIN([vcd])
-    VLC_ADD_PLUGIN([cdda])
+    VLC_ADD_PLUGIN([vcd cdda])
     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
   ],[
     AC_MSG_RESULT(no)
@@ -2577,14 +2296,12 @@ then
 
   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
   then
-    VLC_ADD_PLUGIN([vcd])
-    VLC_ADD_PLUGIN([cdda])
+    VLC_ADD_PLUGIN([vcd cdda])
   fi
 
   if test "${SYS}" = "darwin"
   then
-    VLC_ADD_PLUGIN([vcd])
-    VLC_ADD_PLUGIN([cdda])
+    VLC_ADD_PLUGIN([vcd cdda])
     VLC_ADD_LDFLAGS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
     VLC_ADD_LIBS([vcdx cdda],[-liconv])
   fi
@@ -2831,7 +2548,7 @@ dnl
 dnl  Codec plugins
 dnl
 
-AC_ARG_WITH(,[Codec plugins:])
+EXTEND_HELP_STRING([Codec plugins:])
 
 dnl
 dnl wmafixed plugin
@@ -2853,6 +2570,17 @@ then
   VLC_ADD_PLUGIN([shine])
 fi
 
+dnl
+dnl openmax il codec plugin
+dnl
+AC_ARG_ENABLE(omxil,
+  [  --enable-omxil          openmax il codec module (default disabled)])
+if test "${enable_omxil}" = "yes"
+then
+  VLC_ADD_PLUGIN([omxil])
+  VLC_ADD_LIBS([omxil], [$LIBDL])
+fi
+
 dnl
 dnl  mad plugin
 dnl
@@ -2934,12 +2662,6 @@ AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
 dnl
 dnl  avcodec decoder/encoder plugin
 dnl
-
-if test "${with_ffmpeg_tree}"
-then
-  AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
-fi
-
 AC_ARG_ENABLE(avcodec,
 [  --enable-avcodec        libavcodec codec (default enabled)])
 if test "${enable_avcodec}" != "no"
@@ -2971,6 +2693,9 @@ AS_IF([test "${enable_libva}" != "no"], [
   AS_IF([test "x${have_avcodec}" = "xyes"], [
     PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
       [
+        VLC_SAVE_FLAGS
+        CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
+        CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
         AC_CHECK_HEADERS(libavcodec/vaapi.h, [
            VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS])
            VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS])
@@ -2981,6 +2706,7 @@ AS_IF([test "${enable_libva}" != "no"], [
              [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"],
               [AC_MSG_ERROR([Could not find required libva.])],
@@ -3058,13 +2784,9 @@ then
       AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
       AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
       AS_IF([test "$enable_merge_ffmpeg" = "no"], [
-        VLC_ADD_PLUGIN([avformat])
-        VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS])
-        VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
-
-        VLC_ADD_PLUGIN([access_avio])
-        VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
-        VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
+        VLC_ADD_PLUGIN([avformat access_avio])
+        VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
+        VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
       ], [
         VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
         VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
@@ -3197,7 +2919,6 @@ dnl
 AC_ARG_ENABLE(real,
   [  --enable-real           Real media module (default disabled)])
 if test "${enable_real}" = "yes"; then
-  VLC_ADD_PLUGIN([realaudio])
   VLC_ADD_PLUGIN([realvideo])
 fi
 
@@ -3210,15 +2931,6 @@ if test "${enable_realrtsp}" = "yes"; then
   VLC_ADD_PLUGIN([access_realrtsp])
 fi
 
-AC_ARG_ENABLE(libsysfs,
-  [  --enable-libsysfs       Get user key from firewire connected iPod via libsysfs (default enabled)])
-
-AS_IF([test "${enable_libsysfs}" != "no"],[
-  AC_CHECK_HEADERS(sysfs/libsysfs.h, [
-    VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
-  ] )
-])
-
 dnl
 dnl skins2 module
 dnl
@@ -3311,9 +3023,6 @@ AC_ARG_WITH(a52-fixed,
 dnl
 dnl DTS Coherent Acoustics decoder plugin
 dnl
-AS_IF([test "x${enable_dts}" != "x"], [
-  AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
-])
 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
 
 dnl
@@ -3374,9 +3083,7 @@ AC_CHECK_HEADERS(png.h, [
   LDFLAGS="${LDFLAGS_save} -lz"
   AC_CHECK_LIB(png, png_set_rows, [
     VLC_ADD_LIBS([png],[-lpng -lz])
-    VLC_ADD_PLUGIN([png])
-    VLC_ADD_PLUGIN([osdmenu])
-    VLC_ADD_PLUGIN([osd_parser])],
+    VLC_ADD_PLUGIN([png osdmenu osd_parser])],
     [],[-lz])
     LDFLAGS="${LDFLAGS_save}"
   ])
@@ -3584,7 +3291,7 @@ dnl
 dnl  Video plugins
 dnl
 
-AC_ARG_WITH(,[Video plugins:])
+EXTEND_HELP_STRING([Video plugins:])
 
 dnl
 dnl  Xlib
@@ -3613,11 +3320,7 @@ AS_IF([test "${enable_xcb}" != "no"], [
   dnl libxcb
   PKG_CHECK_MODULES(XCB, [xcb])
   PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
-  VLC_ADD_PLUGIN([screensaver])
-  VLC_ADD_PLUGIN([xcb_x11])
-  VLC_ADD_PLUGIN([xcb_screen])
-  VLC_ADD_PLUGIN([xcb_apps])
-  VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error
+  VLC_ADD_PLUGIN([screensaver xcb_x11 xcb_screen xcb_apps])
 
   AS_IF([test "${enable_xvideo}" != "no"], [
     PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
@@ -3651,8 +3354,7 @@ AS_IF([test "${enable_xcb}" != "no"], [
 
   AS_IF([test "${have_xcb_keysyms}" = "yes"], [
     PKG_CHECK_MODULES(XPROTO, [xproto])
-    VLC_ADD_PLUGIN([xcb_window])
-    VLC_ADD_PLUGIN([globalhotkeys])
+    VLC_ADD_PLUGIN([xcb_window globalhotkeys])
     VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
     VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
   ])
@@ -3709,22 +3411,21 @@ then
         SDL_PATH="${with_sdl_config_path}:${PATH}"
       fi ])
   AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
-  SDL_HEADER="SDL/SDL.h"
-  SDL_IMAGE="SDL/SDL_image.h"
+  SDL_HEADER="SDL.h"
+  SDL_IMAGE="SDL_image.h"
 
   if test "${SDL_CONFIG}" != "no";  then
      PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
         # SDL on Darwin is heavily patched and can only run SDL_image
         if test "${SYS}" != "darwin"; then
-          VLC_ADD_PLUGIN([vout_sdl])
-          VLC_ADD_PLUGIN([aout_sdl])
+          VLC_ADD_PLUGIN([vout_sdl aout_sdl])
         fi
-        VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`])
+        VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags`])
         VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`])
 
         # SDL_image
         AS_IF([ test "${enable_sdl_image}" != "no"],[
-          AC_CHECK_HEADERS("SDL/SDL_image.h", [
+          AC_CHECK_HEADERS("SDL_image.h", [
             VLC_ADD_PLUGIN([sdl_image])
             AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
             AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
@@ -3855,8 +3556,7 @@ then
   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
   then
       AC_CHECK_HEADERS(ddraw.h,
-      [ VLC_ADD_PLUGIN([directx])
-        VLC_ADD_PLUGIN([aout_directx])
+      [ VLC_ADD_PLUGIN([directx aout_directx])
         VLC_ADD_LIBS([directx],[-lgdi32])
       ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
       )
@@ -3883,8 +3583,7 @@ if test "${enable_wingdi}" != "no"; then
     VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
   fi
   if test "${SYS}" = "mingwce"; then
-    VLC_ADD_PLUGIN([wingdi])
-    VLC_ADD_PLUGIN([wingapi])
+    VLC_ADD_PLUGIN([wingdi wingapi])
     VLC_ADD_LIBS([wingdi],[-laygshell])
     VLC_ADD_LIBS([wingapi],[-laygshell])
   fi
@@ -3969,7 +3668,7 @@ if test "${enable_directfb}" = "yes"; then
         LIBS="${LIBS_save}"
 
         if test "${have_directfb}" = "true"; then
-            LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
+            LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
             CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
         fi
     else
@@ -4045,7 +3744,7 @@ dnl
 dnl  Audio plugins
 dnl
 
-AC_ARG_WITH(,[Audio plugins:])
+EXTEND_HELP_STRING([Audio plugins:])
 
 dnl
 dnl  OSS /dev/dsp module (enabled by default except on win32)
@@ -4058,10 +3757,8 @@ if test "${enable_oss}" != "no" &&
    test "${enable_oss}" = "yes")
 then
   AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
-    VLC_ADD_PLUGIN([oss])
-    VLC_ADD_PLUGIN([access_oss])
-    AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])
-                                VLC_ADD_LIBS([access_oss],[-lossaudio])])
+    VLC_ADD_PLUGIN([oss access_oss])
+    AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss access_oss],[-lossaudio])])
   ])
 fi
 
@@ -4069,6 +3766,7 @@ dnl
 dnl  Pulseaudio module
 dnl
 PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
+VLC_ADD_LIBS([pulse], [${X_LIBS} ${X_PRE_LIBS} -lX11])
 
 dnl
 dnl  Portaudio module
@@ -4078,8 +3776,7 @@ PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library supp
 dnl
 dnl  ALSA module
 dnl
-PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
-PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto])
+PKG_ENABLE_MODULES_VLC([ALSA], [alsa access_alsa], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
 
 dnl
 dnl  win32 waveOut plugin
@@ -4129,8 +3826,7 @@ fi
 dnl
 dnl  JACK modules
 dnl
-PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto])
-PKG_ENABLE_MODULES_VLC([JACK], [access_jack], [jack], [JACK audio I/O modules],[auto])
+PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
 
 
 dnl
@@ -4215,13 +3911,7 @@ dnl
 dnl  Interface plugins
 dnl
 
-AC_ARG_WITH(,[Interface plugins:])
-
-dnl special case for BeOS
-if test "${SYS}" = "beos"
-then
-    VLC_ADD_PLUGIN([beos])
-fi
+EXTEND_HELP_STRING([Interface plugins:])
 
 dnl
 dnl Skins2 module
@@ -4277,9 +3967,15 @@ dnl
 AC_ARG_ENABLE(hildon,
   [  --enable-hildon         Hildon touchscreen UI (default disabled)])
 AS_IF([test "${enable_hildon}" = "yes"], [
-  PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
-    VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS}])
-    VLC_ADD_LIBS([hildon],[${HILDON_LIBS}])
+  PKG_CHECK_MODULES(HILDON, [hildon-1], [
+    PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
+      VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
+      VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
+    ], [
+      AC_MSG_WARN(hildon-fm-2 not found)
+    ])
+    VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
+    VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
     VLC_ADD_PLUGIN([hildon])
     ALIASES="${ALIASES} mvlc"
     need_xid_provider="no"
@@ -4303,15 +3999,16 @@ AS_IF([test "${enable_qt4}" != "no"], [
   PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
     VLC_ADD_PLUGIN([qt4])
     ALIASES="${ALIASES} qvlc"
+    QT4LOCALEDIR="$(eval $PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
+    AC_SUBST(QT4LOCALEDIR)
     AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
-        VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
+        VLC_ADD_LIBS([qt4],[$QT4_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
         need_xid_provider="no"
+        VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS ${X_CFLAGS} -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
     ], [
         VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
+        VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
     ])
-    QT4LOCALEDIR="$(eval $PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
-    AC_SUBST(QT4LOCALEDIR)
-    VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
     AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`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)
@@ -4353,8 +4050,7 @@ then
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
   VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
 
-  VLC_ADD_PLUGIN([macosx])
-  VLC_ADD_PLUGIN([minimal_macosx])
+  VLC_ADD_PLUGIN([macosx minimal_macosx])
 fi
 
 dnl
@@ -4412,7 +4108,7 @@ dnl
 dnl  ncurses module
 dnl
 AC_ARG_ENABLE(ncurses,
-  [  --disable-ncurses       ncurses interface support (default enabled)],
+  [  --disable-ncurses       ncurses interface support (default disabled)],
   [if test "${enable_ncurses}" != "no"; then
     AC_CHECK_HEADER(ncurses.h,
       [AC_CHECK_LIB(ncursesw, mvprintw,
@@ -4500,14 +4196,30 @@ PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [aut
 dnl
 dnl libprojectM visualization plugin
 dnl
-PKG_ENABLE_MODULES_VLC([PROJECTM], [], [libprojectM], [projectM visualization plugin], [auto])
+AC_ARG_ENABLE(projectm,
+  [  --enable-projectm          projectM visualization plugin (default enabled)])
+AS_IF([test "${enable_projectm}" != "no"],
+  [
+    PKG_CHECK_MODULES(PROJECTM, libprojectM,
+    [
+      VLC_ADD_PLUGIN([projectm])
+      VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
+      VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
+      PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
+        [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
+        [ AC_MSG_WARN( [Using libprojectM version 1] )
+      ])
+    ],[
+      AC_MSG_WARN([libprojectM library not found])
+    ])
+  ])
 
 dnl
-dnl  AtmoLight (homebrew AmbiLight)
+dnl  AtmoLight (homemade Philips Ambilight clone)
 dnl
 AC_ARG_ENABLE(atmo,
-AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight)
-                (broken, default disabled)]),, [enable_atmo="no"])
+AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
+                (default enabled)]),, [enable_atmo="yes"])
 AS_IF([test "${enable_atmo}" != no], [
   AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
     AC_LANG_PUSH(C++)
@@ -4526,7 +4238,7 @@ PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discov
 
 dnl
 dnl MTP devices services discovery
-PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto])
+PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
 
 dnl
 dnl  Lirc plugin
@@ -4543,8 +4255,7 @@ then
   fi
 fi
 
-
-AC_ARG_WITH(,[Misc options:])
+EXTEND_HELP_STRING([Misc options:])
 
 dnl
 dnl libgcrypt
@@ -4595,8 +4306,7 @@ AS_IF([test "${enable_gnutls}" != "no"], [
     VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
     AS_IF([test "${SYS}" = "mingw32"], [
       dnl pkg-config --libs gnutls omits these
-      VLC_ADD_LIBS([gnutls], [-lz])
-      VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
+      VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL}])
     ])
     dnl The GnuTLS plugin invokes gcry_control directly.
     AS_IF([test "${have_libgcrypt}" = "yes"],[
@@ -4647,7 +4357,7 @@ AS_IF([test "${have_libgcrypt}" = "yes"], [
 dnl
 dnl OSSO (Maemo screen blanking) plugin
 dnl
-PKG_ENABLE_MODULES_VLC([OSSO], [], [libosso], [Maemo support], [auto])
+PKG_ENABLE_MODULES_VLC([OSSO_SCREENSAVER], [], [libosso], [Maemo support], [auto])
 
 AS_IF([test -f "/etc/maemo_version"], [
   AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
@@ -4715,6 +4425,33 @@ AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
 ])
 AC_SUBST(DEFS_BIGENDIAN)
 
+dnl
+dnl Where to install KDE solid .desktop
+dnl
+AC_ARG_VAR([KDE4_CONFIG], [path to kde4-config utility])
+AS_IF([test "x$KDE4_CONFIG" = "x"], [
+  KDE4_CONFIG="kde4-config"
+])
+
+AC_ARG_WITH(kde-solid,
+  AS_HELP_STRING([--with-kde-solid=PATH],
+                 [KDE Solid actions directory (auto)]),, [
+  with_kde_solid="yes"
+])
+soliddatadir=""
+AS_IF([test "${with_kde_solid}" != "no"], [
+  AS_IF([test "${with_kde_solid}" = "yes"], [
+    soliddatadir="`${KDE4_CONFIG} --install data`solid/actions"
+    AS_IF([test "x${soliddatadir}" = "x"], [
+      soliddatadir='$(datadir)/kde4/apps/solid/actions'
+    ])
+  ], [
+    soliddatadir="${with_kde_solid}"
+  ])
+])
+AC_SUBST(soliddatadir)
+AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
+
 dnl
 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
 dnl
@@ -4725,17 +4462,13 @@ AC_ARG_ENABLE(loader,
 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
 AS_IF([test "${enable_loader}" = "yes"],
   [ VLC_ADD_PLUGIN([dmo])
-    VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
-    VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
-    VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
-    VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
-    VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
-    VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
-    VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
-    VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
+    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([realvideo], [-DLOADER])
+    VLC_ADD_LIBS([dmo quicktime], [-lpthread])
   ])
 
-AC_ARG_WITH(,[Components:])
+EXTEND_HELP_STRING([Components:])
 
 dnl
 dnl  the VLC binary
@@ -4819,29 +4552,34 @@ then
     AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
     AC_MSG_NOTICE([Checking for Mozilla])
     found=0
-    if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
+    if test -n "$MOZILLA_CFLAGS" -o -n "$MOZILLA_LIBS"
     then
       found=1
     else
       if test -n "$PKG_CONFIG"; then
        for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
-         echo "Trying to find $i.pc files" >&5
-         if $PKG_CONFIG --exists --print-errors "$i" 2>&5
-         then
-            echo "Using $i.pc files." >&5
-            echo "Using $i.pc files." >&6
-           found=1
-           MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" )
-           MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" )
-           break
-         fi
+          if test -n "$i"
+          then
+            echo "Trying to find $i package" >&AS_MESSAGE_LOG_FD
+            AC_MSG_CHECKING([for $i >= 1.9.2])
+            if $PKG_CONFIG --exists --print-errors "$i >= 1.9.2" 2>&AS_MESSAGE_LOG_FD
+            then
+              echo "Using $i pkg-config package." >&AS_MESSAGE_LOG_FD
+              echo "Using $i package." >&AS_MESSAGE_FD
+              found=1
+              MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" )
+              MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" )
+              AC_MSG_RESULT([yes])
+              break
+            fi
+            AC_MSG_RESULT([no])
+          fi
        done
       fi
     fi
     AS_IF( [test $found = 1],[
         CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
         MOZILLA_REQUIRED_HEADERS=1
-        AC_CHECK_HEADERS([npfunctions.h])
         AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
         AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
           [#if HAVE_NPAPI_H
@@ -4849,7 +4587,7 @@ then
            #endif
           ])
         if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
-            AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
+            AC_MSG_ERROR([Please install the Firefox development tools; plugin/npapi.h and/or plugin/npruntime.h were not found.])
         fi
         MOZILLA_REQUIRED_HEADERS=
         mozilla=:
@@ -4874,7 +4612,7 @@ then
             AC_PATH_PROGS(MOZILLA_CONFIG,
            [mozilla-config seamonkey-config xulrunner-config],
         [no])
-            test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
+            test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools (version 1.9.2 or higher) or use --disable-mozilla.])
           ]
         )
     dnl pkg-config failed but we might have found a mozilla-config
@@ -4965,27 +4703,6 @@ fi
 AC_LANG_POP(C++)
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 
-dnl
-dnl  test plugins
-dnl
-AC_ARG_ENABLE(testsuite,
-  [  --enable-testsuite      build test modules (default disabled)])
-if test "${enable_testsuite}" = "yes"
-then
-  TESTS="test1 test2 test3 test4"
-
-  dnl  we define those so that bootstrap sets the right linker
-  VLC_ADD_CXXFLAGS([test2],[])
-  VLC_ADD_OBJCFLAGS([test3],[])
-  dnl  this one is needed until automake knows what to do
-  VLC_ADD_LIBS([test3],[-lobjc])
-
-  VLC_ADD_PLUGIN([test1])
-  VLC_ADD_PLUGIN([test2])
-  VLC_ADD_PLUGIN([test3])
-  VLC_ADD_PLUGIN([test4])
-fi
-
 dnl
 dnl  Plugin and builtin checks
 dnl
@@ -5015,7 +4732,7 @@ dnl
 dnl  Stuff used by the program
 dnl
 VERSION_MESSAGE="${VERSION} ${CODENAME}"
-COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
+COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
@@ -5032,13 +4749,7 @@ AC_SUBST(VERSION_REVISION)
 AC_SUBST(VERSION_EXTRA)
 AC_SUBST(COPYRIGHT_YEARS)
 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
-if test "${build_os}" = "cygwin"
-then
-    AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
-else
-    AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
-fi
-AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
+AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
 dnl Win32 need s a numerical version_extra.
 case $( echo ${VERSION_EXTRA}|wc -m ) in
@@ -5114,9 +4825,8 @@ AC_CONFIG_FILES([
   projects/mozilla/npvlc_rc.rc
   projects/mozilla/vlc.r
   projects/mozilla/install.js
+  projects/mozilla/install.rdf
   share/Makefile
-  share/vlc_win32_rc.rc
-  share/libvlc_win32_rc.rc
   compat/Makefile
   src/Makefile
   src/test/Makefile
@@ -5145,6 +4855,7 @@ AC_CONFIG_FILES([
   modules/codec/Makefile
   modules/codec/avcodec/Makefile
   modules/codec/dmo/Makefile
+  modules/codec/omxil/Makefile
   modules/codec/shine/Makefile
   modules/codec/subtitles/Makefile
   modules/codec/spudec/Makefile
@@ -5161,7 +4872,6 @@ AC_CONFIG_FILES([
   modules/demux/mpeg/Makefile
   modules/demux/playlist/Makefile
   modules/gui/Makefile
-  modules/gui/beos/Makefile
   modules/gui/macosx/Makefile
   modules/gui/hildon/Makefile
   modules/gui/minimal_macosx/Makefile
@@ -5173,7 +4883,6 @@ AC_CONFIG_FILES([
   modules/misc/dummy/Makefile
   modules/misc/lua/Makefile
   modules/misc/notify/Makefile
-  modules/misc/testsuite/Makefile
   modules/misc/playlist/Makefile
   modules/misc/osd/Makefile
   modules/misc/stats/Makefile
@@ -5195,7 +4904,9 @@ AC_CONFIG_FILES([
   modules/mmx/Makefile
   modules/mmxext/Makefile
   modules/3dnow/Makefile
+  modules/sse2/Makefile
   modules/altivec/Makefile
+  modules/arm_neon/Makefile
 ])
 
 dnl Generate makefiles
@@ -5213,7 +4924,10 @@ dnl Do we have to use make or gmake ?
 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
 dnl Shortcut to nice compile message
 rm -f compile
-echo '#! /bin/sh' >compile
+if test -n $SHELL; then
+  SHELL=${CONFIG_SHELL-/bin/sh}
+fi
+echo '#! '$SHELL >compile
 echo rm -f .error\$\$ >>compile
 echo ERROR=0 >>compile
 echo export PATH=$PATH LANG=C >>compile
@@ -5235,7 +4949,6 @@ test "${enable_debug}" = "yes" && printf "debug "
 test "${enable_cprof}" = "yes" && printf "cprof "
 test "${enable_gprof}" = "yes" && printf "gprof "
 test "${enable_optimizations}" = "yes" && printf "optim "
-test "${enable_release}" = "yes" && printf "release " || printf "devel "
 echo ""
 if test "${enable_vlc}" != "no"; then
 echo "vlc aliases           :${ALIASES}"