]> git.sesse.net Git - vlc/blobdiff - configure.ac
* src/misc/variables.c: Implemented inheritance for variables of type list.
[vlc] / configure.ac
index a90335e045d50429f6126e99f006557be9965f9f..e6b2bf24c96fcc5cc5c4beccd290b1bf365b404f 100644 (file)
@@ -1,10 +1,10 @@
 dnl Autoconf settings for vlc
 dnl $Id$
  
-AC_INIT(vlc,0.7.3-svn)
+AC_INIT(vlc,0.8.0-test2)
 
 CONFIGURE_LINE="$0 $*"
-CODENAME="Bond"
+CODENAME="Janus"
 
 AC_PREREQ(2.50)
 AC_CONFIG_SRCDIR(src/libvlc.c)
@@ -13,7 +13,7 @@ AC_CANONICAL_SYSTEM
 
 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
 dnl them. And we need the comma otherwize automake will choke on it.
-AM_INIT_AUTOMAKE(vlc,0.7.3-svn)
+AM_INIT_AUTOMAKE(vlc,0.8.0-test2)
 AM_CONFIG_HEADER(config.h)
 
 dnl
@@ -122,7 +122,7 @@ case "${target_os}" in
     CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
     OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
-    VLC_ADD_LDFLAGS([vlc ffmpeg],[-all_load])
+    VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
     VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
     VLC_ADD_CFLAGS([libvlc],[-x objective-c])
     VLC_ADD_CFLAGS([vlc],[-x objective-c])
@@ -174,6 +174,7 @@ case "${target_os}" in
     VLC_ADD_CXXFLAGS([beos],[])
     VLC_ADD_LDFLAGS([vlc beos],[-lbe])
     VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
+    VLC_ADD_LDFLAGS([access_file access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
 
     dnl Ugly check for Zeta
     if test -f /boot/beos/system/lib/libzeta.so; then
@@ -216,6 +217,12 @@ then
             Define if you want utf8 support)
 fi
 
+dnl
+dnl Iconv stuff
+dnl
+VLC_ADD_CFLAGS([vlc],[${INCICONV}])
+VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
+
 dnl Check for the need to include the mingwex lib for mingw32
 if test "${SYS}" = "mingw32"
 then
@@ -290,7 +297,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd
 dnl Check for system libs needed
 need_libc=false
 
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf)
+AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon)
 
 dnl Check for usual libc functions
 AC_CHECK_FUNCS(strdup strndup atof lseek)
@@ -437,10 +444,10 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 if test "${SYS}" != "mingw32"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
-  VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32],[-lm])
+  VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  VLC_ADD_LDFLAGS([ffmpeg stream_out_transcode stream_out_transrate i420_rgb faad toolame equalizer vlc],[-lm])
+  VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad toolame equalizer vlc],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   VLC_ADD_LDFLAGS([headphone_channel_mixer normvol],[-lm])
@@ -668,6 +675,13 @@ if test "${x_libraries}" = "NONE"; then
   x_libraries="/usr/X11R6/lib"
 fi
 
+dnl Check for hal
+PKG_CHECK_MODULES(HAL, hal >= 0.2.97,
+  [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
+   VLC_ADD_LDFLAGS([vlc],[$HAL_LIBS])
+   VLC_ADD_CFLAGS([vlc],[$HAL_CFLAGS])],
+  [AC_MSG_WARN(HAL library not found)])
+
 dnl Build the gtk_main plugins?
 NEED_GTK_MAIN=no
 NEED_GNOME_MAIN=no
@@ -929,19 +943,19 @@ test "${enable_cprof}" != "yes" && enable_cprof="no"
 dnl
 dnl  default modules
 dnl
-VLC_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys netsync])
-VLC_ADD_PLUGINS([mpgv mpga m4v h264 ps pva avi asf aac mp4 rawdv nsv real aiff mjpeg demuxdump])
-VLC_ADD_PLUGINS([cvdsub svcdsub spudec dvbsub mpeg_audio lpcm a52 dts cinepak])
+VLC_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys netsync showintf])
+VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf aac mp4 rawdv nsv real aiff mjpeg demuxdump])
+VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak])
 VLC_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
-VLC_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32])
+VLC_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32 audio_format])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler])
-VLC_ADD_PLUGINS([trivial_channel_mixer headphone_channel_mixer])
+VLC_ADD_PLUGINS([trivial_channel_mixer simple_channel_mixer headphone_channel_mixer])
 VLC_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer])
 VLC_ADD_PLUGINS([aout_file equalizer])
 VLC_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga])
 VLC_ADD_PLUGINS([m3u id3 playlist export sgimb])
-VLC_ADD_PLUGINS([rawvideo blend])
-VLC_ADD_PLUGINS([wav araw subtitle adpcm a52sys dtssys au])
+VLC_ADD_PLUGINS([rawvideo blend scale time marq])
+VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au])
 VLC_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms])
 VLC_ADD_PLUGINS([access_ftp access_directory sap http])
 
@@ -1167,13 +1181,32 @@ then
   VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
   VLC_ADD_PLUGINS([packetizer_copy])
 
-  VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp])
-  VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display])
+  VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
+  VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode])
 #  VLC_ADD_PLUGINS([stream_out_transrate])
 
-  dnl Ogg and vorbis are handled in their respective section
+  AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
+fi
+
+dnl
+dnl HTTP daemon
+dnl
+AC_ARG_ENABLE(httpd,
+  [  --enable-httpd          HTTP daemon (default enabled)])
+if test "${enable_httpd}" != "no"
+then
+  AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
 fi
 
+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
 
 dnl
 dnl  Input plugins
@@ -1479,46 +1512,46 @@ then
   VLC_ADD_PLUGINS([pvr])
 fi
 
-dnl dnl
-dnl dnl  VCDX and CDDAX modules
-dnl dnl
-dnl AC_ARG_ENABLE(libcdio,
-dnl   [  --enable-libcdio        CDDA support via libcdio (default enabled)])
-dnl 
-dnl AC_ARG_ENABLE(libcddb,
-dnl   [  --enable-libcddb        CDDB support for CDDAX (default enabled)])
-dnl 
+dnl
+dnl  VCDX and CDDAX modules
+dnl
+AC_ARG_ENABLE(libcdio,
+  [  --enable-libcdio        CDDA support via libcdio (default enabled)])
+AC_ARG_ENABLE(libcddb,
+  [  --enable-libcddb        CDDB support for CDDAX (default enabled)])
 dnl AC_ARG_ENABLE(vcdx,
 dnl   [  --enable-vcdx           VCD support with Navigation (default enabled)])
-dnl 
-dnl AC_ARG_ENABLE(cdda,           
-dnl   [  --enable-cdda           CDDA plugin support (default enabled)])
-dnl 
-dnl AC_ARG_ENABLE(cddax,
-dnl   [  --enable-cddax          CDDAX plugin support (default enabled)])
-dnl 
-dnl if test "${enable_cddax}" != "no"
-dnl then
-dnl   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.65,
-dnl    [enable_cddax="no"
-dnl     AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio])
-dnl     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
-dnl     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
-dnl     VLC_ADD_PLUGINS([cddax])], 
-dnl    [AC_MSG_WARN(libcdio library not found)
-dnl    HAVE_CDDAX=no])
-dnl 
-dnl   if test "$enable_libcddb" != "no"; then
-dnl     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.4, [
-dnl       HAVE_LIBCDDB=yes 
-dnl       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
-dnl       VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
-dnl       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
-dnl       ],
-dnl       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
-dnl       HAVE_LIBCDDB=no])
-dnl   fi
-dnl 
+AC_ARG_ENABLE(cdda,           
+  [  --enable-cdda           CDDA plugin support (default enabled)])
+AC_ARG_ENABLE(cddax,
+  [  --enable-cddax          CDDAX plugin support (default enabled)])
+if test "${enable_cddax}" != "no"
+then
+  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.70,
+   [enable_cddax="no"
+    AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio])
+    VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
+    VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
+    VLC_ADD_PLUGINS([cddax])], 
+    [AC_MSG_WARN(libcdio library not found)
+    HAVE_CDDAX=no])
+
+  if test "$enable_libcddb" != "no"; then
+    PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.4, [
+      HAVE_LIBCDDB=yes 
+      AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
+      VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
+      VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
+      ],
+      [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
+      HAVE_LIBCDDB=no])
+  fi
 dnl   if test "${enable_vcdx}" != "no"
 dnl   then
 dnl     PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20,
@@ -1531,7 +1564,7 @@ dnl       VLC_ADD_PLUGINS([vcdx])],
 dnl      [AC_MSG_WARN(vcdinfo library not found)
 dnl      HAVE_VCDX=no])
 dnl   fi
-dnl fi
+fi
 
 dnl
 dnl  VCD module
@@ -1616,7 +1649,7 @@ dnl
 dnl  Screen capture module
 dnl
 AC_ARG_ENABLE(screen,
-  [  --enable-screen            Screen capture support (default enabled)])
+  [  --enable-screen         Screen capture support (default enabled)])
 if test "${enable_screen}" != "no"; then
   if test "${SYS}" = "darwin"; then
     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
@@ -1811,27 +1844,30 @@ then
   then
     AC_CHECK_HEADERS(ffmpeg/avcodec.h)
     AC_CHECK_HEADERS(postproc/postprocess.h)
-    VLC_ADD_PLUGINS([ffmpeg stream_out_transcode])
-    VLC_ADD_CFLAGS([ffmpeg stream_out_transcode],[`${FFMPEG_CONFIG} --cflags`])
+    VLC_ADD_PLUGINS([ffmpeg])
+    VLC_ADD_CFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --cflags`])
     VLC_ADD_LDFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
-    VLC_ADD_LDFLAGS([stream_out_transcode],[`${FFMPEG_CONFIG} --libs avcodec`])
   else
     AC_ARG_WITH(ffmpeg-mp3lame,
       [    --with-ffmpeg-mp3lame   if ffmpeg has been compiled with mp3lame support],
       [
-        dnl  XXX: we don't link with -lavcodec a 2nd time because the OS X
-        dnl       linker would miserably barf on multiple definitions.
-        VLC_ADD_LDFLAGS([stream_out_transcode],[])
         VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
 
     AC_ARG_WITH(ffmpeg-faac,
       [    --with-ffmpeg-faac      if ffmpeg has been compiled with faac support],
       [
-        dnl  XXX: we don't link with -lavcodec a 2nd time because the OS X
-        dnl       linker would miserably barf on multiple definitions.
-        VLC_ADD_LDFLAGS([stream_out_transcode],[])
         VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
 
+    AC_ARG_WITH(ffmpeg-dts,
+      [    --with-ffmpeg-dts   if ffmpeg has been compiled with dts support],
+      [
+        VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
+
+    AC_ARG_WITH(ffmpeg-zlib,
+      [    --with-ffmpeg-zlib   if ffmpeg has been compiled with zlib support],
+      [
+        VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ])
+
     AC_ARG_WITH(ffmpeg-tree,
       [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
 
@@ -1844,11 +1880,8 @@ then
       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
       AC_CHECK_LIB(avcodec, avcodec_init, [
-        VLC_ADD_BUILTINS([ffmpeg stream_out_transcode])
-        VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
-        dnl  XXX: we don't link with -lavcodec a 2nd time because the OS X
-        dnl       linker would miserably barf on multiple definitions.
-        VLC_ADD_LDFLAGS([stream_out_transcode],[]) ],
+        VLC_ADD_BUILTINS([ffmpeg])
+        VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])],
          [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ])
       AC_CHECK_LIB(avformat, av_open_input_stream, [
         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
@@ -1881,20 +1914,86 @@ then
       fi
       dnl  Use a custom libffmpeg
       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
-      VLC_ADD_BUILTINS([ffmpeg stream_out_transcode])
-      VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec -lavcodec])
-      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
+
+      if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
+        if test "${with_ffmpeg_zlib}" != "yes"; then
+          VLC_ADD_LDFLAGS([ffmpeg],[-lz])
+        fi
+      fi
+      if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
+        if test "${with_ffmpeg_mp3lame}" != "yes"; then
+          VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
+        fi
+      fi
+      if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
+        if test "${with_ffmpeg_faac}" != "yes"; then
+          VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
+        fi
+      fi
+      if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
+        if test "${with_ffmpeg_dts}" != "yes"; then
+          VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
+        fi
+      fi
+      if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
+      fi
+      if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
+      fi
+      if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
+      fi
+
+      VLC_ADD_BUILTINS([ffmpeg])
+      VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
+      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec])
 
       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
-        VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
+        VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
         VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
       fi
+    fi
+  fi
+fi
 
-      dnl  XXX: we don't link with -lavcodec a 2nd time because the OS X
-      dnl       linker would miserably barf on multiple definitions.
-      VLC_ADD_LDFLAGS([stream_out_transcode],[-L${real_ffmpeg_tree}/libavcodec])
-      VLC_ADD_CPPFLAGS([stream_out_transcode],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
+dnl
+dnl  ffmpeg decoder/demuxer plugin
+dnl
+AC_ARG_ENABLE(ffmpegaltivec,
+[  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
+if test "${enable_ffmpegaltivec}" == "yes"
+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-pp
+      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-pp])
+    fi
+    dnl  Use a custom libffmpeg
+    AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
+    VLC_ADD_BUILTINS([ffmpegaltivec])
+    VLC_ADD_LDFLAGS([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, 1, [Define if you have ffmpeg's libavformat.])
+      VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
+      VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
     fi
   fi
 fi
@@ -1951,7 +2050,7 @@ dnl
 dnl toolame encoder plugin
 dnl
 AC_ARG_ENABLE(toolame,
-[  --enable-toolame         toolame codec (default disabled)])
+[  --enable-toolame        toolame codec (default disabled)])
 if test "${enable_toolame}" = "yes"
 then
   AC_ARG_WITH(toolame-tree,
@@ -2067,7 +2166,7 @@ dnl
 dnl MP4 module
 dnl
 AC_CHECK_HEADERS(zlib.h, [
-  VLC_ADD_LDFLAGS([mp4 skins skins2 sap],[-lz])
+  VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
 ] )
 
 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
@@ -2075,10 +2174,10 @@ AC_CHECK_HEADERS(sysfs/libsysfs.h, [
 ] )
 
 dnl
-dnl skins module
+dnl skins2 module
 dnl
 AC_CHECK_HEADERS(libtar.h, [
-  VLC_ADD_LDFLAGS([skins skins2],[-ltar])
+  VLC_ADD_LDFLAGS([skins2],[-ltar])
 ] )
 
 
@@ -2401,11 +2500,56 @@ You also need to check that you have a libogg posterior to the 1.0 release.])],
 fi
 
 dnl
-dnl   subsdec support
+dnl H264 encoder plugin (using libx264)
 dnl
-VLC_ADD_LDFLAGS([subsdec],[${LIBICONV}])
-VLC_ADD_CPPFLAGS([subsdec],[${INCICONV}])
-VLC_ADD_PLUGINS([subsdec])
+AC_ARG_ENABLE(x264,
+  [  --enable-x264           H264 encoding support with libx264 (default enabled)])
+if test "${enable_x264}" != "no"; then
+  AC_ARG_WITH(x264-tree,
+    [    --with-x264-tree=PATH  x264 tree for static linking ],[],[])
+  if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
+  then
+    real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
+    if test -z "${real_x264_tree}"
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
+    fi
+    dnl  Use a custom libx264
+    AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
+    if test -f ${real_x264_tree}/x264.h
+    then
+      AC_MSG_RESULT(yes)
+      VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
+      VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
+      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
+      AC_CHECK_LIB(x264, x264_encoder_open, [
+        VLC_ADD_BUILTINS([x264])
+        VLC_ADD_LDFLAGS([x264],[-lx264])
+      ],[
+        AC_MSG_ERROR([the specified tree hasn't been compiled])
+      ])
+      LDFLAGS="${LDFLAGS_save}"
+    else
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([the specified tree doesn't have x264.h])
+    fi
+  else
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
+    AC_CHECK_HEADERS(x264.h, [
+      AC_CHECK_LIB(x264, x264_encoder_open, [
+        VLC_ADD_PLUGINS([x264])
+        VLC_ADD_LDFLAGS([x264],[-lx264])
+      ],[
+        if test "${enable_x264}" = "yes"; then
+            AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
+          fi
+      ])
+    ])
+    LDFLAGS="${LDFLAGS_save}"
+  fi
+fi
 
 dnl
 dnl  CMML plugin
@@ -2432,7 +2576,8 @@ AC_CHECK_HEADERS(png.h, [
     VLC_ADD_PLUGINS([logo])
     VLC_ADD_LDFLAGS([svcdsub],[-lpng -lz])
     VLC_ADD_LDFLAGS([cvdsub],[-lpng -lz -lm])
-    AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])])
+    AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
+    [],[-lz])
   ])
   LDFLAGS="${LDFLAGS_save}"
 
@@ -2566,7 +2711,7 @@ dnl  OpenGL module
 dnl  (enabled by default except on beos)
 dnl
 AC_ARG_ENABLE(opengl,
-  [  --enable-opengl            OpenGL support (default enabled)])
+  [  --enable-opengl         OpenGL support (default enabled)])
 if test "${enable_opengl}" != "no" && test "${SYS}" != "beos"; then
   if test "${SYS}" != "darwin"; then
     AC_CHECK_HEADERS(GL/gl.h, [
@@ -2672,8 +2817,8 @@ then
   if test "${FREETYPE_CONFIG}" != "no"
   then
     VLC_ADD_PLUGINS([freetype])
-    VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags` ${INCICONV}])
-    VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs` ${LIBICONV}])
+    VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
+    VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
     AC_CHECK_HEADERS(Carbon/Carbon.h,
       [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
   elif test "${enable_freetype}" =  "yes"
@@ -2988,6 +3133,22 @@ AC_ARG_ENABLE(esd,
      fi
    fi])
 
+dnl
+dnl  Portaudio module
+dnl
+AC_ARG_ENABLE(portaudio,
+  [  --enable-portaudio      Portaudio library support (default disabled)],
+  [if test "${enable_portaudio}" = "yes"
+   then
+     VLC_ADD_PLUGINS([portaudio])
+     VLC_ADD_CXXFLAGS([portaudio],[])
+     if test "${SYS}" = "mingw32"; then
+        VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
+     else
+        VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
+     fi
+   fi])
+
 dnl
 dnl  aRts module
 dnl
@@ -3008,8 +3169,8 @@ dnl
 dnl  ALSA module
 dnl
 AC_ARG_ENABLE(alsa,
-  [  --enable-alsa           ALSA sound support for Linux (default disabled)],
-  [if test "${enable_alsa}" = "yes"
+  [  --enable-alsa           ALSA sound support for Linux (default enabled)],
+  [if test "${enable_alsa}" != "no"
    then
      AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
      if test "${have_alsa}" = "true"
@@ -3022,7 +3183,9 @@ AC_ARG_ENABLE(alsa,
        VLC_ADD_PLUGINS([alsa])
        VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
      else
-       AC_MSG_ERROR([Could not find ALSA development headers])
+       if test "${enable_alsa}" = "yes"; then
+         AC_MSG_ERROR([Could not find ALSA development headers])
+       fi
      fi
    fi])
 
@@ -3085,29 +3248,6 @@ then
     VLC_ADD_BUILTINS([beos])
 fi
 
-dnl
-dnl Skins module
-dnl
-AC_ARG_ENABLE(skins,
-  [  --enable-skins          Skins interface module (default enabled on Win32)])
-if test "${enable_skins}" != "no"; then
-  if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
-
-    VLC_ADD_PLUGINS([skins])
-    ALIASES="${ALIASES} svlc"
-    VLC_ADD_CPPFLAGS([skins],[-U_OFF_T_ -U_off_t -Imodules/gui/skins])
-    VLC_ADD_CXXFLAGS([skins],[-O2 -fno-rtti])
-    VLC_ADD_LDFLAGS([skins],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
-
-  else if test "${enable_skins}" = "yes"; then
-    VLC_ADD_PLUGINS([skins])
-    ALIASES="${ALIASES} svlc"
-    VLC_ADD_CPPFLAGS([skins],[-Imodules/gui/skins -I${x_includes} -I/usr/include/freetype2 -DX11_SKINS])
-    VLC_ADD_CXXFLAGS([skins],[-O2 -fno-rtti])
-    VLC_ADD_LDFLAGS([skins],[-L${x_libraries} -lImlib2 -lXext -lX11 -lfreetype -lpng -lz ])
-  fi fi
-fi
-
 dnl
 dnl Skins2 module
 dnl
@@ -3121,7 +3261,7 @@ if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}
   dnl freetype
   if test "${FREETYPE_CONFIG}" != "no"; then
     VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
-    VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
+    VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs` -lpng])
   else
     skins2_missing_lib="yes"
     if test "${enable_skins2}" = "yes"; then
@@ -3129,17 +3269,6 @@ if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}
     fi
   fi
 
-  dnl iconv
-  if test "$am_cv_func_iconv" = "yes"; then
-    VLC_ADD_CPPFLAGS([skins2],[${INCICONV}])
-    VLC_ADD_LDFLAGS([skins2],[${LIBICONV} -lpng])
-  else
-    skins2_missing_lib="yes"
-    if test "${enable_skins2}" = "yes"; then
-      AC_MSG_ERROR([Could not find iconv (required for skins2)])
-    fi
-  fi
-
   dnl libxml2
   XML2_PATH="${PATH}"
   AC_ARG_WITH(xml2-config-path,
@@ -4009,7 +4138,6 @@ AC_CONFIG_FILES([
   modules/codec/cmml/Makefile
   modules/codec/dmo/Makefile
   modules/codec/ffmpeg/Makefile
-  modules/codec/ffmpeg/postprocessing/Makefile
   modules/codec/ogt/Makefile
   modules/codec/spudec/Makefile
   modules/control/Makefile
@@ -4030,7 +4158,6 @@ AC_CONFIG_FILES([
   modules/gui/macosx/Makefile
   modules/gui/qnx/Makefile
   modules/gui/qt/Makefile
-  modules/gui/skins/Makefile
   modules/gui/skins2/Makefile
   modules/gui/wxwindows/Makefile
   modules/misc/Makefile
@@ -4046,6 +4173,7 @@ AC_CONFIG_FILES([
   modules/stream_out/transrate/Makefile
   modules/video_chroma/Makefile
   modules/video_filter/Makefile
+  modules/video_filter/swscale/Makefile
   modules/video_output/Makefile
   modules/video_output/directx/Makefile
   modules/video_output/qte/Makefile