]> git.sesse.net Git - vlc/blobdiff - configure.ac
x264: in crf mode, set stream bitrate to be maxrate, so in muxer we have some idea...
[vlc] / configure.ac
index 8169fe821e623244aaff70412cc9ef0be62fb7ca..5d316101bbe07078f420e386d6cd242970294589 100644 (file)
@@ -24,7 +24,7 @@ AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 AC_PRESERVE_HELP_ORDER
 
-AM_INIT_AUTOMAKE(tar-ustar color-tests)
+AM_INIT_AUTOMAKE(tar-ustar color-tests foreign)
 AM_CONFIG_HEADER(config.h)
 
 # Disable with "./configure --disable-silent-rules" or "make V=1"
@@ -155,10 +155,10 @@ case "${host_os}" in
     CPPFLAGS="${CPPFLAGS} ${ARCH_flag}"
     OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"
     LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}"
-    VLC_ADD_LIBS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
-    VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,Appkit])
-    VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress])
-    VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
+    VLC_ADD_LIBS([motion rotate], [-Wl,-framework,IOKit,-framework,CoreFoundation])
+    VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit])
+    VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress])
+    VLC_ADD_CFLAGS([motion rotate],[-fconstant-cfstrings])
     VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
 
     dnl Allow binaries created on Lion to run on earlier releases
@@ -275,6 +275,35 @@ AM_CONDITIONAL(HAVE_WIN32,   test "${SYS}" = "mingw32")
 AM_CONDITIONAL(HAVE_WIN64,   test "${HAVE_WIN64}" = "1")
 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
 
+dnl
+dnl Sadly autoconf does not think about testing foo.exe when ask to test
+dnl for program foo on win32
+case "${build_os}" in
+    cygwin|msys)
+        ac_executable_extensions=".exe"
+    ;;
+    *)
+    ;;
+esac
+
+dnl Android is linux, but a bit different
+AS_IF([test "$SYS" = linux],[
+    AC_MSG_CHECKING([for an Android system])
+    AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
+        [[#ifndef __ANDROID__
+         # error Not Android
+         #endif
+        ]],[[;]])
+    ],[
+      HAVE_ANDROID="1"
+      AC_MSG_RESULT([yes])
+    ],[
+      AC_MSG_RESULT([no])
+    ])
+])
+AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
+
+
 dnl
 dnl  Check for the contrib directory
 dnl
@@ -345,35 +374,6 @@ AS_IF([test -n "${CONTRIB_DIR}"], [
 ])
 AC_SUBST(CONTRIB_DIR)
 
-dnl
-dnl Sadly autoconf does not think about testing foo.exe when ask to test
-dnl for program foo on win32
-
-case "${build_os}" in
-    cygwin|msys)
-        ac_executable_extensions=".exe"
-    ;;
-    *)
-    ;;
-esac
-
-dnl Android is linux, but a bit different
-AS_IF([test "$SYS" = linux],[
-    AC_MSG_CHECKING([for an Android system])
-    AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
-        [[#ifndef __ANDROID__
-         # error Not Android
-         #endif
-        ]],[[;]])
-    ],[
-      HAVE_ANDROID="1"
-      AC_MSG_RESULT([yes])
-    ],[
-      AC_MSG_RESULT([no])
-    ])
-])
-AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
-
 dnl
 dnl  Libtool
 dnl  It's very bad, but our former custom system was worst
@@ -390,6 +390,8 @@ LT_INIT([dlopen win32-dll shared disable-static])
 LT_LANG([C++])
 LT_LANG([Windows Resource])
 
+DOLT
+
 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
 
@@ -410,8 +412,10 @@ dnl Iconv stuff
 dnl
 AM_ICONV
 
-dnl Check for broken versions of mingw-runtime compatability library
+dnl
+dnl checks for mingw
 AS_IF([test "${SYS}" = "mingw32"], [
+dnl Check for broken versions of mingw-runtime compatability library
     AC_MSG_CHECKING(for broken mingw-runtime)
     AC_PREPROC_IFELSE([AC_LANG_SOURCE([
 #include <_mingw.h>
@@ -430,18 +434,14 @@ AS_IF([test "${SYS}" = "mingw32"], [
     ])
     dnl force use of mingw provided c99 *printf over msvcrt
     CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
-])
 
 dnl Check for the need to include the mingwex lib for mingw32
-if test "${SYS}" = "mingw32" ; then
     AC_CHECK_LIB(mingwex,opendir,
         AC_CHECK_LIB(mingw32,opendir,,
             [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
     )
-fi
 
 dnl Check for fnative-struct or mms-bitfields support for mingw32
-if test "${SYS}" = "mingw32" ; then
     VLC_SAVE_FLAGS
     CFLAGS="${CFLAGS} -mms-bitfields"
     CXXFLAGS="${CXXFLAGS} -mms-bitfields"
@@ -457,7 +457,7 @@ if test "${SYS}" = "mingw32" ; then
             [AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
         "${ac_cv_c_fnative_struct}" = "no" && VLC_RESTORE_FLAGS
     fi
-fi
+])
 
 dnl
 dnl Buggy glibc prevention. Purposedly not cached.
@@ -568,7 +568,7 @@ AC_CHECK_FUNCS([if_nameindex if_nametoindex])
 VLC_RESTORE_FLAGS
 
 AS_IF([test -n "$SOCKET_LIBS"], [
-  VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_select stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync stream_filter_dash],[${SOCKET_LIBS}])
+  VLC_ADD_LIBS([access_http access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[${SOCKET_LIBS}])
 ])
 AC_SUBST(SOCKET_LIBS)
 
@@ -617,7 +617,7 @@ AC_CHECK_FUNC(getopt_long,, [
 AC_SUBST(GNUGETOPT_LIBS)
 
 AC_CHECK_LIB(m,cos,[
-  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo mp4 quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x26410b hqdn3d anaglyph oldrc ncurses],[-lm])
+  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur x26410b hqdn3d anaglyph oldrc ncurses],[-lm])
   LIBM="-lm"
 ], [
   LIBM=""
@@ -647,14 +647,8 @@ AS_IF([test "${SYS}" = "mingw32"], [
   have_dynamic_objects="yes" #assume we can use shared objects
 ])
 
-test "${enable_shared}" = "no" && have_dynamic_objects=no
-
-AS_IF([test "${have_dynamic_objects}" != "no"], [
-  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1,
-            [Define to 1 if dynamic plugins are supported.])
-], [
-  dnl Clear $LIBDL so as not to break linking
-  LIBDL=""
+AS_IF([test "${enable_shared}" = "no"], [
+  have_dynamic_objects=no
 ])
 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
 
@@ -662,12 +656,14 @@ AC_SUBST(LIBDL)
 VLC_ADD_LIBS([lua],[$LIBDL])
 
 dnl Check for thread library
-if test "${SYS}" != "mingw32"; then
-
+LIBPTHREAD=""
+AS_IF([test "${SYS}" != "mingw32"], [
   VLC_SAVE_FLAGS
   LIBS=""
   AC_SEARCH_LIBS(pthread_rwlock_init, pthread pthreads c_r, [
-    VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${LIBS}])
+    AS_IF([test "$ac_cv_search_pthread_rwlock_init" != "none required"], [
+      LIBPTHREAD="$ac_cv_search_pthread_rwlock_init"
+    ])
   ])
   VLC_RESTORE_FLAGS
 
@@ -686,7 +682,8 @@ if test "${SYS}" != "mingw32"; then
     dnl HP/UX port
     AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
   ])
-fi # end "${SYS}" != "mingw32"
+])
+AC_SUBST(LIBPTHREAD)
 
 dnl Check for headers
 AC_CHECK_HEADERS([search.h])
@@ -743,15 +740,15 @@ 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 mp4 skins2 sap mkv unzip zip],[-lz])
+  VLC_ADD_LIBS([access_http skins2 sap unzip zip],[-lz])
   PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
     AC_CHECK_HEADERS([unzip.h], [
       have_minizip=yes
       MINIZIP_LIBS="-lminizip -lz"
     ], [
+      VLC_ADD_CPPFLAGS([skins2], [-I\\\$(top_srcdir)/modules/access/zip/unzip])
+      VLC_ADD_LIBS([skins2], [\\\$(top_builddir)/modules/access/libunzip.la])
       have_minizip=no
-      MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip"
-      MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/unzip/libunzip.la"
     ])
   ])
   VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
@@ -775,35 +772,19 @@ dnl Check for dbus
 AC_ARG_ENABLE(dbus,
   [AS_HELP_STRING([--enable-dbus],
     [compile D-Bus message bus support (default enabled)])])
-case "${SYS}" in
-    linux*|*bsd*)
-if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32"
-then
-  dnl api stable dbus
-  PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0],
-    [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
-      VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
-      VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
-      dnl Check for dbus control interface
-        AC_ARG_ENABLE(dbus-control,
-          [AS_HELP_STRING([--disable-dbus-control],
-            [D-Bus control interface (default enabled)])])
-        if test "${enable_dbus_control}" != "no"
-        then
-          VLC_ADD_PLUGIN([dbus])
-          VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
-          VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
-        fi
-        dnl Power Management Inhibiter
-        VLC_ADD_PLUGIN([inhibit])
-        VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
-        VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
-    ],
-    [AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])]
-  )
-fi
-;;
-esac
+have_dbus="no"
+AS_IF([test "${enable_dbus}" != "no"], [
+  PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0], [
+    have_dbus="yes"
+  ], [
+    AS_IF([test -n "${enable_dbus}"], [
+      AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])
+    ], [
+      AC_MSG_WARN([${DBUS_PKG_ERRORS}.])
+    ])
+  ])
+])
+AM_CONDITIONAL([HAVE_DBUS], [test "${have_dbus}" = "yes"])
 
 dnl Check for ntohl, etc.
 VLC_SAVE_FLAGS
@@ -1055,17 +1036,6 @@ dnl  default modules
 dnl
 ALIASES="${ALIASES} cvlc rvlc"
 
-dnl
-dnl Some plugins aren't useful on some platforms
-dnl
-if test "${SYS}" = "os2"; then
-    VLC_ADD_PLUGIN([dynamicoverlay])
-elif test "${SYS}" != "mingw32"; then
-    VLC_ADD_PLUGIN([dynamicoverlay access_shm])
-elif test "${SYS}" = "darwin"; then
-    VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
-fi
-
 dnl
 dnl  Accelerated modules
 dnl
@@ -1598,10 +1568,15 @@ dnl
 AC_ARG_ENABLE(live555,
   [AS_HELP_STRING([--enable-live555],
     [enable RTSP input through live555 (default enabled)])])
+
 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
   AC_LANG_PUSH(C++)
   VLC_SAVE_FLAGS
-  AS_IF([test -z "${CONTRIB_DIR}"], [
+
+  dnl detect include paths
+  AS_IF([test -f "${CONTRIB_DIR}/include/UsageEnvironment.hh"], [
+    CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
+  ], [
     AS_IF([test ${SYS} != "os2"], [
       LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"}
       CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment"
@@ -1610,15 +1585,16 @@ AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
       CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include"
       LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment"
     ])
-  ], [
-    CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
   ])
+
+  dnl CPP Flags
   AS_IF([test "${SYS}" = "solaris"], [
     CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
   ])
   CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
   LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}"
 
+  dnl version check
   AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [
     AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
 [#include <liveMedia_version.hh>
@@ -1631,6 +1607,7 @@ AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
       ac_cv_live555="no"
     ])
   ])
+
   AS_IF([test "$ac_cv_live555" = "no"], [
     AC_MSG_WARN([liveMedia is missing or its installed version is too old:
 Version 2011.12.23 or later is required to proceed.
@@ -1664,13 +1641,14 @@ You can get an updated one from http://www.live555.com/liveMedia .])
 ])
 
 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 IIDC and DV FireWire input modules
 dnl
 PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto])
 PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto])
 
+dnl
+dnl - linsys modules: access module check for libzvbi
+dnl
 AC_ARG_ENABLE(linsys,
   [AS_HELP_STRING([--enable-linsys],
     [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
@@ -1710,25 +1688,6 @@ then
       [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])])
 fi
 
-dnl
-dnl  Windows DirectShow access module
-dnl
-AC_ARG_ENABLE(dshow,
-  [AS_HELP_STRING([--disable-dshow],
-    [support DirectShow (default auto)])])
-if test "${enable_dshow}" != "no"
-then
-  if test "${SYS}" = "mingw32"
-  then
-    AC_LANG_PUSH(C++)
-      AC_CHECK_HEADERS(dshow.h,
-      [ VLC_ADD_PLUGIN([dshow])
-        VLC_ADD_CXXFLAGS([dshow],[])
-        VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid -lstrmiids -lksuser])])
-    AC_LANG_POP(C++)
-  fi
-fi
-
 dnl
 dnl  Blu-ray Disc Support with libbluray
 dnl
@@ -1758,41 +1717,18 @@ fi
 dnl
 dnl sftp access support
 dnl
-AC_ARG_ENABLE(sftp,
-  [AS_HELP_STRING([--enable-sftp],
-    [support SFTP file transfer via libssh2 (default disabled)])])
-if test "${enable_sftp}" = "yes"; then
-  AC_CHECK_HEADERS(libssh2.h, [
-    VLC_ADD_PLUGIN([access_sftp])
-    VLC_ADD_LIBS([access_sftp], [-lssh2])
-  ])
-fi
+PKG_ENABLE_MODULES_VLC([SFTP], [access_sftp], [libssh2], (support SFTP file transfer via libssh2), [auto])
 
 dnl
 dnl  Video4Linux 2
 dnl
 AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2],
   [disable Video4Linux version 2 (default auto)])])
-AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr],
-  [support PVR V4L2 cards (default disabled)])])
 have_v4l2="no"
 AS_IF([test "$enable_v4l2" != "no"], [
   AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
     have_v4l2="yes"
   ])
-  AC_CHECK_DECLS([V4L2_CTRL_TYPE_BITMASK,V4L2_CTRL_TYPE_INTEGER_MENU],,, [
-#ifdef HAVE_LINUX_VIDEODEV2_H
-# include <linux/videodev2.h>
-#endif
-#ifdef HAVE_SYS_VIDEOIO_H
-# include <sys/videoio.h>
-#endif
-  ])
-])
-AS_IF([test "$have_v4l2" = "yes"], [
-  AS_IF([test "${enable_pvr}" = "yes"], [
-    VLC_ADD_PLUGIN([pvr])
-  ])
 ])
 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
 
@@ -1830,21 +1766,7 @@ PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS
 dnl
 dnl  VCDX modules
 dnl
-AC_ARG_ENABLE(vcdx,
-  [AS_HELP_STRING([--enable-vcdx],
-    [navigate VCD with libvcdinfo (default disabled)])])
-if test "${enable_vcdx}" = "yes"
-then
-    PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
-      [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
-         VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
-        [AC_MSG_ERROR([${LIBCDIO_PKG_ERRORS} (required for vcdx plugin).])])
-    PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
-        [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
-         VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
-      [AC_MSG_ERROR([${LIBVCDINFO_PKG_ERRORS} (required for vcdx plugin).])])
-    VLC_ADD_PLUGIN([vcdx])
-fi
+PKG_ENABLE_MODULES_VLC([VCDX], [vcdx], [libcdio >= 0.78.2 libiso9660 >= 0.72], [navigate VCD with libvcdinfo], [no])
 
 dnl
 dnl  Built-in CD-DA and VCD module
@@ -1939,12 +1861,8 @@ if test "${enable_screen}" != "no"; then
     AC_CHECK_HEADERS(OpenGL/gl.h, [
       AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
         VLC_ADD_PLUGIN([screen])
-        VLC_ADD_LIBS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
       ])
     ])
-  elif test "${SYS}" = "mingw32"; then
-    VLC_ADD_PLUGIN([screen])
-    VLC_ADD_LIBS([screen],[-lgdi32])
   fi
 fi
 
@@ -1954,7 +1872,7 @@ dnl
 AC_ARG_ENABLE(realrtsp,
   [  --enable-realrtsp       Real RTSP module (default disabled)])
 if test "${enable_realrtsp}" = "yes"; then
-  VLC_ADD_PLUGIN([access_realrtsp])
+  VLC_ADD_PLUGIN([realrtsp])
 fi
 
 dnl
@@ -2173,17 +2091,6 @@ AC_ARG_ENABLE(omxil,
 if test "${enable_omxil}" = "yes"
 then
   VLC_ADD_PLUGIN([omxil])
-  VLC_ADD_LIBS([omxil], [$LIBDL])
-fi
-
-dnl
-dnl iomx codec plugin
-dnl
-AC_ARG_ENABLE(iomx,
-  [  --enable-iomx           iomx codec module (default disabled)])
-if test "${enable_iomx}" = "yes"
-then
-  VLC_ADD_PLUGIN([iomx])
 fi
 
 dnl
@@ -2454,10 +2361,10 @@ then
       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])
-        VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
+        VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
+        VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
         AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
-          VLC_ADD_LIBS([avformat access_avio],[-Wl,-Bsymbolic])
+          VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic])
         ])
       ], [
         VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
@@ -2501,7 +2408,7 @@ dnl  postproc plugin
 dnl
 
 AC_ARG_ENABLE(postproc,
-[  --enable-postproc       libpostproc image post-processing (default enabled)])
+[  --enable-postproc       libpostproc image post-processing (default auto)])
 if test "${enable_postproc}" != "no"
 then
   PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
@@ -2515,7 +2422,7 @@ then
       VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([${POSTPROC_PKG_ERRORS}. Pass --disable-postproc to ignore this error.])
+      AC_MSG_WARN([${POSTPROC_PKG_ERRORS}.])
   ])
 fi
 
@@ -2711,6 +2618,11 @@ AS_IF([test "${enable_speex}" != "no"], [
 ])
 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
 
+dnl
+dnl  Opus plugin
+dnl
+PKG_ENABLE_MODULES_VLC([OPUS], [], [ogg opus], [Opus support], [auto])
+
 dnl
 dnl  theora decoder plugin
 dnl
@@ -3029,8 +2941,6 @@ AS_IF([test "${enable_xcb}" != "no"], [
   PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
     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([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
@@ -3217,51 +3127,22 @@ AS_IF([test "${enable_directx}" != "no"], [
   dnl OpenGL
   AC_CHECK_HEADERS(GL/wglew.h, [
     VLC_ADD_PLUGIN([glwin32])
-    VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
-   ],, [
-     #include <windows.h>
-     #include <GL/gl.h>
-   ])
-
-   dnl Direct3D
-   AC_CHECK_HEADERS(d3d9.h, [
-     VLC_ADD_PLUGIN([direct3d])
-     VLC_ADD_LIBS([direct3d],[-lgdi32])
-   ])
-   VLC_ADD_LIBS([direct3d glwin32],[-lole32 -luuid])
-])
-AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"])
+  ],, [
+    #include <windows.h>
+    #include <GL/gl.h>
+  ])
 
-dnl
-dnl  Windows Direct2D plugin
-dnl
-AC_ARG_ENABLE(direct2d,
-  [  --enable-direct2d       Win7/VistaPU Direct2D support (default auto on Win32)],, [
-  AS_IF([test "${SYS}" != "mingw32"], [
-    enable_direct2d="no"
+  dnl Direct3D
+  AC_CHECK_HEADERS(d3d9.h, [
+    VLC_ADD_PLUGIN([direct3d])
   ])
-])
-AS_IF([test "${enable_direct2d}" != "no"], [
+
+  dnl Direct2D
   AC_CHECK_HEADERS(d2d1.h, [
     VLC_ADD_PLUGIN([direct2d])
-    VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32 -luuid])
-  ], [
-    AC_MSG_WARN([Cannot find Direct2D headers!])
   ])
 ])
-
-dnl
-dnl  win32 GDI plugin
-dnl
-AC_ARG_ENABLE(wingdi,
-  [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
-if test "${enable_wingdi}" != "no"; then
-  if test "${SYS}" = "mingw32"; then
-    VLC_ADD_PLUGIN([wingdi])
-    VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32 -luuid])
-  fi
-fi
-
+AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"])
 
 dnl
 dnl  Linux framebuffer module
@@ -3644,9 +3525,9 @@ AS_IF([test "${enable_qt}" != "no"], [
   ])
 
   QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
-  AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin])
-  AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin])
-  AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin])
+  AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
+  AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
+  AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
 ])
 AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"])
 
@@ -3793,16 +3674,6 @@ then
 fi
 
 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
-dnl
-dnl Visualisation plugin
-dnl
-AC_ARG_ENABLE(visual,
-  [  --enable-visual         visualisation plugin (default enabled)])
-if test "${enable_visual}" != "no"
-then
-    VLC_ADD_PLUGIN([visual])
-fi
-
 dnl
 dnl  goom visualization plugin
 dnl
@@ -3918,13 +3789,6 @@ dnl TLS/SSL
 dnl
 AC_ARG_ENABLE(gnutls,
   [  --enable-gnutls         GNU TLS TLS/SSL support (default enabled)])
-
-AS_IF([test "${have_libgcrypt}" != "yes"], [
-  AS_IF([test "${enable_gnutls}" = "yes"], [
-    AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
-  ])
-  enable_gnutls="no"
-])
 AS_IF([test "${enable_gnutls}" != "no"], [
   PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [
     VLC_ADD_PLUGIN([gnutls])
@@ -4078,11 +3942,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 quicktime ],[-I\\\${top_srcdir}/modules/codec/loader])
-    VLC_ADD_LIBS([dmo quicktime ],[\\\${top_builddir}/modules/codec/loader/libloader.la])
+    VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\$(srcdir)/loader])
+    VLC_ADD_LIBS([dmo quicktime ],[libloader.la])
     VLC_ADD_LIBS([dmo quicktime], [-lpthread])
   ])
 
+AS_IF([test "${SYS}" == "mingw32"], [VLC_ADD_PLUGIN([dmo]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) ])
+
 EXTEND_HELP_STRING([Components:])
 
 dnl
@@ -4153,44 +4019,18 @@ AC_CONFIG_FILES([
   share/Makefile
   compat/Makefile
   src/Makefile
-  src/test/Makefile
   lib/Makefile
   bin/Makefile
   test/Makefile
   modules/access/Makefile
-  modules/access/bd/Makefile
-  modules/access/dshow/Makefile
-  modules/access/mms/Makefile
   modules/access/rtp/Makefile
-  modules/access/rtsp/Makefile
-  modules/access/vcd/Makefile
-  modules/access/vcdx/Makefile
-  modules/access/screen/Makefile
-  modules/access/zip/Makefile
-  modules/access/zip/unzip/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
   modules/audio_mixer/Makefile
   modules/audio_output/Makefile
   modules/codec/Makefile
-  modules/codec/avcodec/Makefile
-  modules/codec/dmo/Makefile
-  modules/codec/loader/Makefile
-  modules/codec/omxil/Makefile
-  modules/codec/shine/Makefile
-  modules/codec/spudec/Makefile
-  modules/codec/wmafixed/Makefile
   modules/control/Makefile
-  modules/control/dbus/Makefile
-  modules/control/globalhotkeys/Makefile
   modules/demux/Makefile
-  modules/demux/asf/Makefile
-  modules/demux/avformat/Makefile
-  modules/demux/avi/Makefile
-  modules/demux/mkv/Makefile
-  modules/demux/mp4/Makefile
-  modules/demux/mpeg/Makefile
-  modules/demux/playlist/Makefile
   modules/gui/Makefile
   modules/gui/macosx/Makefile
   modules/gui/minimal_macosx/Makefile
@@ -4200,27 +4040,18 @@ AC_CONFIG_FILES([
   modules/lua/Makefile
   modules/meta_engine/Makefile
   modules/misc/Makefile
-  modules/misc/playlist/Makefile
-  modules/misc/osd/Makefile
-  modules/misc/stats/Makefile
   modules/media_library/Makefile
   modules/mux/Makefile
-  modules/mux/mpeg/Makefile
   modules/notify/Makefile
   modules/packetizer/Makefile
   modules/services_discovery/Makefile
   modules/stream_filter/Makefile
-  modules/stream_filter/dash/Makefile
   modules/stream_out/Makefile
-  modules/stream_out/transcode/Makefile
   modules/text_renderer/Makefile
   modules/video_chroma/Makefile
   modules/video_filter/Makefile
-  modules/video_filter/dynamicoverlay/Makefile
   modules/video_output/Makefile
-  modules/video_output/msw/Makefile
   modules/visualization/Makefile
-  modules/visualization/visual/Makefile
   modules/mmx/Makefile
   modules/sse2/Makefile
   modules/altivec/Makefile
@@ -4229,8 +4060,8 @@ AC_CONFIG_FILES([
 
 AM_COND_IF([HAVE_WIN32], [
   AC_CONFIG_FILES([
-    extras/package/win32/spad.nsi
-    extras/package/win32/vlc.win32.nsi
+    extras/package/win32/NSIS/spad.nsi
+    extras/package/win32/NSIS/vlc.win32.nsi
   ])
 ])