]> git.sesse.net Git - vlc/blobdiff - configure.ac
SRTP: try to fix dependent libraries
[vlc] / configure.ac
index 056f89fff28353706d81dacede6cec96845bfc91..0fccd73c7ea28cddcf9313135f2d2c7d1fb5c930 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)])
@@ -313,7 +313,7 @@ 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 access_output_rtmp 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],[-lws2_32])
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
@@ -645,7 +645,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 +730,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 +861,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 +880,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 +902,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,16 +1015,6 @@ if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
 fi
 
-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],
@@ -1085,20 +1024,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],
@@ -1137,6 +1062,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
@@ -1151,6 +1080,7 @@ dnl
 dnl  default modules
 dnl
 VLC_ADD_PLUGIN([dummy])
+VLC_ADD_PLUGIN([stats])
 VLC_ADD_PLUGIN([logger])
 VLC_ADD_PLUGIN([memcpy])
 dnl Demuxers:
@@ -1320,6 +1250,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])
@@ -2406,8 +2337,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],[],[])
@@ -2454,7 +2385,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
@@ -2464,9 +2395,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
@@ -2649,9 +2580,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],[],[])
@@ -2988,102 +2919,137 @@ 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
+dnl  avformat demuxer/muxer plugin
+dnl
 
-dnl Trying with pkg-config
-   PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
+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} ${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}]) 
-       ])
-     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])],
-         [AC_CHECK_LIB(avcodec,img_resample,[],
-            [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled, or install the swscale headers.])],
-         [${FFMPEG_LIBS}])
-         ],
-         [${SWSCALE_LIBS}])
-    ],[AC_CHECK_LIB(avcodec,img_resample,[],
-        [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled, or install the swscale headers.])],
-        [${FFMPEG_LIBS}])
-      ]
-    )
-    VLC_RESTORE_FLAGS
+      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
-    dnl last chance: at the default place
-    dnl
+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_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])
+      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
 
-      AC_CHECK_LIB(swscale, sws_getContext, [
-        AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
-        VLC_ADD_LIBS([ffmpeg],[-lswscale]) ],
-        [AC_CHECK_LIB(avcodec,img_resample,[],
-            [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled, or install the swscale headers.])],
-        [-lavcodec $LDAVUTIL])
-      ],
-      [${SWSCALE_LIBS}])
+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_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  postproc plugin
+dnl
+
+AC_ARG_ENABLE(postproc,
+[  --enable-postproc   libpostproc image post-processing (default enabled)])
+if test "${enable_postproc}" != "no"
+then
+  PKG_CHECK_MODULES(POSTPROC,[libpostproc],
+    [
+      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
 
@@ -3203,9 +3169,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
@@ -3786,7 +3753,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]) ],[
@@ -4254,29 +4221,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
@@ -4609,7 +4553,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
@@ -4881,75 +4825,6 @@ if test "${enable_skins2}" = "yes" ||
 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
-
 dnl
 dnl  PDA Gtk+2 module
 dnl
@@ -4972,56 +4847,6 @@ then
 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
@@ -5186,66 +5011,6 @@ then
   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])
-
 dnl
 dnl  Opie QT embedded module
 dnl
@@ -5632,6 +5397,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:])
@@ -6132,6 +5899,7 @@ 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
@@ -6162,11 +5930,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
@@ -6201,8 +5966,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'.
 "