]> git.sesse.net Git - vlc/blobdiff - configure.ac
Source files can be in subdirectories
[vlc] / configure.ac
index 931414e809adb40ba17a61a2fa02aa91bba2b937..200f15935ae54be2bf2f44058288a5099924bc65 100644 (file)
@@ -1,22 +1,22 @@
 dnl Autoconf settings for vlc
 
-AC_INIT(vlc,0.9.0-svn)
+AC_INIT(vlc,0.9.0-git)
 VERSION_MAJOR="0"
 VERSION_MINOR="9"
 VERSION_REVISION="0"
-VERSION_EXTRA="svn"
+VERSION_EXTRA="git"
 
 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
 CODENAME="Grishenko"
 COPYRIGHT_YEARS="1996-2008"
 
-AC_PREREQ(2.59) dnl this really should be 2.59c
+AC_PREREQ(2.59c)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
 AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 
-AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall])
+AM_INIT_AUTOMAKE(tar-ustar)
 AM_CONFIG_HEADER(config.h)
 
 dnl Too many people are not aware of maintainer mode:
@@ -76,10 +76,10 @@ AC_ARG_WITH(contrib,
    if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
       if test "${with_contrib}" = "yes"; then
         AC_MSG_RESULT([no])
-       AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
+        AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
       else
         AC_MSG_RESULT([no])
-       AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
+        AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
       fi
      else
   if test -d ${topdir}/extras/contrib/lib; then
@@ -172,10 +172,9 @@ case "${host_os}" in
     LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
     VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
-    VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
     VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
     VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
-    VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
+    VLC_ADD_LDFLAGS([ffmpeg 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([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
@@ -187,6 +186,9 @@ case "${host_os}" in
         echo "Building with Mac OS X defaults:"
         with_macosx_version_min="10.4"
         echo "  Assuming --with-macosx-version-min=10.4"
+        build_dir=`pwd`
+        echo "  Assuming --prefix=${build_dir}/vlc_install_dir"
+        ac_default_prefix="${build_dir}/vlc_install_dir"
         enable_macosx="yes"
         echo "  Assuming --enable-macosx"
         enable_faad="yes"
@@ -273,6 +275,9 @@ case "${host_os}" in
     AC_CHECK_TOOL(WINDRES, windres, :)
 
     case "${host_os}" in
+      *wince* | *mingwce* | *mingw32ce* | *pe*)
+        SYS=mingwce
+        ;;
       *mingw32*)
         SYS=mingw32
         ;;
@@ -285,9 +290,6 @@ case "${host_os}" in
              #endif],
             SYS=mingw32, SYS=cygwin)
         ;;
-      *wince* | *mingwce* | *pe*)
-        SYS=mingwce
-        ;;
     esac
 
     if test "${SYS}" = "mingw32"; then
@@ -296,13 +298,14 @@ 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_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl 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 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])
     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_output_udp sap http netsync],[-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],[-lws2])
+        VLC_ADD_LIBS([libvlc],[-lmmtimer])
    fi
     ;;
   *nto*)
@@ -330,9 +333,9 @@ case "${host_os}" in
     LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
     dnl Check for BONE
     if test -f /boot/beos/system/lib/libbind.so; then
-        VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
+        VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lbind -lsocket])
     else
-        VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
+        VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lnet])
     fi
 
     dnl Ugly check for Zeta
@@ -356,9 +359,9 @@ dnl for program foo on win32
 case "${build_os}" in
     cygwin|msys)
         ac_executable_extensions=".exe"
-       ;;
+    ;;
     *)
-       ;;
+    ;;
 esac
 
 dnl 
@@ -390,18 +393,14 @@ lt_cv_deplibs_check_method=pass_all
 dnl
 dnl Gettext stuff
 dnl
-AM_GNU_GETTEXT_VERSION(0.16.1)
-AM_GNU_GETTEXT
-AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
-  AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
-  AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
-], [
-  VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
-])
+AM_GNU_GETTEXT_VERSION([0.17])
+AM_GNU_GETTEXT([external])
+VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
 
 dnl
 dnl Iconv stuff
 dnl
+AM_ICONV
 AS_IF([test "$am_cv_func_iconv" != "yes"],
        [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
@@ -461,22 +460,22 @@ dnl Plugin compilation stuff
 
 VLC_LIBRARY_SUFFIX
 
-VLC_SYMBOL_PREFIX
-AC_SUBST(SYMPREF)
-
 dnl The -DSYS_FOO flag
 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
 
 dnl Check for system libs needed
 need_libc=false
 
-AC_CHECK_FUNCS(gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy)
-
 dnl Check for usual libc functions
-AC_CHECK_FUNCS(strdup strndup strnlen atof)
+AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid 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(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
+AC_FUNC_ALLOCA
+
+AH_BOTTOM([#include <vlc_fixups.h>])
+
+AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGINS([access_mmap])])
 
 AS_IF([test "${SYS}" = "linux"], [
   AC_CHECK_FUNCS(tee)
@@ -507,7 +506,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 sap access_output_udp stream_out_standard growl],[-lsocket])
+    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])
   ])
 ])
 
@@ -533,6 +532,7 @@ ac_cv_type_socklen_t,
 [#include <sys/types.h>
 #ifdef WIN32
 # include <winsock2.h>
+# include <ws2tcpip.h>
 #else
 # include <sys/socket.h>
 #endif]], [[socklen_t len; len = 0;]])],
@@ -566,7 +566,7 @@ dnl  -lnsl and -lsocket are needed on Solaris;
 dnl  we purposedly make the test fail on Windows
 LIBS_save="${LIBS}"
 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
-AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)], 1, [${LIBS_socket}])
+AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
 
 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
 dnl are
@@ -715,7 +715,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],[-ldl]),
+      VLC_ADD_LIBS([libvlc realaudio],[-ldl]),
       AC_CHECK_LIB(svld, dlopen,
         ac_cv_my_have_dlopen=yes
         VLC_ADD_LIBS([libvlc],[-lsvld]))))
@@ -763,23 +763,9 @@ AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
 if ${have_nanosleep}; then
   AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
 fi
+fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" 
 
 dnl Check for misc headers
-AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
-AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
-  AC_MSG_RESULT(yes)
-  AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
-            Define if <pthread.h> defines pthread_cond_t.)],[
-  AC_MSG_RESULT(no)])
-
-AC_MSG_CHECKING(for pthread_once in pthread.h)
-AC_EGREP_HEADER(pthread_once,pthread.h,[
-  AC_MSG_RESULT(yes)
-  AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
-            Define if <pthread.h> defines pthread_once.)],[
-  AC_MSG_RESULT(no)])
-fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
-
 AC_MSG_CHECKING(for strncasecmp in strings.h)
 AC_EGREP_HEADER(strncasecmp,strings.h,[
   AC_MSG_RESULT(yes)
@@ -809,7 +795,10 @@ AC_CHECK_TYPE(ssize_t,, [
   AC_DEFINE(ssize_t, int)
 ])
 
-AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
+dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job.
+if test "${SYS}" != "darwin"; then
+  AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
+fi
 
 dnl Check for dirent
 need_dirent=false
@@ -976,15 +965,17 @@ if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
 fi
 CFLAGS="${CFLAGS_save}"
 
-RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
+RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
 
 dnl This helps detect broken plugins with undefined symbols
 dnl Better fail loudly at build-time than silenty at run-time.
 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
-dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
-dnl   VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
-dnl ])
+if test `uname -s` != FreeBSD; then
+  RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
+    VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
+  ])
+fi
 
 dnl Check for various optimization flags
 AC_CACHE_CHECK([if \$CC accepts -Os],
@@ -1069,6 +1060,10 @@ if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
 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"
@@ -1076,6 +1071,7 @@ AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
 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"])
 
@@ -1124,20 +1120,6 @@ dnl     VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
 dnl   ])
 dnl ])
 
-dnl Check for variadic macros
-AC_CACHE_CHECK([for variadic cpp macros],
-    [ac_cv_cpp_variadic_macros],
-    [CFLAGS="${CFLAGS_save}"
-     AC_TRY_COMPILE(
-         [#include <stdio.h>
-          #define a(b,c...) printf(b,##c)],
-         [a("foo");a("%s","bar");a("%s%s","baz","quux");],
-         ac_cv_cpp_variadic_macros=yes,
-         ac_cv_cpp_variadic_macros=no)])
-if test "${ac_cv_cpp_variadic_macros}" != "no"; then
-    AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
-fi
-
 dnl Checks for __attribute__(aligned()) directive
 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
     [ac_cv_c_attribute_aligned],
@@ -1215,15 +1197,15 @@ dnl
 VLC_ADD_PLUGINS([dummy logger memcpy])
 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 demux_cdg cdg ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
-VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
+VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving croppadd blendbench])
 VLC_ADD_PLUGINS([converter_fixed mono])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
 VLC_ADD_PLUGINS([playlist export nsc xtag])
-VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
+VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image vmem logo magnify puzzle colorthres])
 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
-VLC_ADD_PLUGINS([access_http access_mms access_ftp])
+VLC_ADD_PLUGINS([access_http access_mms access_ftp access_rtmp])
 VLC_ADD_PLUGINS([access_filter_bandwidth])
 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
@@ -1255,6 +1237,7 @@ dnl Some plugins aren't useful on some platforms
 dnl
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGINS([screensaver motion])
+    VLC_ADD_PLUGINS([dynamicoverlay])
 elif test "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
     VLC_ADD_LIBS([dmo],[-lole32 -luuid])
@@ -1653,22 +1636,22 @@ then
     AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
     PKG_CHECK_MODULES(LUA, lua >= 5.1,
       [ have_lua=yes ],
-      [ 
+      [
         have_lua=yes
-        AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], 
-         [],  
+        AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
+          [],
           [ have_lua=no ] )
-       AC_CHECK_LIB(  lua5.1 , luaL_newstate, 
+        AC_CHECK_LIB(  lua5.1 , luaL_newstate,
           [LUA_LIBS="-llua5.1"],
-         AC_CHECK_LIB( lua51 , luaL_newstate, 
+          AC_CHECK_LIB( lua51 , luaL_newstate,
             [LUA_LIBS="-llua51"],
-                 AC_CHECK_LIB( lua , luaL_newstate, 
-                   [LUA_LIBS="-llua"],
-             [ have_lua=no
+            AC_CHECK_LIB( lua , luaL_newstate,
+              [LUA_LIBS="-llua"],
+              [ have_lua=no
                 AC_MSG_WARN([lua >= 5.1 not found!])
               ])
-           )
-         )
+          )
+        )
       ])
     ])
   if test "x${have_lua}" = "xyes" ;  then
@@ -1678,6 +1661,7 @@ then
      VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
   fi
 fi
+AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
 
 dnl
 dnl HTTP daemon
@@ -1689,6 +1673,7 @@ then
   VLC_ADD_PLUGINS([http])
   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
 fi
+AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
 
 dnl
 dnl VideoLAN manager
@@ -1706,7 +1691,11 @@ dnl
 AC_ARG_ENABLE(growl,
   [  --enable-growl          growl notification plugin (default enabled)])
 AS_IF([test "${enable_growl}" != "no"], [
-    VLC_ADD_PLUGINS([growl])
+    VLC_ADD_PLUGINS([growl_udp])
+    AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
+      VLC_ADD_PLUGINS([growl])
+      VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
+    ])
   ]
 )
 
@@ -1721,10 +1710,10 @@ AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
       [
         VLC_ADD_PLUGINS([notify])
         VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
-       VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
+        VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
       ],[
-       AS_IF([test "${enable_notify}" = "yes"],[
-              AC_MSG_WARN( libnotify not found) ])
+    AS_IF([test "${enable_notify}" = "yes"],[
+        AC_MSG_WARN( libnotify not found) ])
       ])
   ])
 
@@ -1745,9 +1734,9 @@ AC_ARG_ENABLE(musicbrainz,
   [  --enable-musicbrainz    MusicBrainz support (default disabled) ])
   AS_IF([test "${enable_musicbrainz}" = "yes"],[
       PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
-       [ VLC_ADD_PLUGINS([musicbrainz])
-         VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS]) 
-         VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS])  ],
+    [ VLC_ADD_PLUGINS([musicbrainz])
+      VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
+      VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS])  ],
        [AC_MSG_WARN(MusicBrainz library not found)])
    ])
 
@@ -2594,9 +2583,11 @@ 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],[-Wl,-framework,ApplicationServices])
+    AC_CHECK_HEADERS(OpenGL/gl.h, [
+      AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
+        VLC_ADD_PLUGINS([screen])
+        VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
+      ])
     ])
   elif test "${SYS}" = "mingw32"; then
     VLC_ADD_PLUGINS([screen])
@@ -3021,9 +3012,9 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
         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-pp
+       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-pp])
+       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
@@ -3034,11 +3025,28 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
    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],[libavcodec libavformat libpostproc], [
+   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}"
    ],[
@@ -3055,17 +3063,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
      VLC_ADD_BUILTINS([stream_out_switcher])
    fi
 
-   if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
-     AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
-     VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
-     VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
-   fi
 
-    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([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
-      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
-    fi
 else
 
 
@@ -3075,9 +3073,9 @@ dnl Trying with pkg-config
      VLC_SAVE_FLAGS
      CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
      CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
-     AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
-     AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
-     AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
+     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}]) 
@@ -3085,7 +3083,7 @@ dnl Trying with pkg-config
        ],[ true ])
      CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
      CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
-     AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
+     AC_CHECK_HEADERS(postproc/postprocess.h)
      if test "${SYS}" = "darwin"; then
         VLC_ADD_BUILTINS([ffmpeg])
      else
@@ -3105,9 +3103,8 @@ dnl Trying with pkg-config
      PKG_CHECK_MODULES(SWSCALE,[libswscale],[
        VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
        VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
-dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
        AC_CHECK_LIB(swscale, sws_getContext,
-         [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
+         [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[-lavutil -lm])
        ],[ true ])
      VLC_RESTORE_FLAGS
     ],[
@@ -3117,10 +3114,10 @@ dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file
     dnl
       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
-      AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
-      AC_CHECK_HEADERS(ffmpeg/avformat.h)
-      AC_CHECK_HEADERS(ffmpeg/avutil.h)
-      AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
+      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])
@@ -3136,7 +3133,7 @@ dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file
 
       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-pp.]),
+      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, [
@@ -3145,7 +3142,7 @@ dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file
       CPPFLAGS="${CPPFLAGS_save}"
 
       AC_CHECK_LIB(swscale, sws_getContext, [
-        AC_CHECK_HEADERS(ffmpeg/swscale.h)
+        AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
         VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
       LDFLAGS="${LDFLAGS_save}"
       CPPFLAGS="${CPPFLAGS_save}"
@@ -3174,9 +3171,9 @@ then
       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
+      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-pp])
+      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)
@@ -3717,7 +3714,7 @@ dnl
 AC_ARG_ENABLE(dirac,
 [  --enable-dirac          experimental dirac codec (default disabled)])
 if test "${enable_dirac}" = "yes"; then
-  PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
+  PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [
       VLC_ADD_PLUGINS([dirac])
       VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
       VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
@@ -3739,9 +3736,10 @@ AC_CHECK_HEADERS(png.h, [
     VLC_ADD_PLUGINS([osdmenu osd_parser])
     AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
     [],[-lz])
-  LDFLAGS="${LDFLAGS_save}"
+    LDFLAGS="${LDFLAGS_save}"
   ])
 fi
+AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
 
 dnl
 dnl H264 encoder plugin (using libx264)
@@ -3767,10 +3765,10 @@ if test "${enable_x264}" != "no"; then
       AC_MSG_RESULT(yes)
       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
       VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
-      LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
-      AC_CHECK_LIB(x264, x264_encoder_open, [
-        VLC_ADD_BUILTINS([x264])
-        VLC_ADD_LIBS([x264],[-lx264])
+      PKG_CHECK_MODULES(X264,x264, [
+        VLC_ADD_PLUGINS([x264])
+        VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
+        VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
       ],[
         AC_MSG_ERROR([the specified tree hasn't been compiled])
       ])
@@ -3780,17 +3778,15 @@ if test "${enable_x264}" != "no"; then
       AC_MSG_ERROR([the specified tree doesn't have x264.h])
     fi
   else
-    LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
-    AC_CHECK_HEADERS(x264.h, [
-      AC_CHECK_LIB(x264, x264_encoder_open, [
+      PKG_CHECK_MODULES(X264,x264, [
         VLC_ADD_PLUGINS([x264])
-        VLC_ADD_LIBS([x264],[-lx264])
+        VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
+        VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
       ],[
         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
@@ -3821,7 +3817,7 @@ dnl
 AC_ARG_ENABLE(zvbi,
   [  --enable-zvbi           VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
 AC_ARG_ENABLE(telx,
-  [  --enable-telx,          Teletext decoding module (conflicting with zvbi) (default disabled)])
+  [  --enable-telx           Teletext decoding module (conflicting with zvbi) (default disabled)])
 
 AS_IF( [test "${enable_zvbi}" != "no"],[
   AS_IF( [test "${enable_telx}" = "yes"],[
@@ -3844,6 +3840,40 @@ AS_IF( [test "${enable_telx}" = "yes"],[
   VLC_ADD_PLUGINS([telx])
   ])
 
+dnl
+dnl asa/csri subtitle rendering module
+dnl
+AC_ARG_ENABLE(csri,
+  [  --enable-csri          Subtitle support using CSRI / asa (default disabled)])
+AS_IF( [test "${enable_csri}" = "yes"], [
+  PKG_CHECK_MODULES(CSRI,
+      csri >= 0.1.0,
+      [
+        VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
+        VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
+        VLC_ADD_PLUGINS([csri])
+      ],[
+        AC_MSG_WARN([CSRI helper library not found])
+      ])
+  ])
+
+dnl
+dnl asa demuxer
+dnl
+AC_ARG_ENABLE(asademux,
+  [  --enable-asademux      asa subtitle demuxing (default disabled)])
+AS_IF( [test "${enable_asademux}" = "yes"], [
+  PKG_CHECK_MODULES(PCRE,
+      libpcre >= 6.5,
+      [
+        VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
+        VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
+        VLC_ADD_PLUGINS([asademux])
+      ],[
+        AC_MSG_WARN([PCRE library not found (required for asademux)])
+      ])
+  ])
+
 dnl
 dnl  CMML plugin
 dnl
@@ -3963,7 +3993,7 @@ fi
 
 dnl
 dnl  XVMC module
-dnl  (enabled by default except on win32)
+dnl  (disabled by default except on win32)
 dnl
 AC_ARG_ENABLE(xvmc,
   [  --enable-xvmc           XVMC support (default disabled)])
@@ -3973,7 +4003,7 @@ if test "${enable_xvmc}" = "yes" &&
   CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
   AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
     VLC_ADD_PLUGINS([xvmc])
-    VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
+    VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
     VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
   ])
   CPPFLAGS="${CPPFLAGS_save}"
@@ -4022,12 +4052,14 @@ dnl
       VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
       VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
       VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
+      VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
       ac_cv_have_xf86vidmode="yes"
     ],[
       AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
         VLC_ADD_LIBS([xvideo],[-lXxf86vm])
         VLC_ADD_LIBS([x11],[-lXxf86vm])
         VLC_ADD_LIBS([glx],[-lXxf86vm])
+        VLC_ADD_LIBS([xvmc],[-lXxf86vm])
         ac_cv_have_xf86vidmode="yes"
       ])
     ])
@@ -4170,55 +4202,36 @@ AC_ARG_ENABLE(fribidi,
   [  --enable-fribidi        fribidi support (default enabled)])
 if test "${enable_freetype}" != "no"
 then
-  FREETYPE_PATH="${PATH}"
-  AC_ARG_WITH(freetype-config-path,
-    [    --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
-    [ if test "${with_freetype_config_path}" != "no"
-      then
-        FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
-      fi ])
-  AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
-
-  if test "${FREETYPE_CONFIG}" != "no"
-  then
-    VLC_ADD_PLUGINS([freetype])
-    VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
-    VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`])
-    if test "${SYS}" = "mingw32"; then
-       VLC_ADD_LIBS([freetype],[-lxml2])
-    fi
+   PKG_CHECK_MODULES(FREETYPE, freetype2,[
+      VLC_ADD_PLUGINS([freetype])
+      have_freetype=yes
+      VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
+      VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
+      if test "${SYS}" = "mingw32"; then
+        VLC_ADD_LIBS([freetype skins2],[-lxml2])
+     fi
     AC_CHECK_HEADERS(fontconfig/fontconfig.h,
-      [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
+      [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
        VLC_ADD_LIBS([freetype],[-lfontconfig])])
     AC_CHECK_HEADERS(Carbon/Carbon.h,
       [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
-  elif test "${enable_freetype}" =  "yes"
-  then
+  ],[
+  have_freetype=no
+  AS_IF([ test "${enable_freetype}" =  "yes"],[
     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
+      ])
     ])
-  fi
+  ])
 
   dnl fribidi support
   if test "${enable_fribidi}" != "no"
   then
-    FRIBIDI_PATH="${PATH}"
-    AC_ARG_WITH(fribidi-config-path,
-      [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
-      [ if test "${with_fribidi_config_path}" != "no"
-        then
-          FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
-        fi ])
-    AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
-
-    if test "${FRIBIDI_CONFIG}" != "no"
-    then
-      VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
-      VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
-      VLC_ADD_LIBS([freetype], [`${FRIBIDI_CONFIG} --libs`])
-      VLC_ADD_LIBS([skins2], [`${FRIBIDI_CONFIG} --libs`])
+    PKG_CHECK_MODULES(FRIBIDI, fribidi, [
+      VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
+      VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
+    ])
     fi
-  fi
 fi
 
 dnl
@@ -4656,6 +4669,20 @@ AC_ARG_ENABLE(esd,
      fi
    fi])
 
+dnl
+dnl  Pulseaudio module
+dnl
+AC_ARG_ENABLE(pulse,
+  [  --enable-pulse          Pulseaudio support (default enabled)])
+  if test "${enable_pulse}" != "no"
+   then
+     PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
+       [ VLC_ADD_PLUGINS([pulse])
+        VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
+        VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
+       [AC_MSG_WARN(pulsaudio library not found)])
+   fi
+
 dnl
 dnl  Portaudio module
 dnl
@@ -4893,10 +4920,7 @@ if test "${enable_skins2}" = "yes" ||
   skins2_missing_lib="no"
 
   dnl freetype
-  if test "${FREETYPE_CONFIG}" != "no"; then
-    VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
-    VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
-  else
+  if test "${have_freetype}" != "yes"; then
     skins2_missing_lib="yes"
     if test "${enable_skins2}" = "yes"; then
       AC_MSG_ERROR([Could not find freetype (required for skins2)])
@@ -4925,7 +4949,7 @@ 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
@@ -5014,6 +5038,7 @@ then
     NEED_GTK2_MAIN=yes
   fi
 fi
+AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
 
 dnl dnl
 dnl dnl  Gnome module
@@ -5179,16 +5204,20 @@ AS_IF([test "${enable_qt4}" != "no" &&
       AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
       ALIASES="${ALIASES} qvlc"
       enableqt4=true
-      VLC_ADD_LIBS([qt4],[$QT4_LIBS])
+      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_ERROR(QT4 library not found)
       ],[
-    AC_MSG_WARN(QT4 library not found)
+        AC_MSG_WARN(QT4 library not found)
       ])
     )
 ])
@@ -5197,17 +5226,21 @@ AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
 dnl
 dnl  WinCE GUI module
 dnl
-if test "${SYS}" = "mingwce"; then
-  VLC_ADD_BUILTINS([wince])
-  VLC_ADD_CXXFLAGS([wince],[])
-  VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
-  dnl Gross hack
-  VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
-elif test "${SYS}" = "mingw32"; then
-  VLC_ADD_CXXFLAGS([wince],[])
-  VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
-  dnl Gross hack
-  VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
+AC_ARG_ENABLE(wince,
+  [  --enable-wince          Windows CE interface (default enabled with MinGW)])
+if test "${enable_wince}" != "no"; then
+  if test "${SYS}" = "mingwce"; then
+    VLC_ADD_BUILTINS([wince])
+    VLC_ADD_CXXFLAGS([wince],[])
+    VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
+    dnl Gross hack
+    VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
+  elif test "${SYS}" = "mingw32"; then
+    VLC_ADD_CXXFLAGS([wince],[])
+    VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
+    dnl Gross hack
+    VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
+  fi
 fi
 
 dnl
@@ -5322,7 +5355,7 @@ AC_ARG_ENABLE(macosx,
   [  --enable-macosx         MacOS X support (default enabled on MacOS X)])
 if test "x${enable_macosx}" = "xyes"
 then
-  VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,Foundation])
+#  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],[-Wl,-framework,OpenGL])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,Carbon])
@@ -5332,9 +5365,9 @@ then
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,QTKit])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
   VLC_ADD_LDFLAGS([opengllayer],                      [-Wl,-framework,QuartzCore])
-  VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer], [-fobjc-exceptions] )
+  VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
 
-  VLC_ADD_PLUGINS([access_eyetv])
+#  VLC_ADD_PLUGINS([access_eyetv])
   VLC_ADD_BUILTINS([macosx minimal_macosx])
  
   ORIGCFLAGS=$CFLAGS
@@ -5368,11 +5401,26 @@ AC_ARG_ENABLE(ncurses,
         VLC_ADD_LIBS([ncurses],[-lncursesw])
         ALIASES="${ALIASES} nvlc"
         AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
+        AC_CHECK_LIB(ncursesw, tgetent, [],
+          AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
+            [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
+              [AS_IF([test "x${enable_ncurses}" != "x"],
+                [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
+               )])])
+            ]
+          )
+        )
         ],
         [AC_CHECK_LIB( ncurses, mvprintw,
           [VLC_ADD_PLUGINS([ncurses])
           ALIASES="${ALIASES} nvlc"
-          VLC_ADD_LIBS([ncurses],[-lncurses])],
+          VLC_ADD_LIBS([ncurses],[-lncurses])
+          AC_CHECK_LIB(ncurses, tgetent, [],
+            [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
+              [AS_IF([test "x${enable_ncurses}" != "x"],
+                [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
+            )]
+          )],
           [AS_IF([test "x${enable_ncurses}" != "x"], [
             AC_MSG_ERROR([libncurses not found])])]
         )]
@@ -5497,6 +5545,19 @@ then
   fi
 fi
 
+dnl
+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)])
+   if test "${enable_atmo}" != "no"; then
+      AC_LANG_PUSH(C++)
+      VLC_ADD_PLUGINS([atmo])
+      AC_LANG_POP(C++)
+   fi
+fi
+
 dnl
 dnl  Bonjour services discovery
 dnl
@@ -5532,6 +5593,39 @@ fi
 
 AC_ARG_WITH(,[Misc options:])
 
+dnl
+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
+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
 dnl
@@ -5539,9 +5633,7 @@ AC_ARG_ENABLE(gnutls,
   [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
 
 AS_IF([test "${enable_gnutls}" != "no"], [
-  PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
-
-  AS_IF([test "${have_gnutls}" = "yes"], [
+  PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
     VLC_ADD_PLUGINS([gnutls])
     VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
     AS_IF([test "${SYS}" = "mingw32"], [
@@ -5549,9 +5641,10 @@ AS_IF([test "${enable_gnutls}" != "no"], [
       VLC_ADD_LIBS([gnutls], [-lz])
       VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
     ])
-    AC_CHECK_LIB([gcrypt], [gcry_control], [
-      VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
-    ], [], [-lgpg-error])
+    AS_IF([test "${have_libgcrypt}" = "yes"],[
+      VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS})
+      VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS})
+    ], [-lgpg-error])
     VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
   ], [
     AS_IF([test "${enable_gnutls}" = "yes"], [
@@ -5560,24 +5653,6 @@ AS_IF([test "${enable_gnutls}" != "no"], [
   ])
 ])
 
-dnl
-dnl libgcrypt
-dnl
-AC_ARG_ENABLE(libgcrypt,
-  [  --enable-libgcrypt      libgcrypts support (default enabled)])
-if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "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
-fi
-AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
-
 dnl
 dnl update checking system
 dnl
@@ -5589,7 +5664,8 @@ then
   then
     AC_MSG_ERROR([libgcrypt is required for update checking system])
   fi
-  VLC_ADD_LIBS([libvlc], [-lgcrypt])
+  VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS})
+  VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS})
   AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
 fi
 
@@ -5666,9 +5742,18 @@ AS_IF([test "${enable_loader}" = "yes"],
     VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
     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 -ldl -lpthread])
+    VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
   ])
 
+AC_ARG_WITH(,[Components:])
+
+dnl
+dnl  the VLC binary
+dnl
+AC_ARG_ENABLE(vlc,
+  [  --enable-vlc            build the VLC media player (default enabled)])
+AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
+
 dnl
 dnl  Microsoft ActiveX support
 dnl
@@ -5921,11 +6006,17 @@ dnl  Mediacontrol Python bindings
 dnl
 AC_ARG_ENABLE(python-bindings,
   [  --enable-python-bindings Enable Python bindings (default disabled)])
-dnl TODO: look for python dev headers
-AS_IF([test "${enable_python_bindings}" = "yes"],
-      PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
-     ) 
 
+if test "${enable_python_bindings}" = "yes"; then
+  AC_PATH_PROG(PYTHON_CONFIG, python-config, no)
+  CFLAGS="${CFLAGS_save} `${PYTHON_CONFIG} --cflags`"
+  AC_CHECK_HEADER([Python.h],
+    PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python",
+    AC_MSG_ERROR([You have to install python-dev to build the bindings]),
+    []
+  )
+  CFLAGS="${CFLAGS_save}"
+fi
 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
 
 dnl
@@ -5935,17 +6026,16 @@ AC_ARG_ENABLE(java-bindings,
   [  --enable-java-bindings  Enable Java bindings (default disabled)])
 if test "${enable_java_bindings}" = "yes"
 then
-  AS_IF([test "x${JAVA_HOME}" == "x"],
-       [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
-  AC_PROG_JAVAC
-  AC_PROG_JAVA
-  PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
-  if test "${JAVAC}" == "javac${EXEEXT}"
-  then
-    JAVAC="javac${EXEEXT} -cp ./ "
-  fi
+        echo ""
+        echo "****** WARNING **** WARNING ***** WARNING *************"
+        echo "*** To compile the java bindings go to the "
+        echo "*** bindings/java folder and run mvn install. "
+       echo "*** You need maven2 installed. "
+       echo "*** This configuration will continue, so you will be "
+       echo "*** able to compile VideoLAN as usual. "
+        echo "*******************************************************"
+        echo ""
 fi
-AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
 
 dnl
 dnl  test plugins
@@ -6040,7 +6130,6 @@ AS_IF([test "${enable_shared}" = "no"], [
 AS_IF([test "${plugin_support}" != "no"], [
   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
 ])
-
 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
 
 dnl Temporary(?) hack for plugins/builtins transition
@@ -6070,7 +6159,12 @@ AC_SUBST(VERSION_MAJOR)
 AC_SUBST(VERSION_MINOR)
 AC_SUBST(VERSION_REVISION)
 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
-AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure]) 
+if test "${build_os}" = "cygwin"
+then
+    AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
+else
+    AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
+fi
 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
 
@@ -6114,25 +6208,23 @@ dnl Create vlc-config.in
 VLC_OUTPUT_VLC_CONFIG_IN
 
 AC_CONFIG_FILES([
-  vlc.win32.nsi
+  extras/package/win32/vlc.win32.nsi
   Makefile
-  activex/Makefile
-  activex/axvlc.inf
+  projects/activex/Makefile
+  projects/activex/axvlc.inf
   bindings/Makefile
-  bindings/java/Makefile
-  bindings/java/src/Makefile
   bindings/python/Makefile
   doc/Makefile
-  intl/Makefile
-  ipkg/Makefile
+  extras/package/ipkg/Makefile
   libs/loader/Makefile
   libs/srtp/Makefile
   modules/Makefile
-  mozilla/Makefile
+  projects/mozilla/Makefile
   m4/Makefile
   po/Makefile.in
   share/Makefile
   src/Makefile
+  test/Makefile
 ])
 
 AC_CONFIG_FILES([
@@ -6143,6 +6235,7 @@ AC_CONFIG_FILES([
   modules/access/mms/Makefile
   modules/access/cdda/Makefile
   modules/access/rtsp/Makefile
+  modules/access/rtmp/Makefile
   modules/access/v4l2/Makefile
   modules/access/vcd/Makefile
   modules/access/vcdx/Makefile
@@ -6201,6 +6294,8 @@ AC_CONFIG_FILES([
   modules/stream_out/transrate/Makefile
   modules/video_chroma/Makefile
   modules/video_filter/Makefile
+  modules/video_filter/atmo/Makefile
+  modules/video_filter/dynamicoverlay/Makefile
   modules/video_output/Makefile
   modules/video_output/msw/Makefile
   modules/video_output/qte/Makefile
@@ -6227,15 +6322,20 @@ dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modul
 dnl Shortcut to nice compile message
 rm -f compile
 echo '#! /bin/sh' >compile
-
-echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
-echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
+echo rm -f .error\$\$ >>compile
+echo ERROR=0 >>compile
+echo export PATH=$PATH LANG=C >>compile
+echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
+echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
+echo test -f .error\$\$ \&\& ERROR=1 >>compile
+echo rm -f .error\$\$ >>compile
+echo exit \$ERROR >>compile
 chmod a+x compile
 
 printf "
-vlc configuration
+libvlc configuration
 --------------------
-vlc version           : ${VERSION}
+version               : ${VERSION}
 system                : ${SYS}
 architecture          : ${ARCH}
 build flavour         : "
@@ -6244,9 +6344,13 @@ test "${enable_cprof}" = "yes" && printf "cprof "
 test "${enable_gprof}" = "yes" && printf "gprof "
 test "${enable_optimizations}" = "yes" && printf "optim "
 test "${enable_release}" = "yes" && printf "release " || printf "devel "
-echo "
-vlc aliases           :${ALIASES}
-plugins/bindings      :${PLUGINS_BINDINGS}
+echo ""
+if test "${enable_vlc}" != "no"; then
+echo "vlc aliases           :${ALIASES}"
+else
+echo "build vlc executable  : no"
+fi
+echo "plugins/bindings      :${PLUGINS_BINDINGS}
 
 You can check which modules have been enabled 
 with \`./vlc-config --list plugin'.