]> git.sesse.net Git - vlc/blobdiff - configure.ac
Fix win32 compile.
[vlc] / configure.ac
index fcf564cfa4dde8e18c5cd023d5852451a6f56e68..f3d58e51f3f07a52d479284deb3058e74f28bc5f 100644 (file)
@@ -192,9 +192,9 @@ case "${host_os}" in
     VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
     VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
-    VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
+    VLC_ADD_LDFLAGS([avcodec avformat swscale imgresample postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
     VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
-    VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
+    VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
     AC_ARG_ENABLE(macosx-defaults,
         [  --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
@@ -231,6 +231,8 @@ case "${host_os}" in
         echo "  Assuming --enable-twolame"
         enable_realrtsp="yes"
         echo "  Assuming --enable-realrtsp"
+        enable_update_check="yes"
+        echo "  Assuming --enable-update-check"
 
         enable_skins2="no"
         echo "  Assuming --disable-skins2"
@@ -313,13 +315,13 @@ case "${host_os}" in
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
         VLC_ADD_LIBS([activex mozilla],[-lgdi32])
         VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
-        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua],[-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 slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd],[-lws2_32])
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
         VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
         VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
-        VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp],[-lws2])
+        VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd],[-lws2])
         VLC_ADD_LIBS([libvlc],[-lmmtimer])
    fi
     ;;
@@ -483,7 +485,7 @@ dnl Check for system libs needed
 need_libc=false
 
 dnl Check for usual libc functions
-AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid_r memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy strdup strndup strnlen atof lldiv posix_fadvise posix_madvise])
+AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid_r memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy strdup strndup strnlen atof lldiv posix_fadvise posix_madvise uselocale])
 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
@@ -518,7 +520,7 @@ AC_CHECK_FUNCS(connect,,[
 
 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 stream_out_standard growl_udp],[-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],[-lsocket])
   ])
 ])
 
@@ -645,7 +647,7 @@ AC_CHECK_LIB(m,cos,[
   VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  VLC_ADD_LIBS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
+  VLC_ADD_LIBS([avcodec avformat swscale imgresample postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
@@ -730,7 +732,7 @@ if test "${ac_cv_have_plugins}" = "no"; then
     ac_cv_my_have_dlopen=yes,
     AC_CHECK_LIB(dl, dlopen,
       ac_cv_my_have_dlopen=yes
-      VLC_ADD_LIBS([libvlc realaudio],[-ldl]),
+      VLC_ADD_LIBS([libvlc realaudio realvideo],[-ldl]),
       AC_CHECK_LIB(svld, dlopen,
         ac_cv_my_have_dlopen=yes
         VLC_ADD_LIBS([libvlc],[-lsvld]))))
@@ -861,20 +863,13 @@ AC_ARG_ENABLE(hal,
 if test "${enable_hal}" != "no"
 then
   PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
-    [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API])
+    [
       AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
       VLC_ADD_PLUGIN([hal])
       VLC_ADD_PLUGIN([probe_hal])
       VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
-      VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],   
-    dnl No hal 0.5 Test for 0.2
-    [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97, 
-       [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library])
-        VLC_ADD_PLUGIN([hal])
-        VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
-        VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
-       [AC_MSG_WARN(HAL library not found)])
-    ]
+      VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
+    [AC_MSG_WARN([libhal >= 0.5.0 was not found. Install libhal-dev ?])]
   )
 fi
 
@@ -887,10 +882,7 @@ if test "${enable_dbus}" != "no"
 then
   dnl api stable dbus
   PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
-    [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
-      AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
-      AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
-      AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
+    [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
       VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
       VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
       dnl Check for dbus control interface
@@ -912,49 +904,8 @@ then
         VLC_ADD_PLUGIN([inhibit])
         VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
         VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
-        ],
-    if ${PKG_CONFIG} --exists dbus-1
-    then
-      [AC_ARG_ENABLE(old-dbus,
-        [  --enable-old-dbus       Deprecated D-Bus support (default disabled)])]
-
-      if test "${enable_old_dbus}" != "yes"
-      then
-        echo ""
-        echo "****** WARNING **** WARNING ***** WARNING *************"
-        echo "*** Your D-Bus version is < 1.0.0"
-        echo "*** You are using old and buggy software and so"
-        echo "*** D-Bus support has been disabled."
-        echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
-        echo "*** Alternatively you can force the use of your old and"
-        echo "*** buggy D-Bus version by specifying --enable-old-dbus"
-        echo "*******************************************************"
-        echo ""
-      else
-        dnl not too old dbus
-        [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
-          [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
-            AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
-            AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
-            VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
-            VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
-          dnl older dbus
-          [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
-            [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
-              AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
-              VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
-              VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
-            dnl much older dbus
-            [ PKG_CHECK_MODULES( DBUS, dbus-1, 
-               [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
-                VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
-                VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
-               [AC_MSG_WARN(DBUS library not found)])
-            ]
-          )]
-        )]
-      fi
-    fi
+    ],
+    [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
   )
 fi
 ;;
@@ -1066,44 +1017,6 @@ if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
 fi
 
-dnl Check for -fvisibility=hidden
-dnl Don't test on mingw32, because it is going to work with just a warning
-dnl even if it doesn't support it
-if test "${SYS}" != "mingw32"
-then
-AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
-    [ac_cv_c_visibility_hidden],
-    [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
-     AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
-if test "${ac_cv_c_visibility_hidden}" != "no"; then
-    VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
-fi
-fi
-
-AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
-
-dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
-dnl AC_LANG_PUSH(C++)
-dnl     AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
-dnl         [ac_cv_c_visibility_inlines_hidden],
-dnl         [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
-dnl          AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
-dnl     if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
-dnl         VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
-dnl     fi
-dnl     CXXFLAGS="${CXXFLAGS_save}"
-dnl AC_LANG_POP(C++)
-
-dnl Check for -mdynamic-no-pic
-dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
-dnl     [ac_cv_c_dynamic_no_pic],
-dnl     [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
-dnl      AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
-dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
-dnl     VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
-dnl     VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
-dnl ])
-
 dnl Check for Darwin plugin linking flags
 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
     [ac_cv_ld_darwin],
@@ -1113,20 +1026,6 @@ if test "${ac_cv_ld_darwin}" != "no"; then
     VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
 fi
 
-dnl Check for standard plugin linking flags
-dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
-dnl AS_IF([test "${SYS}" = "beos"], [
-dnl   VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
-dnl ], [
-dnl   AC_CACHE_CHECK([if \$CC accepts -shared],
-dnl         [ac_cv_ld_plugins],
-dnl         [CFLAGS="${CFLAGS_save} -shared"
-dnl        AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
-dnl   AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
-dnl     VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
-dnl   ])
-dnl ])
-
 dnl Checks for __attribute__(aligned()) directive
 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
     [ac_cv_c_attribute_aligned],
@@ -1143,19 +1042,6 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then
         [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
 fi
 
-dnl Checks for __attribute__(format()) directive
-AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
-    [ac_cv_c_attribute_format],
-    [ac_cv_c_attribute_format=no
-        CFLAGS="${CFLAGS_save} -Werror"
-        AC_TRY_COMPILE([],
-        [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
-        [ac_cv_c_attribute_format=yes])
-        CFLAGS="${CFLAGS_save}"])
-if test "${ac_cv_c_attribute_format}" != "no"; then
-    AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
-fi
-
 dnl Check for __attribute__((packed))
 AC_CACHE_CHECK([for __attribute__((packed))],
   [ac_cv_c_attribute_packed],
@@ -1166,16 +1052,6 @@ if test "${ac_cv_c_attribute_packed}" != "no"; then
   AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
 fi
 
-dnl Check for __attribute__((visibility()))
-AC_CACHE_CHECK([for __attribute__((visibility()))],
-  [ac_cv_c_attribute_visibility],
-  [ac_cv_c_attribute_visibility=no
-   AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
-                    [ac_cv_c_attribute_visibility=yes])])
-if test "${ac_cv_c_attribute_visibility}" != "no"; then
-  AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
-fi
-
 dnl
 dnl  Check the CPU
 dnl
@@ -1188,6 +1064,10 @@ case "${host_cpu}" in
     ;;
 esac
 
+dnl Check for backtrace() support
+AC_CHECK_HEADERS(execinfo.h)
+AC_CHECK_FUNCS(backtrace)
+
 dnl
 dnl  Enable profiling
 dnl
@@ -1202,6 +1082,7 @@ dnl
 dnl  default modules
 dnl
 VLC_ADD_PLUGIN([dummy])
+VLC_ADD_PLUGIN([stats])
 VLC_ADD_PLUGIN([logger])
 VLC_ADD_PLUGIN([memcpy])
 dnl Demuxers:
@@ -1210,34 +1091,11 @@ VLC_ADD_PLUGIN([mpga])
 VLC_ADD_PLUGIN([m4v])
 VLC_ADD_PLUGIN([m4a])
 VLC_ADD_PLUGIN([h264])
-VLC_ADD_PLUGIN([vc1])
-VLC_ADD_PLUGIN([demux_cdg])
 VLC_ADD_PLUGIN([cdg])
 VLC_ADD_PLUGIN([ps])
-VLC_ADD_PLUGIN([pva])
 VLC_ADD_PLUGIN([avi])
 VLC_ADD_PLUGIN([asf])
 VLC_ADD_PLUGIN([mp4])
-VLC_ADD_PLUGIN([rawdv])
-VLC_ADD_PLUGIN([rawvid])
-VLC_ADD_PLUGIN([nsv])
-VLC_ADD_PLUGIN([real])
-VLC_ADD_PLUGIN([aiff])
-VLC_ADD_PLUGIN([mjpeg])
-VLC_ADD_PLUGIN([wav])
-VLC_ADD_PLUGIN([voc])
-VLC_ADD_PLUGIN([smf])
-VLC_ADD_PLUGIN([demuxdump])
-VLC_ADD_PLUGIN([flacsys])
-VLC_ADD_PLUGIN([tta])
-VLC_ADD_PLUGIN([subtitle])
-VLC_ADD_PLUGIN([vobsub])
-VLC_ADD_PLUGIN([a52sys])
-VLC_ADD_PLUGIN([dtssys])
-VLC_ADD_PLUGIN([au])
-VLC_ADD_PLUGIN([ty])
-VLC_ADD_PLUGIN([xa])
-VLC_ADD_PLUGIN([nuv])
 dnl Text codecs:
 VLC_ADD_PLUGIN([cvdsub])
 VLC_ADD_PLUGIN([svcdsub])
@@ -1321,7 +1179,6 @@ AC_LANG_POP(C++)
 if test "${SYS}" != "mingwce"; then
   VLC_ADD_PLUGIN([gestures])
   VLC_ADD_PLUGIN([rc])
-  VLC_ADD_PLUGIN([telnet])
   VLC_ADD_PLUGIN([hotkeys])
   VLC_ADD_PLUGIN([showintf])
   VLC_ADD_PLUGIN([marq])
@@ -1372,6 +1229,7 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGIN([screensaver])
     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])
@@ -1396,7 +1254,7 @@ dnl  Check for fully working MMX intrinsics
 dnl  We need support for -mmmx, we need <mmintrin.h>, and we also need a
 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
 AC_ARG_ENABLE(mmx,
-[  --disable-mmx       disable MMX optimizations (default auto)],,[
+[  --disable-mmx           disable MMX optimizations (default auto)],,[
   case "${host_cpu}" in
     i?86|x86_64)
       enable_mmx="yes"
@@ -1463,7 +1321,8 @@ dnl  Check for fully workin SSE2 intrinsics
 dnl  We need support for -mmmx, we need <emmintrin.h>, and we also need a
 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
 AC_ARG_ENABLE(sse,
-[  --disable-sse       disable SSE (1 and 2) optimizations (default auto)],, [
+[  --disable-sse           disable SSE (1 and 2) optimizations (default auto)]
+,, [
   case "${host_cpu}" in
     i686|x86_64)
       enable_sse=yes
@@ -1759,7 +1618,7 @@ fi
 
 dnl Lua modules
 AC_ARG_ENABLE(lua,
-  [  --enable-lua            lua playlist and metafetcher plugins (default enabled)])
+  [  --enable-lua            lua playlist, metafetcher and interface plugins (default enabled)])
 if test "${enable_lua}" != "no"
 then
   PKG_CHECK_MODULES(LUA, lua5.1,
@@ -1806,15 +1665,34 @@ then
 fi
 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
 
+dnl
+dnl libproxy support
+dnl
+AC_ARG_ENABLE(libproxy,
+  [  --enable-libproxy       libproxy support (default auto)])
+AS_IF([test "${enable_libproxy}" != "no"], [
+  AC_CHECK_HEADERS(proxy.h, [
+    VLC_ADD_LIBS([access_http],[-lproxy])
+  ], [
+    AS_IF([test "x${enable_libproxy}" != "x"], [
+      AC_MSG_ERROR([libproxy could not be found on your system])
+    ])
+  ])
+])
+
 dnl
 dnl VideoLAN manager
 dnl
 AC_ARG_ENABLE(vlm,
-  [  --enable-vlm            VideoLAN manager (default enabled)])
-if test "${enable_vlm}" != "no"
-then
-  AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
-fi
+  [  --enable-vlm            VideoLAN manager (default enabled)],,
+  [enable_vlm="${enable_sout}"])
+AS_IF([test "${enable_vlm}" != "no"], [
+  AS_IF([test "${enable_sout}" = "no"], [
+    AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
+  ])
+  AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
+  VLC_ADD_PLUGIN([telnet])
+])
 
 dnl
 dnl Growl notification plugin
@@ -2282,10 +2160,9 @@ if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
 then
   AC_ARG_WITH(opencv-tree,
   [    --with-opencv-tree=PATH opencv tree for linking])
-  if test -n "${with_opencv_tree}"
-  then
     if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
     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
@@ -2305,9 +2182,17 @@ then
         AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
          fi
     else
-         AC_MSG_WARN([--enable-opencv currently only works on windows])
+      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  
 fi
 
 
@@ -2447,8 +2332,8 @@ dnl
 dnl  Video4Linux2 plugin
 dnl
 AC_ARG_ENABLE(v4l2,
-  [  --enable-v4l2           Video4Linux2 input support (default disabled)])
-if test "${enable_v4l2}" = "yes"
+  [  --enable-v4l2           Video4Linux2 input support (default enabled)])
+if test "${enable_v4l2}" != "no"
 then
   AC_ARG_WITH(v4l2,
     [    --with-v4l2=PATH       path to a v4l2-enabled kernel tree],[],[])
@@ -2495,7 +2380,7 @@ then
     
 
   AC_CACHE_CHECK([for new linux/videodev2.h],
-      [new_linux_videodev2_h],
+      [ac_cv_new_linux_videodev2_h],
       [AC_TRY_COMPILE([
           #include <sys/types.h>
           #   ifdef VIDEODEV2_H_FILE
@@ -2505,9 +2390,9 @@ then
          #   endif
          ],
           [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
-          new_linux_videodev2_h=yes,
-          new_linux_videodev2_h=no)])
-  if test "${new_linux_videodev2_h}" != "no"; then
+          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
@@ -2690,9 +2575,9 @@ dnl
 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
 dnl
 AC_ARG_ENABLE(dvb,
-  [  --enable-dvb            DVB-S/T/C card support (default disabled)])
+  [  --enable-dvb            DVB-S/T/C card support (default enabled)])
 
-if test "${enable_dvb}" = "yes"
+if test "${enable_dvb}" != "no"
 then
   AC_ARG_WITH(dvb,
   [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
@@ -3018,7 +2903,7 @@ dnl
 dnl   libid3tag support (FIXME!!! doesn't work with new input)
 dnl
 AC_ARG_ENABLE( id3tag,
-  [  --disable-id3tag id3tag metadata reader plugin (default enabled)])
+[  --disable-id3tag        id3tag metadata reader plugin (default enabled)])
 AS_IF([test "${enable_id3tag}" != "no"], [
   AC_CHECK_HEADERS(id3tag.h, [
     AC_CHECK_HEADERS(zlib.h, [
@@ -3029,295 +2914,138 @@ AS_IF([test "${enable_id3tag}" != "no"], [
 ])
 
 dnl
-dnl  ffmpeg decoder/demuxer plugin
+dnl  avcodec decoder/encoder plugin
 dnl
-dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
-dnl                               3- default place,
 
-AC_ARG_ENABLE(ffmpeg,
-[  --enable-ffmpeg         ffmpeg codec (default enabled)])
-if test "${enable_ffmpeg}" != "no"
+AC_ARG_ENABLE(avcodec,
+[  --enable-avcodec        libavcodec codec (default enabled)])
+if test "${enable_avcodec}" != "no"
 then
+  PKG_CHECK_MODULES(AVCODEC,[libavcodec libavutil],
+    [
+      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)
+      VLC_ADD_PLUGIN([avcodec])
+      VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
+      VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
+      VLC_RESTORE_FLAGS
+    ],[
+      AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
+  ])
+fi
 
-dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
-
- AC_ARG_WITH(ffmpeg-mp3lame,
-   [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
-   [
-     if test "$with_ffmpeg_mp3lame" = "yes";   then
-        VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
-     fi])
-
- AC_ARG_WITH(ffmpeg-faac,
-   [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
-   [
-     if test "$with_ffmpeg_faac" = "yes"; then
-        VLC_ADD_LIBS([ffmpeg],[-lfaac])
-     fi])
-
- AC_ARG_WITH(ffmpeg-dts,
-   [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
-   [
-     if test "$with_ffmpeg_dts" = "yes"; then
-             LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
-             AC_CHECK_LIB(dts_pic, dts_free, 
-               [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
-               [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
-             LDFLAGS="${LDFLAGS_save}"
-     fi])
-
- AC_ARG_WITH(ffmpeg-vorbis,
-   [    --with-ffmpeg-vorbis    specify if ffmpeg has been compiled with vorbis support],
-   [
-     if test "$with_ffmpeg_vorbis" = "yes"; then
-        VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
-     fi])
-
- AC_ARG_WITH(ffmpeg-theora,
-   [    --with-ffmpeg-theora    specify if ffmpeg has been compiled with theora support],
-   [
-     if test "$with_ffmpeg_theora" = "yes"; then
-        VLC_ADD_LIBS([ffmpeg],[-ltheora])
-     fi])
-
- AC_ARG_WITH(ffmpeg-ogg,
-   [    --with-ffmpeg-ogg    specify if ffmpeg has been compiled with ogg support],
-   [
-     if test "$with_ffmpeg_ogg" = "yes"; then
-        VLC_ADD_LIBS([ffmpeg],[-logg])
-     fi])
-
- AC_ARG_WITH(ffmpeg-zlib,
-   [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
-   [
-     if test "$with_ffmpeg_zlib" = "yes"; then
-        VLC_ADD_LIBS([ffmpeg],[-lz])
-     fi])
-
- AC_ARG_WITH(ffmpeg-amrnb,
-   [    --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
-   [
-     if test "$with_ffmpeg_amrnb" = "yes";     then
-        VLC_ADD_LIBS([ffmpeg],[-lamrnb])
-     fi])
-
- AC_ARG_WITH(ffmpeg-amrwb,
-   [    --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
-   [
-     if test "$with_ffmpeg_amrwb" = "yes";     then
-        VLC_ADD_LIBS([ffmpeg],[-lamrwb])
-     fi])
-
- AC_ARG_WITH(ffmpeg-x264,
-   [    --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
-   [
-     if test "$with_ffmpeg_x264" = "yes";      then
-        VLC_ADD_LIBS([ffmpeg],[-lx264])
-     fi])
-
- AC_ARG_WITH(ffmpeg-a52,
-   [    --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
-   [
-     if test "$with_ffmpeg_a52" = "yes";       then
-        VLC_ADD_LIBS([ffmpeg],[-la52])
-     fi])
-
- dnl
- dnl test for --with-ffmpeg-tree
- dnl
- AC_ARG_WITH(ffmpeg-tree,
-   [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
-
- if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
-   AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
-   real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
-   if test -z "${real_ffmpeg_tree}"; then
-     dnl  The given directory can't be found
-     AC_MSG_RESULT(no)
-     AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
-   fi
-   if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
-     dnl  The given libavcodec wasn't built
-     AC_MSG_RESULT(no)
-     AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
-   fi
-   if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
-     if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
-       VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])  
-     elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then 
-        VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
-        VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
-     else
-       dnl  The given libavcodec wasn't built with --enable-postproc
-       AC_MSG_RESULT(no)
-       AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc])
-     fi
-   fi
-   dnl  Use a custom libffmpeg
-   AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
-
-   dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
-   PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
-   PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
-   export PKG_CONFIG_PATH=""
-   export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
-   VLC_SAVE_FLAGS
-
-   PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [
-        VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
-        VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
-        AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
-      )
-   AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[
-     AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
-     PKG_CHECK_MODULES( [SWSCALE],[libswscale], [
-     VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
-     VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])])
-     ])
-   CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
-   CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
-   
-   AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
-   AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
-   AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
-   AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])
-
-   VLC_RESTORE_FLAGS
-   AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
-         export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
-   ],[
-        unset PKG_CONFIG_PATH
-   ])
-   AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
-        export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
-   ],[
-        unset PKG_CONFIG_LIBDIR
-   ])
-
-   VLC_ADD_BUILTINS([ffmpeg])
-   if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
-     VLC_ADD_BUILTINS([stream_out_switcher])
-   fi
-
+dnl
+dnl  avformat demuxer/muxer plugin
+dnl
 
-else
+AC_ARG_ENABLE(avformat,
+[  --enable-avformat       libavformat containers (default enabled)])
+if test "${enable_avformat}" != "no"
+then
+  PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
+    [
+      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)
+      VLC_ADD_PLUGIN([avformat])
+      VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS])
+      VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
+      VLC_RESTORE_FLAGS
+    ],[
+      AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
+  ])
+fi
 
+dnl
+dnl  swscale image scaling and conversion plugin
+dnl
 
-dnl Trying with pkg-config
-   PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
+AC_ARG_ENABLE(swscale,
+[  --enable-swscale        libswscale image scaling and conversion (default enabled)])
+if test "${enable_swscale}" != "no"
+then
+  PKG_CHECK_MODULES(SWSCALE,[libswscale],
     [
-     VLC_SAVE_FLAGS
-     CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
-     CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
-     AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
-     AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
-     AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
-     dnl newer ffmpeg have a separate libpostproc
-     PKG_CHECK_MODULES(POSTPROC, libpostproc,[
-       VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}]) 
-       VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}]) 
-       ],[ true ])
-     CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
-     CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
-     AC_CHECK_HEADERS(postproc/postprocess.h)
-     VLC_ADD_PLUGIN([ffmpeg])
-     if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
-        VLC_ADD_PLUGIN([stream_out_switcher])
-     fi
-     VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
-     VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
-
-     dnl even newer ffmpeg has a libswscale
-     PKG_CHECK_MODULES(SWSCALE,[libswscale],[
-       VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
-       VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
-       AC_CHECK_LIB(swscale, sws_getContext,
-         [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[-lavutil -lm])
-       ],[ true ])
-     VLC_RESTORE_FLAGS
+      VLC_SAVE_FLAGS
+      CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
+      CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
+      AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
+      VLC_ADD_PLUGIN([swscale])
+      VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
+      VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
+      VLC_RESTORE_FLAGS
     ],[
+      AC_MSG_WARN([Could not find libswscale. Trying to enable imgresample.])
+      enable_imgresample=yes
+  ])
+fi
 
-    dnl
-    dnl last chance: at the default place
-    dnl
-      CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
-      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
-      AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
-      AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
-      AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
-      AC_CHECK_HEADERS(postproc/postprocess.h)
-
-      AC_CHECK_LIB(avutil, av_crc_init, [
-        VLC_ADD_LIBS([ffmpeg],[-lavutil])
-        LDAVUTIL="-lavutil"])
-
-      AC_CHECK_LIB(avcodec, avcodec_init, [
-        VLC_ADD_BUILTINS([ffmpeg])
-        VLC_ADD_LIBS([ffmpeg],[-lavcodec])
-        if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
-            VLC_ADD_BUILTINS([stream_out_switcher])
-        fi],
-         [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL])
-
-      AC_CHECK_LIB(postproc, pp_postprocess, [
-        VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
-      AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]),
-        [$LDAVUTIL])
-
-      AC_CHECK_LIB(avformat, av_open_input_stream, [
-        VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
-      LDFLAGS="${LDFLAGS_save}"
-      CPPFLAGS="${CPPFLAGS_save}"
+dnl
+dnl  avcodec (deprecated API) image scaling and conversion plugin
+dnl
+dnl  This is build as a seperate module than the avcodec one to prevent
+dnl  stupid run time library load errors from disabling most codecs
+dnl  from VLC.
+dnl
 
-      AC_CHECK_LIB(swscale, sws_getContext, [
-        AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
-        VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
-      LDFLAGS="${LDFLAGS_save}"
-      CPPFLAGS="${CPPFLAGS_save}"
-    ])
-  fi
+AC_ARG_ENABLE(imgresample,
+[  --enable-imgresample    deprecated libavcodec image scaling and conversion (default disabled)])
+if test "${enable_imgresample}" = "yes"
+then
+  PKG_CHECK_MODULES(IMGRESAMPLE,[libavcodec],
+    [
+      VLC_SAVE_FLAGS
+      CPPFLAGS="${CPPFLAGS} ${IMGRESAMPLE_CFLAGS}"
+      CFLAGS="${CFLAGS} ${IMGRESAMPLE_CFLAGS}"
+      AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
+      AC_CHECK_LIB(avcodec,img_resample,
+        [
+          VLC_ADD_PLUGIN([imgresample])
+          VLC_ADD_LIBS([imgresample],[$IMGRESAMPLE_LIBS])
+          VLC_ADD_CFLAGS([imgresample],[$IMGRESAMPLE_CFLAGS])
+        ],[
+          AC_MSG_WARN([Could not find img_resample in libavcodec.])
+          if test "${enable_swscale}" != "no"
+          then
+            AC_MSG_ERROR([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
+          fi
+       # That sed hack to add -rpath is kind of ugly but at least it fixes
+        # detection when linking against a shared libavcodec with
+        # a libavutil not in one of your ld.so.conf directories.
+       # (for example a local install)
+        ],[${IMGRESAMPLE_LIBS} `echo ${IMGRESAMPLE_LIBS}|sed s'/-L/-Wl,-rpath=/'`])
+      VLC_RESTORE_FLAGS
+    ],[
+      AC_MSG_WARN([Could not find libavcodec.])
+  ])
 fi
 
 dnl
-dnl  ffmpegaltivec plugin
+dnl  postproc plugin
 dnl
-AC_ARG_ENABLE(ffmpegaltivec,
-[  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
-if test "${enable_ffmpegaltivec}" = "yes"
+
+AC_ARG_ENABLE(postproc,
+[  --enable-postproc       libpostproc image post-processing (default enabled)])
+if test "${enable_postproc}" != "no"
 then
-  if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
-    AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
-    real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
-    if test -z "${real_ffmpeg_tree}"; then
-      dnl  The given directory can't be found
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
-    fi
-    if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
-      dnl  The given libavcodecaltivec wasn't built
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
-    fi
-    if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
-      dnl  The given libavcodecaltivec wasn't built with --enable-postproc
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc])
-    fi
-    dnl  Use a custom libffmpeg
-    AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
-    VLC_ADD_BUILTINS([ffmpegaltivec])
-    VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
-    VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
-    VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
-
-    if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
-      AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
-      VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
-      VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
-    fi
-    VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
-    VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
-  fi
+  PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
+    [
+      VLC_SAVE_FLAGS
+      CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
+      CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
+      AC_CHECK_HEADERS(libpostproc/postproc.h postproc/postprocess.h)
+      VLC_ADD_PLUGIN([postproc])
+      VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS])
+      VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS])
+      VLC_RESTORE_FLAGS
+    ],[
+      AC_MSG_ERROR([Could not find libpostproc.])
+  ])
 fi
 
 dnl
@@ -3436,9 +3164,10 @@ dnl
 dnl  Real plugin
 dnl
 AC_ARG_ENABLE(real,
-  [  --enable-real           Real audio module (default disabled)])
+  [  --enable-real           Real media module (default disabled)])
 if test "${enable_real}" = "yes"; then
   VLC_ADD_PLUGIN([realaudio])
+  VLC_ADD_PLUGIN([realvideo])
 fi
 
 dnl
@@ -3973,7 +3702,7 @@ dnl
 dnl asa/csri subtitle rendering module
 dnl
 AC_ARG_ENABLE(csri,
-  [  --enable-csri          Subtitle support using CSRI / asa (default disabled)])
+  [  --enable-csri           Subtitle support using CSRI / asa (default disabled)])
 AS_IF( [test "${enable_csri}" = "yes"], [
   PKG_CHECK_MODULES(CSRI,
       csri >= 0.1.0,
@@ -3990,7 +3719,7 @@ dnl
 dnl asa demuxer
 dnl
 AC_ARG_ENABLE(asademux,
-  [  --enable-asademux      asa subtitle demuxing (default disabled)])
+  [  --enable-asademux       asa subtitle demuxing (default disabled)])
 AS_IF( [test "${enable_asademux}" = "yes"], [
   PKG_CHECK_MODULES(PCRE,
       libpcre >= 6.5,
@@ -4019,7 +3748,7 @@ dnl
 AC_ARG_ENABLE(kate,
 [  --enable-kate           kate codec (default enabled)])
 AS_IF([test "${enable_kate}" != "no"], [
-  PKG_CHECK_MODULES(KATE,[kate >= 0.1.1], [
+  PKG_CHECK_MODULES(KATE,[kate >= 0.1.2], [
       VLC_ADD_PLUGIN([kate])
       VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
       VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
@@ -4487,29 +4216,6 @@ then
   CPPFLAGS="${CPPFLAGS_save}"
 fi
 
-dnl
-dnl  Qt Video output module
-dnl  (disabled by default)
-dnl
-dnl AC_ARG_ENABLE(qt_video,
-dnl   [  --enable-qt_video            QT Video Output support (default disabled)])
-dnl if test "${enable_qt_video}" = "yes"
-dnl then
-dnl  VLC_ADD_PLUGIN([qt_video])
-dnl  VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
-dnl  LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
-dnl   AC_CHECK_LIB(qt-mt,main,[
-dnl    VLC_ADD_LIBS([qt_video],[-lqt-mt])
-dnl  ],[
-dnl    AC_CHECK_LIB(qt,main,[
-dnl      VLC_ADD_LIBS([qt_video],[-lqt])
-dnl    ])
-dnl  ])
-dnl  NEED_QTE_MAIN=yes
-dnl  LDFLAGS="${LDFLAGS_save}"
-dnl  VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
-dnl fi
-
 dnl
 dnl Roku HD1000 Video output module
 dnl
@@ -4842,7 +4548,7 @@ AC_ARG_ENABLE(pulse,
        [ VLC_ADD_PLUGIN([pulse])
         VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
         VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
-       [AC_MSG_WARN(pulsaudio library not found)])
+       [AC_MSG_WARN(pulseaudio library not found)])
    fi
 
 dnl
@@ -4862,7 +4568,8 @@ AC_ARG_ENABLE(portaudio,
    fi])
 
 dnl
-dnl  aRts module -- broken (freeze wxWidgets)
+dnl  aRts module
+dnl  broken? (froze wxWidgets back then)
 dnl
 AC_ARG_ENABLE(arts,
  [  --enable-arts           aRts sound server (default disabled)],
@@ -5038,7 +4745,7 @@ dnl
 dnl UPnP Plugin (Intel SDK)
 dnl
 AC_ARG_ENABLE(upnp,
-  [  --enable-upnp           Intel UPnP SDK (default enabled)])
+  [AS_HELP_STRING([--enable-upnp],[Intel UPnP SDK (default enabled)])])
 
 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
 AS_IF([test "x${enable_upnp}" != "xno"], [
@@ -5074,7 +4781,8 @@ dnl
 dnl Skins2 module
 dnl
 AC_ARG_ENABLE(skins2,
-  [  --enable-skins2         Skins2 interface module (default disabled)])
+  [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
+   enabled except on MacOSX, BeOS and WinCE)])])
 if test "${enable_skins2}" = "yes" ||
   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
@@ -5112,76 +4820,9 @@ if test "${enable_skins2}" = "yes" ||
     VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
   fi fi fi
 fi
-AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
-
-dnl dnl
-dnl dnl  Gtk+ module
-dnl dnl
-dnl AC_ARG_ENABLE(gtk,
-dnl   [  --enable-gtk            Gtk+ support (default enabled)])
-dnl if test "${enable_gtk}" != "no"
-dnl then
-dnl   GTK_PATH="${PATH}"
-dnl   AC_ARG_WITH(gtk-config-path,
-dnl     [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
-dnl     [ if test "${with_gtk_config_path}" != "no"
-dnl       then
-dnl         GTK_PATH="${with_gtk_config_path}:${PATH}"
-dnl       fi ])
-dnl   # look for gtk-config
-dnl   AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
-dnl   GTK_CONFIG=${GTK12_CONFIG}
-dnl   if test "${GTK_CONFIG}" = "no"
-dnl   then
-dnl     AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
-dnl   fi
-dnl   if test "${GTK_CONFIG}" != "no"
-dnl   then
-dnl     if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
-dnl     then
-dnl       AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
-dnl     fi
-dnl     if test "${SYS}" != "mingw32"; then
-dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
-dnl       VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
-dnl     else
-dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
-dnl       VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
-dnl     fi
-dnl     # now look for the gtk.h header
-dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
-dnl     ac_cv_gtk_headers=yes
-dnl     AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
-dnl       ac_cv_gtk_headers=no
-dnl       echo "Cannot find gtk development headers."
-dnl     ])
-dnl     if test "${ac_cv_gtk_headers}" = "yes"
-dnl     then
-dnl       VLC_ADD_PLUGIN([gtk])
-dnl       if test "${SYS}" != "mingw32"; then
-dnl         NEED_GTK_MAIN=yes
-dnl       fi
-dnl       ALIASES="${ALIASES} gvlc"
-dnl     fi
-dnl     CPPFLAGS="${CPPFLAGS_save}"
-dnl   fi
-dnl fi
-dnl 
-dnl
-dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
-dnl
-dnl AC_ARG_ENABLE(gtk2,
-dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
-dnl if test "${enable_gtk2}" = "yes"
-dnl then
-dnl   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
-dnl   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
-dnl   VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
-dnl   VLC_ADD_PLUGIN([gtk2])
-dnl   if test "${SYS}" != "mingw32"; then
-dnl     NEED_GTK2_MAIN=yes
-dnl   fi
-dnl fi
+AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
+        (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
+         test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
 
 dnl
 dnl  PDA Gtk+2 module
@@ -5199,192 +4840,43 @@ then
   VLC_ADD_PLUGIN([pda])
   if test "${SYS}" != "mingw32"; then
     NEED_GTK2_MAIN=yes
+    VLC_ADD_CFLAGS([gtk2_main],[$GTK2_CFLAGS])
+    VLC_ADD_LIBS([gtk2_main],[$GTK2_LIBS])
   fi
 fi
 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
 
-dnl dnl
-dnl dnl  Gnome module
-dnl dnl
-dnl AC_ARG_ENABLE(gnome,
-dnl   [  --enable-gnome          Gnome interface support (default disabled)],
-dnl   [if test "${enable_gnome}" = "yes"; then
-dnl     # look for gnome-config
-dnl     AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
-dnl     if test -x ${GNOME_CONFIG}
-dnl     then
-dnl        VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
-dnl        VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
-dnl     fi
-dnl     # now look for the gnome.h header
-dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
-dnl     AC_CHECK_HEADERS(gnome.h, [
-dnl       VLC_ADD_PLUGIN([gnome])
-dnl       NEED_GTK_MAIN=yes
-dnl       NEED_GNOME_MAIN=yes
-dnl       ALIASES="${ALIASES} gnome-vlc"
-dnl       dnl We need this because of some moronic gnomesupport.h flavours
-dnl       AC_MSG_CHECKING(for strndup in gnome.h)
-dnl       AC_EGREP_HEADER(strndup,gnome.h,[
-dnl         AC_MSG_RESULT(yes)
-dnl         AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
-dnl                   Define if <gnome.h> defines strndup.)],[
-dnl         AC_MSG_RESULT(no)])
-dnl      ],[
-dnl       AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
-dnl developement tools or remove the --enable-gnome option])
-dnl      ])
-dnl     CPPFLAGS="${CPPFLAGS_save}"
-dnl   fi])
-
-dnl
-dnl  Gnome2 module ! Disabled for know as it is unuseable and confuses users
-dnl
-dnl AC_ARG_ENABLE(gnome2,
-dnl   [  --enable-gnome2         Gnome2 support (default disabled)])
-dnl if test "${enable_gnome2}" = "yes"
-dnl then
-dnl   PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
-dnl   VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
-dnl   VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
-dnl   VLC_ADD_PLUGIN([gnome2])
-dnl   if test "${SYS}" != "mingw32"; then
-dnl     NEED_GNOME2_MAIN=yes
-dnl   fi
-dnl fi
-
-dnl
-dnl  wxWidgets module
-dnl
-AC_ARG_ENABLE(wxwidgets,
-  [  --enable-wxwidgets      wxWidgets support (default disabled)])
-
-if test "${enable_wxwidgets}" = "yes"
-then
-  AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
-  WXWIDGETS_PATH="${PATH}"
-  AC_ARG_WITH(wx-config-path,
-    [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
-    [ if test "${with_wx_config_path}" != "no"
-      then
-        WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
-      fi ])
-  WXWIDGETS_NAME="wx-config"
-  AC_ARG_WITH(wx-config,
-    [    --with-wx-config=NAME      wx-config name (default is wx-config)],
-    [ if test "${with_wx_config}" != "no"
-      then
-        WXWIDGETS_NAME="${with_wx_config}"
-      fi ])
-  # look for wx-config
-  AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
-  if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
-  then
-    if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
-    then
-      AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
-    fi
-    AC_LANG_PUSH(C++)
-    # Turn this error:
-    #   playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
-    # into a warning. However better would be to fix playlist.cpp
-    AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
-        [ac_cv_cxx_fpermissive],
-        [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
-         AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
-                        ac_cv_cxx_fpermissive=no)])
-    if test "${ac_cv_cxx_fpermissive}" = "yes"; then
-      VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
-    fi
-    VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
-    VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
-    # check if we must link against gtk2 libs
-    # if __WXGTK20__ && __WXGTK__ are defined
-    # for modules/gui/wxwidgets/video.cpp
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
-#include <wx/wx.h>
-#ifdef __WXGTK20__
-#error ok, we need to link against gtk2
-#endif
-        ])],[WXGTK=no],[WXGTK=yes])
-    if test "$WXGTK" = "yes"; then
-      ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
-    fi
-    if ${WX_CONFIG} --unicode
-    then 
-      # wxwidgets should provide the following flags but does not
-      # the following is required to compile for win32
-      VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
-    else
-      AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
-    fi
-    if test "$have_libcdio" = "yes"
-    then 
-      VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
-      VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
-    else 
-      AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
-    fi
-
-    if test "$have_libvcdinfo" = "yes"
-    then 
-      VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
-      VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
-    else 
-      AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
-    fi
-
-    # now look for the wxprec.h header
-    CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
-    ac_cv_wx_headers=yes
-    AC_CHECK_HEADERS(wx/wxprec.h, , [
-      ac_cv_wx_headers=no
-      echo "Cannot find wxWidgets development headers."
-    ])
-    if test "${ac_cv_wx_headers}" = "yes"
-    then
-      VLC_ADD_PLUGIN([wxwidgets])
-      AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
-      ALIASES="${ALIASES} wxvlc"
-    fi
-    CPPFLAGS="${CPPFLAGS_save}"
-    AC_LANG_POP(C++)
-  fi
-  dnl WxWidgets plugin will yield incorrect code without this
-  VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
-fi
-
 dnl
 dnl QT 4
 dnl
-enableqt4=false
 AC_ARG_ENABLE(qt4,
-  [  --enable-qt4            QT 4 support (default enabled) ])
-AS_IF([test "${enable_qt4}" != "no" &&
-  (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
-  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
-    [ VLC_ADD_PLUGIN([qt4])
-      AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
-      ALIASES="${ALIASES} qvlc"
-      enableqt4=true
-      if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then
-          VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
-      else
-          VLC_ADD_LIBS([qt4],[$QT4_LIBS])
-      fi
-      VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
-      AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
-      AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
-      AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
-      ],
-      AS_IF([test "${enable_qt4}" = "yes"],[
-        AC_MSG_ERROR(QT4 library not found)
-      ],[
-        AC_MSG_WARN(QT4 library not found)
-      ])
-    )
+  [  --enable-qt4            QT 4 support (default enabled) ],, [
+  AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
+])
+AS_IF([test "${enable_qt4}" != "no"], [
+  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0], [
+    VLC_ADD_PLUGIN([qt4])
+    AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
+    ALIASES="${ALIASES} qvlc"
+    AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"], [
+        VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
+    ], [
+        VLC_ADD_LIBS([qt4],[$QT4_LIBS])
+    ])
+    VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
+    AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+    AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+    AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+  ], [
+    AS_IF([test "${enable_qt4}" = "yes"],[
+      AC_MSG_ERROR([Qt 4 library not found])
+    ],[
+      AC_MSG_WARN([Qt 4 library not found])
+    ])
+    enable_qt4="no"
+  ])
 ])
-AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
+AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
 
 dnl
 dnl  WinCE GUI module
@@ -5409,73 +4901,9 @@ fi
 dnl
 dnl Simple test for skins2 dependency
 dnl
-if test "${enable_skins2}" != "no"
-then
-  if test "${WX_CONFIG}" = "no"
-  then
-    AC_MSG_ERROR([The skins2 module depends on the wxWidgets development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWidgets development package or alternatively you can also configure with: --disable-wxwidgets --disable-skins2.])
-  fi
-fi
-
-dnl dnl
-dnl dnl  Qt module
-dnl dnl
-dnl AC_ARG_ENABLE(qt,
-dnl   [  --enable-qt             Qt interface support (default disabled)],
-dnl   [if test "${enable_qt}" = "yes"; then
-dnl      VLC_ADD_PLUGIN([qt])
-dnl      ALIASES="${ALIASES} qvlc"
-dnl      VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
-dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
-dnl      AC_CHECK_LIB(qt-mt,main,[
-dnl        VLC_ADD_LIBS([qt],[-lqt-mt])
-dnl      ],[
-dnl        AC_CHECK_LIB(qt,main,[
-dnl          VLC_ADD_LIBS([qt],[-lqt])
-dnl        ])
-dnl      ])
-dnl      LDFLAGS="${LDFLAGS_save}"
-dnl      VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
-dnl      if test -x ${QTDIR}/bin/moc
-dnl      then
-dnl        MOC=${QTDIR}/bin/moc
-dnl      else
-dnl        MOC=moc
-dnl      fi
-dnl    fi])
-dnl 
-dnl dnl
-dnl dnl  KDE module
-dnl dnl
-dnl AC_ARG_ENABLE(kde,
-dnl   [  --enable-kde            KDE interface support (default disabled)],
-dnl   [if test "${enable_kde}" = "yes"; then
-dnl      VLC_ADD_PLUGIN([kde])
-dnl      ALIASES="${ALIASES} kvlc"
-dnl      VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
-dnl      dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
-dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
-dnl      AC_CHECK_LIB(kfile,main,[
-dnl        VLC_ADD_LIBS([kde],[-lkfile])
-dnl      ])
-dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
-dnl      AC_CHECK_LIB(kdeui,main,[
-dnl        VLC_ADD_LIBS([kde],[-lkdeui])
-dnl      ])
-dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
-dnl      AC_CHECK_LIB(kio,main,[
-dnl        VLC_ADD_LIBS([kde],[-lkio])
-dnl      ])
-dnl      LDFLAGS="${LDFLAGS_save}"
-dnl      VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
-dnl      VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
-dnl      if test -x ${QTDIR}/bin/moc
-dnl      then
-dnl        MOC=${QTDIR}/bin/moc
-dnl      else
-dnl        MOC=moc
-dnl      fi
-dnl    fi])
+AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
+  AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.])
+])
 
 dnl
 dnl  Opie QT embedded module
@@ -5519,18 +4947,20 @@ AC_ARG_ENABLE(macosx,
 if test "x${enable_macosx}" = "xyes"
 then
 #  VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,Foundation])
-  VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
+  VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
   VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,Carbon])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,AGL])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,IOKit])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,QuickTime])
-  VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,QTKit])
+  VLC_ADD_LDFLAGS([macosx qtcapture],                 [-Wl,-framework,QTKit])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
-  VLC_ADD_LDFLAGS([opengllayer],                      [-Wl,-framework,QuartzCore])
+  VLC_ADD_LDFLAGS([opengllayer qtcapture],            [-Wl,-framework,QuartzCore])
+  VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreVideo])
   VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
 
 #  VLC_ADD_PLUGIN([access_eyetv])
+  VLC_ADD_PLUGIN([qtcapture])
   VLC_ADD_PLUGIN([macosx])
   VLC_ADD_PLUGIN([minimal_macosx])
  
@@ -5716,7 +5146,7 @@ dnl  AtmoLight (homebrew AmbiLight)
 dnl
 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
    AC_ARG_ENABLE(atmo,
-[  --disable-atmo      AtmoLight (homebrew philips ambilight) (default enabled)])
+[  --disable-atmo          AtmoLight (homebrew philips ambilight) (default enabled)])
    if test "${enable_atmo}" != "no"; then
       AC_LANG_PUSH(C++)
       VLC_ADD_PLUGIN([atmo])
@@ -5764,33 +5194,15 @@ dnl libgcrypt
 dnl
 AC_ARG_ENABLE(libgcrypt,
   [  --enable-libgcrypt      libgcrypts support (default enabled)])
-
-GCRYPT_PATH="${PATH}"
-AC_ARG_WITH(libgcrypt-config-path,
-[    --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)],
-   [ if test "${with_libgcrypt_config_path}" != "no"
-     then
-       GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}"
-     fi ])
-
-if test "${enable_libgcrypt}" != "no"
-then
-  dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
-  dnl it and looks for libgcrypt headers in the wrong place.
-  if test "${host_cpu}" = "${build_cpu}"
-  then
-    AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
-  else
-    AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
-  fi
+AS_IF([test "${enable_libgcrypt}" != "no"], [
+  AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
+])
+if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
+  AS_IF([test "${have_libgcrypt}" = "yes"],[
+    VLC_ADD_LIBS([rtp stream_out_rtp], [${LIBGCRYPT_LIBS}])
+  ])
 fi
 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
-AS_IF([test "${have_libgcrypt}" = "yes"],[
-       # look for libgcrypt-config
-       AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH})
-       GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags`
-       GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs`
-])
 
 dnl
 dnl TLS/SSL
@@ -5807,10 +5219,11 @@ AS_IF([test "${enable_gnutls}" != "no"], [
       VLC_ADD_LIBS([gnutls], [-lz])
       VLC_ADD_LIBS([gnutls], [${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})
-    ], [-lgpg-error])
+      VLC_ADD_LIBS([gnutls], [${LIBGCRYPT_LIBS}])
+      VLC_ADD_CFLAGS([gnutls], [${LIBGCRYPT_CFLAGS}])
+    ])
     VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
   ], [
     AS_IF([test "${enable_gnutls}" = "yes"], [
@@ -5819,6 +5232,24 @@ 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], ${LIBGCRYPT_LIBS})
+    VLC_ADD_CFLAGS([remoteosd], ${LIBGCRYPT_CFLAGS})
+  ], [
+    AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
+  ])
+])
+
+
 dnl
 dnl update checking system
 dnl
@@ -5830,69 +5261,21 @@ then
   then
     AC_MSG_ERROR([libgcrypt is required for update checking system])
   fi
-  VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS})
-  VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS})
+  VLC_ADD_LIBS([libvlc], [${LIBGCRYPT_LIBS}])
+  VLC_ADD_CFLAGS([libvlc], [${LIBGCRYPT_CFLAGS}])
   AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
 fi
 
 dnl
-dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
+dnl  Endianness check
 dnl
-dnl  We give the user the opportunity to specify
-dnl  --with-words=big or --with-words=little ; otherwise, try to guess
-dnl
-AC_ARG_WITH(words,
-  [    --with-words=endianness set endianness (big or little)])
-  case "${with_words}" in
-    big)
-      ac_cv_c_bigendian=yes
-      ;;
-    little)
-      ac_cv_c_bigendian=no
-      ;;
-    *)
-      dnl  Try to guess endianness by matching patterns on a compiled
-      dnl  binary, by looking for an ASCII or EBCDIC string
-      AC_CACHE_CHECK([whether the byte order is big-endian],
-        [ac_cv_c_bigendian],
-        [ac_cv_c_bigendian="unknown"
-        [cat >conftest.c <<EOF
-        short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
-        short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
-        void _a(void) { char*s = (char*)am; s = (char *)ai; }
-        short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
-        short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
-        void _e(void) { char*s = (char*)em; s = (char*)ei; }
-        int main(void) { _a(); _e(); return 0; }
-EOF
-        ]
-        if test -f conftest.c
-        then
-          if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
-              && test -f conftest.o
-          then
-            if test "`strings conftest.o | grep BIGenDianSyS`"
-            then
-              ac_cv_c_bigendian="yes"
-            fi
-            if test "`strings conftest.o | grep LiTTleEnDian`"
-            then
-              ac_cv_c_bigendian="no"
-            fi
-          fi
-        fi
-      ])
-      if test "${ac_cv_c_bigendian}" = "unknown"
-      then
-        AC_MSG_ERROR([Could not guess endianness, please use --with-words])
-      fi
-      ;;
-  esac
-dnl  Now we know what to use for endianness, just put it in the header
-if test "${ac_cv_c_bigendian}" = "yes"
-then
-  AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
-fi
+AC_C_BIGENDIAN
+AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
+  DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
+], [
+  DEFS_BIGENDIAN=""
+])
+AC_SUBST(DEFS_BIGENDIAN)
 
 dnl
 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
@@ -5909,6 +5292,8 @@ AS_IF([test "${enable_loader}" = "yes"],
     VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
     VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
     VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
+    VLC_ADD_CPPFLAGS([realvideo],[-I../../@top_srcdir@/libs/loader -DLOADER])
+    VLC_ADD_LIBS([realvideo],[../../libs/loader/libloader.la])
   ])
 
 AC_ARG_WITH(,[Components:])
@@ -5949,13 +5334,13 @@ then
           AC_CHECK_HEADERS(objsafe.h,
             VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
             [
-            #if HAVE_OLE2_H
+             #if HAVE_OLE2_H
              #   include <ole2.h>
              #endif
-            ]
+            ]
           )
           activex=:
-         PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
+          PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
         ],
         [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
       )],
@@ -6376,9 +5761,9 @@ AC_CONFIG_FILES([
   modules/audio_mixer/Makefile
   modules/audio_output/Makefile
   modules/codec/Makefile
+  modules/codec/avcodec/Makefile
   modules/codec/cmml/Makefile
   modules/codec/dmo/Makefile
-  modules/codec/ffmpeg/Makefile
   modules/codec/subtitles/Makefile
   modules/codec/spudec/Makefile
   modules/codec/xvmc/Makefile
@@ -6386,6 +5771,7 @@ AC_CONFIG_FILES([
   modules/control/http/Makefile
   modules/demux/Makefile
   modules/demux/asf/Makefile
+  modules/demux/avformat/Makefile
   modules/demux/avi/Makefile
   modules/demux/mp4/Makefile
   modules/demux/mpeg/Makefile
@@ -6398,7 +5784,6 @@ AC_CONFIG_FILES([
   modules/gui/qnx/Makefile
   modules/gui/qt4/Makefile
   modules/gui/skins2/Makefile
-  modules/gui/wxwidgets/Makefile
   modules/gui/wince/Makefile
   modules/meta_engine/Makefile
   modules/misc/Makefile
@@ -6409,11 +5794,11 @@ AC_CONFIG_FILES([
   modules/misc/testsuite/Makefile
   modules/misc/playlist/Makefile
   modules/misc/osd/Makefile
+  modules/misc/stats/Makefile
   modules/misc/xml/Makefile
   modules/misc/probe/Makefile
   modules/mux/Makefile
   modules/mux/mpeg/Makefile
-  modules/mux/rtp/Makefile
   modules/packetizer/Makefile
   modules/services_discovery/Makefile
   modules/stream_out/Makefile
@@ -6439,11 +5824,8 @@ AC_OUTPUT
 ${SHELL} ./config.status --file=vlc-config
 chmod 0755 vlc-config
 
-dnl echo "Enabled builtin modules :"
-dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
-
-dnl echo "Enabled plugin modules :"
-dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
+/bin/echo -n "Enabled modules :"
+./vlc-config --list plugin
 
 dnl Shortcut to nice compile message
 rm -f compile
@@ -6478,8 +5860,6 @@ echo "build vlc executable  : no"
 fi
 echo "plugins/bindings      :${PLUGINS_BINDINGS}
 
-You can check which modules have been enabled 
-with \`./vlc-config --list plugin'.
 You can tune the compiler flags in vlc-config.
 To build vlc and its plugins, type \`./compile' or \`make'.
 "