]> git.sesse.net Git - vlc/blobdiff - configure.ac
* Update the docs
[vlc] / configure.ac
index 2dd0afd316f375949d4eae65a946040cf731f622..7e7c49cc21abafda98bac9c20073d38bd86756b1 100644 (file)
@@ -53,7 +53,6 @@ AC_CHECK_TOOL(RANLIB, ranlib, :)
 AC_CHECK_TOOL(STRIP, strip, :)
 AC_CHECK_TOOL(AR, ar, :)
 AC_CHECK_TOOL(LD, ld, :)
-AC_CHECK_TOOL(UPX, upx, "")
 
 dnl Sam, if you think I didn't see that... --Meuuh
 dnl AM_PROG_LIBTOOL
@@ -123,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])
@@ -438,10 +437,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 equalizer vlc],[-lm])
+  VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transcode stream_out_transcodealtivec stream_out_transrate i420_rgb faad toolame equalizer vlc],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   VLC_ADD_LDFLAGS([headphone_channel_mixer normvol],[-lm])
@@ -669,6 +668,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
@@ -689,17 +695,6 @@ if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
     AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
 fi
 
-dnl Check for inline function size limit
-AC_CACHE_CHECK([if \$CC accepts -finline-limit],
-    [ac_cv_c_inline_limit],
-    [CFLAGS="${CFLAGS_save} -finline-limit-30000"
-     AC_TRY_COMPILE([],,ac_cv_c_inline_limit=yes, ac_cv_c_inline_limit=no)])
-if test "${ac_cv_c_inline_limit}" != "no"; then
-    CFLAGS_save="${CFLAGS_save} -finline-limit-30000"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="${CXXFLAGS_save} -finline-limit-30000"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -finline-limit-30000"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
-
 # XXX: do this with an M4 macro?
 #dnl Check for various -W flags
 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
@@ -952,7 +947,7 @@ 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])
+VLC_ADD_PLUGINS([rawvideo blend])
 VLC_ADD_PLUGINS([wav araw subtitle 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])
@@ -1065,13 +1060,14 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
      AC_TRY_COMPILE([],
        [vec_ld(0, (unsigned char *)0);],
        [ac_cv_c_altivec="-faltivec"],
-       [# Linux/PPC test
+       [# Linux/PPC test (no flags)
         CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec"
         AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
                         #include <altivec.h>
                         #endif],
           [vec_ld(0, (unsigned char *)0);],
-          [ac_cv_c_altivec="-maltivec -mabi=altivec"],
+          [ac_cv_c_altivec=""
+           ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
           [# Linux/PPC test (old GCC versions)
            CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
            AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
@@ -1085,7 +1081,9 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
      CFLAGS="${CFLAGS_save}"])
 if test "${ac_cv_c_altivec}" != "no"; then
   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
-  VLC_ADD_CFLAGS([vlc idctaltivec motionaltivec memcpyaltivec deinterlace i420_yuy2_altivec],[${ac_cv_c_altivec}])
+  VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
+  VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
+  VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
 fi
 
@@ -1177,8 +1175,8 @@ then
   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])
-#  VLC_ADD_PLUGINS([stream_out_transrate stream_out_display])
+  VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display])
+#  VLC_ADD_PLUGINS([stream_out_transrate])
 
   dnl Ogg and vorbis are handled in their respective section
 fi
@@ -1339,6 +1337,11 @@ AC_ARG_ENABLE(dvdnav,
   [  --enable-dvdnav         dvdnav input module (default enabled)])
 if test "${enable_dvdnav}" != "no"
 then
+  dnl Same hack than dvdread
+  if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
+      VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
+  fi
+
   DVDNAV_PATH="${PATH}"
   AC_ARG_WITH(dvdnav-config-path,
     [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
@@ -1616,6 +1619,35 @@ then
   CPPFLAGS="${CPPFLAGS_save}"
 fi
 
+dnl
+dnl  Screen capture module
+dnl
+AC_ARG_ENABLE(screen,
+  [  --enable-screen            Screen capture support (default enabled)])
+if test "${enable_screen}" != "no"; then
+  if test "${SYS}" = "darwin"; then
+    AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
+      VLC_ADD_PLUGINS([screen])
+      VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
+    ])
+  elif test "${SYS}" = "mingw32"; then
+    VLC_ADD_PLUGINS([screen])
+    VLC_ADD_LDFLAGS([screen],[-lgdi32])
+  elif test "${SYS}" = "beos"; then
+    VLC_ADD_PLUGINS([screen])
+    VLC_ADD_CXXFLAGS([screen],[])
+    VLC_ADD_LDFLAGS([screen],[-lbe])
+  else
+    CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
+    AC_CHECK_HEADERS(X11/Xlib.h, [
+      VLC_ADD_PLUGINS([screen])
+      VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
+      VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
+    ])
+    CPPFLAGS="${CPPFLAGS_save}"
+  fi
+fi
+
 dnl
 dnl  ipv6 plugin - not for QNX yet
 dnl
@@ -1774,85 +1806,149 @@ AC_ARG_ENABLE(ffmpeg,
 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
 if test "${enable_ffmpeg}" != "no"
 then
-  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]) ])
+  FFMPEG_PATH="${PATH}"
+  AC_ARG_WITH(ffmpeg-config-path,
+    [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
+    [ if test "${with_ffmpeg_config_path}" != "no"
+      then
+        FFMPEG_PATH="${with_ffmpeg_config_path}:${PATH}"
+      fi ])
+  AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
+  if test "${FFMPEG_CONFIG}" != "no"
+  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_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-tree,
+      [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
+
+    dnl
+    dnl test for !(--with-ffmpeg-tree)
+    dnl
+    if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
+      CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
+      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
+      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],[]) ],
+         [ 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,
+        [Define if you have ffmpeg's libavformat.])
+        VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ])
+      LDFLAGS="${LDFLAGS_save}"
+      CPPFLAGS="${CPPFLAGS_save}"
+    fi
 
-  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]) ])
+    dnl
+    dnl test for --with-ffmpeg-tree
+    dnl
+    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
+        dnl  The given libavcodec wasn't built with --enable-pp
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.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/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])
 
-  AC_ARG_WITH(ffmpeg-tree,
-    [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
+      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_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
+      fi
 
-  dnl
-  dnl test for !(--with-ffmpeg-tree)
-  dnl
-  if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
-    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
-    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
-    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],[]) ],
-       [ 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,
-      [Define if you have ffmpeg's libavformat.])
-      VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ])
-    LDFLAGS="${LDFLAGS_save}"
-    CPPFLAGS="${CPPFLAGS_save}"
+      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])
+    fi
   fi
+fi
 
-  dnl
-  dnl test for --with-ffmpeg-tree
-  dnl
+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 libavcodec.a in ${with_ffmpeg_tree})
+    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/libavcodec.a"; then
-      dnl  The given libavcodec wasn't built
+    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/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
+      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/libavcodec.a"; then
-      dnl  The given libavcodec wasn't built with --enable-pp
+    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/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
+      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/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])
+    AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
+    VLC_ADD_BUILTINS([ffmpegaltivec stream_out_transcodealtivec])
+    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([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
-      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
+      VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
+      VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
     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])
+    VLC_ADD_LDFLAGS([stream_out_transcodealtivec],[-L${real_ffmpeg_tree}/libavcodec])
+    VLC_ADD_CPPFLAGS([stream_out_transcode],[-DNO_ALTIVEC_IN_FFMPEG])
+    VLC_ADD_CPPFLAGS([stream_out_transcodealtivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
   fi
 fi
 
@@ -1904,6 +2000,50 @@ then
   fi
 fi
 
+dnl
+dnl toolame encoder plugin
+dnl
+AC_ARG_ENABLE(toolame,
+[  --enable-toolame         toolame codec (default disabled)])
+if test "${enable_toolame}" = "yes"
+then
+  AC_ARG_WITH(toolame-tree,
+  [    --with-toolame-tree=PATH toolame tree for static linking])
+  if test -n "${with_toolame_tree}"
+  then
+    AC_MSG_CHECKING(for libtoolame.a in ${with_toolame_tree})
+    real_toolame_tree="`cd ${with_toolame_tree} 2>/dev/null && pwd`"
+    if test -z "${real_toolame_tree}"
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot cd to ${with_toolame_tree}])
+    fi
+    if test -f "${real_toolame_tree}/libtoolame/libtoolame.a"
+    then
+      dnl  Use a custom toolame
+      AC_MSG_RESULT(${real_toolame_tree}/libtoolame/libtoolame.a)
+      VLC_ADD_BUILTINS([toolame])
+      VLC_ADD_LDFLAGS([toolame],[${real_faad_tree}/libtoolame/libtoolame.a])
+      VLC_ADD_CPPFLAGS([toolame],[-I${real_toolame_tree}/libtoolame])
+    else
+      dnl  The given libtoolame wasn't built
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot find ${real_toolame_tree}/libtoolame/libtoolame.a, make sure you compiled libtoolame in ${with_toolame_tree}])
+    fi
+  else
+    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_toolame}"
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}"
+    AC_CHECK_HEADERS(toolame.h, ,
+      [ AC_MSG_ERROR([Cannot find development header for libtoolame...]) ])
+    AC_CHECK_LIB(toolame, toolame_init, [
+      VLC_ADD_PLUGINS([toolame])
+      VLC_ADD_LDFLAGS([toolame],[-ltoolame]) ],
+        [ AC_MSG_ERROR([Cannot find libtoolame library...]) ])
+    LDFLAGS="${LDFLAGS_save}"
+    CPPFLAGS="${CPPFLAGS_save}"
+  fi
+fi
 
 dnl dnl
 dnl dnl  xvid decoder plugin
@@ -1980,7 +2120,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],[-lz])
 ] )
 
 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
@@ -1988,10 +2128,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])
 ] )
 
 
@@ -2091,16 +2231,21 @@ if test "${enable_dts}" != "no"; then
       VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
       VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
-      AC_CHECK_LIB(dts, dts_free, [
-        VLC_ADD_BUILTINS([dtstofloat32])
-        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
+      AC_CHECK_LIB(dts_pic, dts_free, [
+        VLC_ADD_PLUGINS([dtstofloat32])
+        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
         ],[
-        if test -f ${real_dts_tree}/libdts/libdts.a
-        then
-          AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
-        else
-          AC_MSG_ERROR([the specified tree hasn't been compiled])
-        fi
+        AC_CHECK_LIB(dts, dts_free, [
+          VLC_ADD_BUILTINS([dtstofloat32])
+          VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
+          ],[
+          if test -f ${real_dts_tree}/libdts/libdts.a
+          then
+            AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
+          else
+            AC_MSG_ERROR([the specified tree hasn't been compiled])
+          fi
+        ])
       ])
       LDFLAGS="${LDFLAGS_save}"
     else
@@ -2110,13 +2255,18 @@ if test "${enable_dts}" != "no"; then
   else
     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
     AC_CHECK_HEADERS(dts.h, [
-      AC_CHECK_LIB(dts, dts_free, [
+      AC_CHECK_LIB(dts_pic, dts_free, [
         VLC_ADD_PLUGINS([dtstofloat32])
-        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
+        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
       ],[
-        if test "${enable_dts}" = "yes"; then
-          AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
-        fi
+        AC_CHECK_LIB(dts, dts_free, [
+          VLC_ADD_BUILTINS([dtstofloat32])
+          VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
+        ],[
+          if test "${enable_dts}" = "yes"; then
+            AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
+          fi
+        ])
       ])
     ])
     LDFLAGS="${LDFLAGS_save}"
@@ -2303,6 +2453,58 @@ You also need to check that you have a libogg posterior to the 1.0 release.])],
   ])
 fi
 
+dnl
+dnl H264 encoder plugin (using libx264)
+dnl
+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   subsdec support
 dnl
@@ -2329,6 +2531,7 @@ dnl
 dnl   png
 dnl
 AC_CHECK_HEADERS(png.h, [
+  LDFLAGS="${LDFLAGS_save} -lz"
   AC_CHECK_LIB(png, png_set_rows, [
     VLC_ADD_LDFLAGS([logo],[-lpng -lz])
     VLC_ADD_PLUGINS([logo])
@@ -2336,6 +2539,7 @@ AC_CHECK_HEADERS(png.h, [
     VLC_ADD_LDFLAGS([cvdsub],[-lpng -lz -lm])
     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])])
   ])
+  LDFLAGS="${LDFLAGS_save}"
 
 dnl
 dnl  Video plugins
@@ -2463,17 +2667,26 @@ if test "${enable_xvideo}" != "no" &&
 fi
 
 dnl
-dnl  GLX module
-dnl  (enabled by default except on win32)
+dnl  OpenGL module
+dnl  (enabled by default except on beos)
 dnl
 AC_ARG_ENABLE(opengl,
   [  --enable-opengl            OpenGL support (default enabled)])
 if test "${enable_opengl}" != "no" && test "${SYS}" != "beos"; then
-  AC_CHECK_HEADERS(GL/gl.h, [
+  if test "${SYS}" != "darwin"; then
+    AC_CHECK_HEADERS(GL/gl.h, [
       VLC_ADD_PLUGINS([opengl])
-      VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
-  ])
-  CPPFLAGS="${CPPFLAGS_save}"
+      if test "${SYS}" != "mingw32"; then
+        VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
+      else
+        VLC_ADD_LDFLAGS([opengl],[-lopengl32])
+      fi
+    ])
+  else
+    dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
+    VLC_ADD_PLUGINS([opengl])
+    VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
+  fi
 fi
 
 dnl
@@ -2701,7 +2914,12 @@ then
     then
       AC_CHECK_HEADERS(ddraw.h,
       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
-        VLC_ADD_LDFLAGS([vout_directx],[-lgdi32]) ])
+        VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
+        dnl to be moved when dependance is removed
+        AC_CHECK_HEADERS(GL/gl.h, [
+            VLC_ADD_PLUGINS([glwin32])
+            VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
+        ]) ])
     else
       AC_MSG_CHECKING(for directX headers in ${with_directx})
       if test -f ${with_directx}/ddraw.h
@@ -2969,30 +3187,7 @@ AC_ARG_WITH(,[Interface plugins:])
 dnl special case for BeOS
 if test "${SYS}" = "beos"
 then
-    VLC_ADD_PLUGINS([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
+    VLC_ADD_BUILTINS([beos])
 fi
 
 dnl
@@ -3421,8 +3616,14 @@ AC_ARG_ENABLE(galaktos,
   [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
 if test "${enable_galaktos}" = "yes"
 then
+  AC_CHECK_HEADERS(GL/gl.h, [
     VLC_ADD_PLUGINS([galaktos])
-    VLC_ADD_LDFLAGS([galaktos],[-lGL -lGLU])
+    if test "${SYS}" != "mingw32"; then
+      VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
+    else
+      VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
+    fi
+  ])
 fi
 
 dnl
@@ -3534,12 +3735,9 @@ dnl
 dnl  Joystick plugin
 dnl
 AC_ARG_ENABLE(joystick,
-  [  --enable-joystick       joystick control (default disabled)])
-if test "${enable_joystick}" = "yes"
-then
- AC_CHECK_HEADER( linux/joystick.h, 
-               [VLC_ADD_PLUGINS([joystick])]
-               )
+  [  --enable-joystick       joystick control (default enabled)])
+if test "${enable_joystick}" = "yes"; then
+  AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])])
 fi
 
 dnl
@@ -3857,7 +4055,6 @@ VLC_OUTPUT_VLC_CONFIG_IN
 
 AC_CONFIG_FILES([
   Makefile
-  autotools/Makefile
   debian/Makefile
   doc/Makefile
   intl/Makefile
@@ -3882,6 +4079,7 @@ AC_CONFIG_FILES([
   modules/access/cdda/Makefile
   modules/access/vcd/Makefile
   modules/access/vcdx/Makefile
+  modules/access/screen/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
   modules/audio_filter/channel_mixer/Makefile
@@ -3914,7 +4112,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