]> git.sesse.net Git - vlc/blobdiff - configure.ac
QT4 wineventfilter for Win32, allows WM_APPCOMMAND stuff
[vlc] / configure.ac
index 351db9e189925337e0fa7b0f25dd8354770e2668..e7988e621aa1bfed7f259a98dc7a5215d1d147ca 100644 (file)
@@ -1,13 +1,13 @@
 dnl Autoconf settings for vlc
 
-AC_INIT(vlc, 0.9.0-test3)
-VERSION_MAJOR="0"
-VERSION_MINOR="9"
+AC_INIT(vlc, 1.0.0-git)
+VERSION_MAJOR="1"
+VERSION_MINOR="0"
 VERSION_REVISION="0"
-VERSION_EXTRA="git"
+VERSION_EXTRA="-git"
 
 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
-CODENAME="Grishenko"
+CODENAME="Goldeneye"
 COPYRIGHT_YEARS="1996-2008"
 
 AC_PREREQ(2.59c)
@@ -58,6 +58,8 @@ dnl
 AC_PROG_CC_C99
 AC_USE_SYSTEM_EXTENSIONS
 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
+AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
+
 AM_PROG_CC_C_O
 AC_PROG_CXX
 AC_PROG_CPP
@@ -96,13 +98,14 @@ dnl  Check for the contrib directory
 dnl
 AC_ARG_WITH(contrib,
     [  --without-contrib       do not use the libraries in extras/contrib],[],[])
-  if test "${with_contrib}" != "no"; then 
+  AS_IF([test "${with_contrib}" != "no"],[
     AC_MSG_CHECKING([for libs in extras/contrib])
     topdir="`dirname $0`"
     if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
        topdir="`pwd`/$topdir"
     fi
-   if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
+  AS_IF([test -d ${topdir}/extras/contrib/lib],[
+   AS_IF([test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[
       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])
@@ -110,8 +113,7 @@ AC_ARG_WITH(contrib,
         AC_MSG_RESULT([no])
         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
+     ],[
     AC_MSG_RESULT([yes])
     export PATH=${topdir}/extras/contrib/bin:$PATH
     CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
@@ -130,12 +132,6 @@ AC_ARG_WITH(contrib,
     LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
     LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
 
-    if test -z $with_live555_tree; then
-       with_live555_tree=${topdir}/extras/contrib/src/live
-    fi
-    if test -z $with_goom_tree; then
-       with_goom_tree=${topdir}/extras/contrib/src/goom
-    fi
     if test -z $with_mozilla_sdk_path; then
        with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
     fi
@@ -150,11 +146,11 @@ AC_ARG_WITH(contrib,
       export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
       export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
     fi
-  else
-     AC_MSG_RESULT([no])
-  fi
-  fi
-fi
+    ])
+  ],[
+    AC_MSG_RESULT([no])
+  ])
+])
 dnl
 dnl  Set default values
 dnl
@@ -239,6 +235,10 @@ case "${host_os}" in
         echo "  Assuming --enable-realrtsp"
         enable_update_check="yes"
         echo "  Assuming --enable-update-check"
+        enable_libass="yes"
+        echo "  Assuming --enable-libass"
+        enable_asademux="yes"
+        echo "  Assuming --enable-asademux"
 
         enable_skins2="no"
         echo "  Assuming --disable-skins2"
@@ -275,6 +275,7 @@ case "${host_os}" in
     AC_ARG_WITH(macosx-sdk,
        [  --with-macosx-sdk=DIR   compile using the SDK in DIR])
     if test "${with_macosx_sdk}" != "" ; then
+        CPP="${CPP} -isysroot ${with_macosx_sdk}" 
         CC="${CC} -isysroot ${with_macosx_sdk}" 
         CXX="${CXX} -isysroot ${with_macosx_sdk}"
         OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
@@ -283,6 +284,7 @@ case "${host_os}" in
     AC_ARG_WITH(macosx-version-min,
        [  --with-macosx-version-min=VERSION  compile for MacOSX VERSION and above])
     if test "${with_macosx_version_min}" != "" ; then
+        CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}" 
         CC="${CC} -mmacosx-version-min=${with_macosx_version_min}" 
         CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
         OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
@@ -401,7 +403,7 @@ AC_CACHE_VAL(lt_cv_deplibs_check_method,
     [lt_cv_deplibs_check_method=pass_all])
 
 AC_DISABLE_STATIC
-AC_DISABLE_FAST_INSTALL
+dnl AC_DISABLE_FAST_INSTALL
 AC_LIBTOOL_DLOPEN
 AC_LIBTOOL_WIN32_DLL
 m4_undefine([AC_PROG_F77])
@@ -566,7 +568,7 @@ AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
   [AC_TRY_COMPILE(
     [#include <sys/types.h>
      #if defined( UNDER_CE )
-     # include <winsock.h>
+     # include <winsock2.h>
      #elif defined( WIN32 )
      # include <winsock2.h>
      #else
@@ -648,7 +650,7 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
-  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
+  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
   VLC_ADD_LIBS([avcodec avformat swscale imgresample postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm])
@@ -816,10 +818,13 @@ AC_CHECK_TYPE(ssize_t,, [
   AC_DEFINE(ssize_t, int)
 ])
 
-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().])])
+dnl Check for poll
+AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
+if test ${SYS} != "mingw32"
+then
+    AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
 fi
+])
 
 dnl Check for dirent
 need_dirent=false
@@ -850,21 +855,23 @@ AC_EGREP_HEADER(timespec,sys/time.h,[
 
 dnl Check for threads library
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-AC_CHECK_HEADERS(pthread.h kernel/scheduler.h kernel/OS.h)
+AC_CHECK_HEADERS(pthread.h)
 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 dnl Find where are the X headers and libraries
 AC_PATH_XTRA()
 
 dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal.
-
+dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
+AC_ARG_VAR(PKG_CONFIG_PATH, 
+          [Paths where to find .pc not at the default location])
 PKG_PROG_PKG_CONFIG()
 
 dnl Check for hal
 AC_ARG_ENABLE(hal,
   [  --enable-hal            Linux HAL services discovery (default enabled)])
  
-if test "${enable_hal}" != "no"
+if test "${enable_hal}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 then
   PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
     [
@@ -882,7 +889,7 @@ AC_ARG_ENABLE(dbus,
   [  --enable-dbus           Linux D-BUS message bus system (default enabled)])
 case "${SYS}" in
     linux*|*bsd*)
-if test "${enable_dbus}" != "no"
+if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 then
   dnl api stable dbus
   PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
@@ -1019,7 +1026,12 @@ AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
+ if test "${SYS}" != "darwin"; then
     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
+ else
+    dnl On darwin we explicitely disable it.
+    CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
+ fi
 fi
 
 dnl Check for Darwin plugin linking flags
@@ -1086,42 +1098,9 @@ test "${enable_cprof}" != "yes" && enable_cprof="no"
 dnl
 dnl  default modules
 dnl
-VLC_ADD_PLUGIN([dummy])
-VLC_ADD_PLUGIN([stats])
-VLC_ADD_PLUGIN([logger])
-VLC_ADD_PLUGIN([memcpy])
-dnl Demuxers:
-VLC_ADD_PLUGIN([mpgv])
-VLC_ADD_PLUGIN([mpga])
-VLC_ADD_PLUGIN([m4v])
-VLC_ADD_PLUGIN([m4a])
-VLC_ADD_PLUGIN([h264])
-VLC_ADD_PLUGIN([cdg])
-VLC_ADD_PLUGIN([ps])
-VLC_ADD_PLUGIN([avi])
-VLC_ADD_PLUGIN([asf])
-VLC_ADD_PLUGIN([mp4])
-dnl Text codecs:
-VLC_ADD_PLUGIN([cvdsub])
-VLC_ADD_PLUGIN([svcdsub])
-VLC_ADD_PLUGIN([spudec])
-VLC_ADD_PLUGIN([subsdec])
-VLC_ADD_PLUGIN([subsusf])
-VLC_ADD_PLUGIN([t140])
-VLC_ADD_PLUGIN([dvbsub])
-VLC_ADD_PLUGIN([cc])
-dnl Video codecs:
-VLC_ADD_PLUGIN([cinepak])
-dnl Audio codecs:
-VLC_ADD_PLUGIN([araw])
-VLC_ADD_PLUGIN([adpcm])
-VLC_ADD_PLUGIN([mpeg_audio])
-VLC_ADD_PLUGIN([lpcm])
-VLC_ADD_PLUGIN([a52])
-VLC_ADD_PLUGIN([dts])
-VLC_ADD_PLUGIN([flac])
 dnl Video filters:
 VLC_ADD_PLUGIN([deinterlace])
+VLC_ADD_PLUGIN([yuvp])
 VLC_ADD_PLUGIN([invert])
 VLC_ADD_PLUGIN([adjust])
 VLC_ADD_PLUGIN([transform])
@@ -1136,42 +1115,18 @@ VLC_ADD_PLUGIN([noise])
 VLC_ADD_PLUGIN([grain])
 VLC_ADD_PLUGIN([extract])
 VLC_ADD_PLUGIN([sharpen])
-VLC_ADD_PLUGIN([seamcarving])
 VLC_ADD_PLUGIN([croppadd])
 VLC_ADD_PLUGIN([canvas])
 VLC_ADD_PLUGIN([blendbench])
 VLC_ADD_PLUGIN([blend])
 VLC_ADD_PLUGIN([scale])
-VLC_ADD_PLUGIN([image])
 VLC_ADD_PLUGIN([vmem])
 VLC_ADD_PLUGIN([logo])
 VLC_ADD_PLUGIN([magnify])
 VLC_ADD_PLUGIN([puzzle])
 VLC_ADD_PLUGIN([colorthres])
-dnl Meta demuxers:
-VLC_ADD_PLUGIN([playlist])
-VLC_ADD_PLUGIN([export])
-VLC_ADD_PLUGIN([nsc])
-VLC_ADD_PLUGIN([xtag])
-dnl Channel mixing audio filters:
-VLC_ADD_PLUGIN([converter_fixed])
-VLC_ADD_PLUGIN([mono])
-VLC_ADD_PLUGIN([trivial_channel_mixer])
-dnl Resampling audio filters:
-VLC_ADD_PLUGIN([trivial_resampler])
-VLC_ADD_PLUGIN([ugly_resampler])
-dnl Audio mixers:
-VLC_ADD_PLUGIN([trivial_mixer])
-dnl Video chromas:
-VLC_ADD_PLUGIN([i420_rgb])
-VLC_ADD_PLUGIN([grey_yuv])
-dnl Video codecs:
-VLC_ADD_PLUGIN([rawvideo])
-dnl Access filters:
-VLC_ADD_PLUGIN([access_filter_timeshift])
-VLC_ADD_PLUGIN([access_filter_record])
-VLC_ADD_PLUGIN([access_filter_dump])
-VLC_ADD_PLUGIN([access_filter_bandwidth])
+VLC_ADD_PLUGIN([scene])
+VLC_ADD_PLUGIN([yuv])
 
 ALIASES="${ALIASES} cvlc"
 
@@ -1575,6 +1530,16 @@ AH_TEMPLATE(NDEBUG,
             [Define to 1 if debug code should NOT be compiled])
 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
 
+dnl
+dnl Allow runing as root (usefull for people runing on embedded platforms)
+dnl
+AC_ARG_ENABLE(run-as-root,
+[  --enable-run-as-root    allow runing VLC as root (default disabled)])
+AS_IF([test "${enable_run_as_root}" == "yes"],[
+    AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
+              [Define to 1 to allow runing VLC as root (uid 0).])
+])
+
 dnl
 dnl  Test coverage
 dnl
@@ -1707,7 +1672,8 @@ dnl
 dnl Growl notification plugin
 dnl
 AC_ARG_ENABLE(growl,
-  [  --enable-growl          growl notification plugin (default enabled)])
+  [  --enable-growl          growl notification plugin (default disabled)],,
+  [enable_growl=no])
 AS_IF([test "${enable_growl}" != "no"], [
     VLC_ADD_PLUGIN([growl_udp])
     AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
@@ -1745,20 +1711,6 @@ AS_IF([test "${enable_audioscrobbler}" != "no"], [
         VLC_ADD_PLUGIN([audioscrobbler])
   ])
 
-dnl
-dnl Musicbrainz plugin
-dnl
-AC_ARG_ENABLE(musicbrainz,
-  [  --enable-musicbrainz    MusicBrainz support (default disabled) ])
-  AS_IF([test "${enable_musicbrainz}" = "yes"],[
-      PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
-    [ VLC_ADD_PLUGIN([musicbrainz])
-      VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
-      VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS])  ],
-       [AC_MSG_WARN(MusicBrainz library not found)])
-   ])
-
-
 dnl
 dnl Taglibplugin
 dnl
@@ -1786,11 +1738,11 @@ if test "${enable_livedotcom}"
 then
   AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
 fi
-
 if test "${enable_livedotcom}" = "no"
 then
   enable_live555="no"
 fi
+
 AC_ARG_ENABLE(live555,
 [  --enable-live555        live555 RTSP input plugin (default enabled)])
 if test "${enable_live555}" != "no"; then
@@ -1814,23 +1766,41 @@ if test "${enable_live555}" != "no"; then
       CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
     fi
     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
+
+    AC_CHECK_HEADERS(liveMedia_version.hh, [
+      AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
+      AC_EGREP_CPP(yes,
+        [#include <liveMedia_version.hh>
+         #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
+         #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
+         yes
+         #endif
+         #endif],
+        [AC_MSG_RESULT([no])
+         AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia. 
+lternatively you can use --disable-live555 to disable the liveMedia plugin.])
+      ],[
+        AC_MSG_RESULT([yes])
+        ])
+    ])
+     other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
+     other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
+      if test "${SYS}" = "mingw32"; then
+        # add ws2_32 for closesocket, select, recv
+        other_libs="$other_libs -lws2_32"
+      fi
+    dnl We need to check for pic because live555 don't provide shared libs
+    dnl and we want to build a plugins so we need -fPIC on some arch.
     AC_CHECK_HEADERS(liveMedia.hh, [
       VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
-      AC_CHECK_LIB(liveMedia_pic, main, [
-        # We have -lliveMedia_pic, build plugins
-        VLC_ADD_PLUGIN([live555])
-        VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
-      ], [
+        AC_CHECK_LIB(liveMedia_pic, main, [
+          VLC_ADD_PLUGIN([live555])
+         VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
+        ],[
         AC_CHECK_LIB(liveMedia, main, [
-          # We only have -lliveMedia, do builtins
           VLC_ADD_PLUGIN([live555])
-          VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
-        ])
-      ])
-      if test "${SYS}" = "mingw32"; then
-        # add ws2_32 for closesocket, select, recv
-        VLC_ADD_LIBS([live555],[-lws2_32])
-      fi
+          VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
+        ],[],[${other_libs}]) ],[${other_libs_pic}])
     ])
     CPPFLAGS="${CPPFLAGS_save}"
     AC_LANG_POP(C++)
@@ -1845,6 +1815,23 @@ if test "${enable_live555}" != "no"; then
     if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
       AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
 
+      AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
+        AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
+        AC_EGREP_CPP(yes,
+          [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
+           #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
+           #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
+           yes
+           #endif
+           #endif],
+          [AC_MSG_RESULT([no])
+           AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia. 
+lternatively you can use --disable-live555 to disable the liveMedia plugin.])
+        ],[
+          AC_MSG_RESULT([yes])
+          ])
+      ])
+
       VLC_ADD_PLUGIN([live555])
 
       if test "${SYS}" = "mingw32"; then
@@ -1959,7 +1946,7 @@ then
     then
       dnl  Use a custom libraw1394
       AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
-      VLC_ADD_BUILTINS([access_dv])
+      VLC_ADD_PLUGIN([access_dv])
       VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
       VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
     else
@@ -2076,7 +2063,7 @@ then
       then
         dnl  Use a custom libdvdread
         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
-        VLC_ADD_BUILTINS([dvdread])
+        VLC_ADD_PLUGIN([dvdread])
         VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
       else
@@ -2233,6 +2220,7 @@ dnl  libdvbpsi ts demux/mux
 dnl
 AC_ARG_ENABLE(dvbpsi,
   [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
+have_dvbpsi=no
 if test "${enable_dvbpsi}" != "no"
 then
   AC_ARG_WITH(dvbpsi,
@@ -2248,7 +2236,8 @@ then
           if test "${enable_sout}" != "no"; then
             VLC_ADD_PLUGIN([mux_ts])
           fi
-          VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
+          VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
+         have_dvbpsi=yes],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
         [#if defined( HAVE_STDINT_H )
 #   include <stdint.h>
@@ -2272,12 +2261,13 @@ then
       then
         dnl  Use a custom libdvbpsi
         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
-        VLC_ADD_BUILTINS([ts])
+        VLC_ADD_PLUGIN([ts])
         if test "${enable_sout}" != "no"; then
-          VLC_ADD_BUILTINS([mux_ts])
+          VLC_ADD_PLUGIN([mux_ts])
         fi
         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
         VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
+       have_dvbpsi=yes
       else
         dnl  The given libdvbpsi wasn't built
         AC_MSG_RESULT(no)
@@ -2306,7 +2296,7 @@ then
       fi
       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
       VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
-
+      have_dvbpsi=yes
     ],[
       if test -n "${enable_dvbpsi}"
       then
@@ -2357,7 +2347,11 @@ then
     VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
   fi
 
-  AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
+  if test "${enable_alsa}" != "no"
+  then
+    AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
+  fi
+
   if test "${have_v4l2_alsa}" = "true"
   then
     CFLAGS="${CFLAGS_save}"
@@ -2595,22 +2589,21 @@ AC_ARG_ENABLE(dvb,
 
 if test "${enable_dvb}" != "no"
 then
-  AC_ARG_WITH(dvb,
-  [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
-  if test "${with_dvb}" != "no" -a -n "${with_dvb}"
-  then
-    VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
-  fi
-  CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
-  AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
-    if test -z "${with_dvbpsi_tree}"
-    then
-      VLC_ADD_PLUGIN([dvb])
-    else
-      VLC_ADD_BUILTINS([dvb])
-    fi
-  ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
-  CPPFLAGS="${CPPFLAGS_save}"
+    AS_IF([test "${have_dvbpsi}" = "yes" ],[  
+    AC_ARG_WITH(dvb,
+     [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
+     if test "${with_dvb}" != "no" -a -n "${with_dvb}"
+     then
+       VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
+     fi
+     CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
+     AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
+     VLC_ADD_PLUGIN([dvb])
+     ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
+     CPPFLAGS="${CPPFLAGS_save}"
+   ],[
+     AC_MSG_WARN([the dvb access module requires libdvbpsi])
+    ]) 
 fi
 
 dnl
@@ -2716,7 +2709,7 @@ AC_ARG_ENABLE(mkv,
 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
   AC_LANG_PUSH(C++)
   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
-    AC_MSG_CHECKING(for libebml version >= 0.7.6)
+    AC_MSG_CHECKING(for libebml version >= 0.7.7)
     AC_EGREP_CPP(yes,
       [#include <ebml/EbmlVersion.h>
        #ifdef LIBEBML_VERSION
@@ -2726,7 +2719,7 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
        #endif],
       [AC_MSG_RESULT([yes])
         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
-          AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
+          AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
           AC_EGREP_CPP(yes,
             [#include <matroska/KaxVersion.h>
              #ifdef LIBMATROSKA_VERSION
@@ -2892,7 +2885,7 @@ then
       VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
       LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
       AC_CHECK_LIB(mad, mad_bit_init, [
-        VLC_ADD_BUILTINS([mpgatofixed32])
+        VLC_ADD_PLUGIN([mpgatofixed32])
         VLC_ADD_LIBS([mpgatofixed32],[-lmad])
         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
       ],[])
@@ -2933,6 +2926,11 @@ dnl
 dnl  avcodec decoder/encoder plugin
 dnl
 
+if test "${with_ffmpeg_tree}"
+then
+  AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
+fi
+
 AC_ARG_ENABLE(avcodec,
 [  --enable-avcodec        libavcodec codec (default enabled)])
 if test "${enable_avcodec}" != "no"
@@ -2949,7 +2947,7 @@ then
       VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
+      AC_MSG_FAILURE([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
   ])
 fi
 
@@ -2973,7 +2971,7 @@ then
       VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
+      AC_MSG_FAILURE([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
   ])
 fi
 
@@ -3030,7 +3028,7 @@ then
           AC_MSG_WARN([Could not find img_resample in libavcodec.])
           if test "${enable_swscale}" != "no"
           then
-            AC_MSG_ERROR([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
+            AC_MSG_FAILURE([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
           fi
        # That sed hack to add -rpath is kind of ugly but at least it fixes
         # detection when linking against a shared libavcodec with
@@ -3089,7 +3087,7 @@ then
     then
       dnl  Use a custom faad
       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
-      VLC_ADD_BUILTINS([faad])
+      VLC_ADD_PLUGIN([faad])
       VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
     else
@@ -3137,7 +3135,7 @@ then
     then
       dnl  Use a custom twolame
       AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
-      VLC_ADD_BUILTINS([twolame])
+      VLC_ADD_PLUGIN([twolame])
       VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
     else
@@ -3169,7 +3167,7 @@ if test "${enable_quicktime}" != "no" &&
   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
 then
   if test "${SYS}" = "mingw32"; then
-    VLC_ADD_BUILTINS([quicktime])
+    VLC_ADD_PLUGIN([quicktime])
   else
   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
     [ VLC_ADD_PLUGIN([quicktime])
@@ -3212,7 +3210,7 @@ dnl
 dnl skins2 module
 dnl
 AC_ARG_ENABLE(libtar,
-  [  --enable-libtar support for skins2 (default enabled)])
+  [  --enable-libtar         libtar support for skins2 (default enabled)])
 
 AS_IF([test "${enable_libtar}" != "no"],[
   AC_CHECK_HEADERS(libtar.h, [
@@ -3249,7 +3247,7 @@ then
       VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
       LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
       AC_CHECK_LIB(a52, a52_free, [
-        VLC_ADD_BUILTINS([a52tofloat32])
+        VLC_ADD_PLUGIN([a52tofloat32])
         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
         VLC_ADD_LIBS([a52tofloat32],[-la52])
         ],[
@@ -3419,7 +3417,7 @@ then
   ],[
    PKG_CHECK_MODULES(LIBMPEG2,[libmpeg2 > 0.3.2],[ 
           VLC_ADD_PLUGIN([libmpeg2])
-          VLC_ADD_LIBS([libmpeg2], $LIBMPEG2_LIBS),
+          VLC_ADD_LIBS([libmpeg2], $LIBMPEG2_LIBS)
           VLC_ADD_CFLAGS([libmpeg2], $LIBMPEG2_CFLAGS)
        ], 
       AC_MSG_WARN([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ . Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.]))
@@ -3540,7 +3538,7 @@ then
     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
     if test -f "${real_tarkin_tree}/tarkin.o"
     then
-      VLC_ADD_BUILTINS([tarkin])
+      VLC_ADD_PLUGIN([tarkin])
       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
       VLC_ADD_LIBS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
       AC_MSG_RESULT(yes)
@@ -3589,7 +3587,7 @@ dnl
 dnl  schroedinger decoder plugin (for dirac format video)
 dnl
 AC_ARG_ENABLE(schroedinger,
-[  --disable-schroedinger   high performance dirac codec (default enabled)])
+[  --disable-schroedinger  high performance dirac codec (default enabled)])
 if test "${enable_schroedinger}" != "no"; then
   PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0], [
       VLC_ADD_PLUGIN([schroedinger])
@@ -3699,12 +3697,9 @@ AC_ARG_ENABLE(zvbi,
                  libzvbi (default enabled)]))
 AC_ARG_ENABLE(telx,
   AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with 
-                 zvbi) (default disabled)]))
+                 zvbi) (default enabled if zvbi is absent)]))
 
 AS_IF( [test "${enable_zvbi}" != "no"],[
-  AS_IF( [test "${enable_telx}" = "yes"],[
-    AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
-  ],[
     PKG_CHECK_MODULES(ZVBI,
        zvbi-0.2 >= 0.2.25,
        [
@@ -3712,13 +3707,15 @@ AS_IF( [test "${enable_zvbi}" != "no"],[
          VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
           VLC_ADD_PLUGIN([zvbi])
          AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built]) 
+         AS_IF( [test "${enable_telx}" = "yes"],[
+                 AC_MSG_WARN([The zvbi and telx modules are uncompatibles. 
+                              Using zvbi.])
+                 ])
        ],[
          AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
-         enable_telx="yes"
        ])
     ])  
-  ])
-AS_IF( [test "${enable_telx}" = "yes"],[
+AS_IF( [test "${enable_telx}" != "no" ],[
   VLC_ADD_PLUGIN([telx])
   ])
 
@@ -3739,6 +3736,31 @@ AS_IF( [test "${enable_csri}" = "yes"], [
       ])
   ])
 
+dnl
+dnl libass subtitle rendering module
+dnl
+AC_ARG_ENABLE(libass,
+  [  --enable-libass         Subtitle support using libass (default disabled)])
+AS_IF( [test "${enable_libass}" = "yes"], [
+  PKG_CHECK_MODULES(LIBASS, libass >= 0.9.5,
+      [
+        VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
+        VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
+        VLC_ADD_PLUGIN([libass])
+
+        AC_CHECK_HEADERS(fontconfig/fontconfig.h,
+          [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
+        if test "${SYS}" = "mingw32"; then
+           VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv  -lxml2])
+        else
+           VLC_ADD_LIBS([libass],[-lfontconfig])
+        fi
+       ])
+      ],[
+        AC_MSG_WARN([LIBASS library not found])
+      ])
+  ])
+
 dnl
 dnl asa demuxer
 dnl
@@ -3775,7 +3797,7 @@ dnl
 AC_ARG_ENABLE(kate,
 [  --enable-kate           kate codec (default enabled)])
 AS_IF([test "${enable_kate}" != "no"], [
-  PKG_CHECK_MODULES(KATE,[kate >= 0.1.2], [
+  PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
       VLC_ADD_PLUGIN([kate])
       VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
       VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
@@ -3859,23 +3881,9 @@ if test "${enable_xvideo}" != "no" &&
   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
     CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
     AC_CHECK_LIB(Xv,XvPutImage,[
-      # If libXv.so is available, xvideo can be a plugin. Otherwise, we
-      # test for libXv_pic.
-      if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
         VLC_ADD_PLUGIN([xvideo])
         VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
         VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
-      else
-        AC_CHECK_LIB(Xv_pic,XvPutImage,[
-          VLC_ADD_PLUGIN([xvideo])
-          VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
-          VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
-        ],[
-          VLC_ADD_BUILTINS([xvideo])
-          VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
-          VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
-        ])
-      fi
     ])
     CFLAGS="${CFLAGS_save}"
   ]
@@ -4115,6 +4123,8 @@ AC_ARG_ENABLE(freetype,
   [  --enable-freetype       freetype support (default enabled)])
 AC_ARG_ENABLE(fribidi,
   [  --enable-fribidi        fribidi support (default enabled)])
+AC_ARG_ENABLE(fontconfig,
+  [  --enable-fontconfig,    fontconfig support (default enabled)])
 if test "${enable_freetype}" != "no"
 then
    PKG_CHECK_MODULES(FREETYPE, freetype2,[
@@ -4124,12 +4134,18 @@ then
       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_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
-       VLC_ADD_LIBS([freetype],[-lfontconfig])])
-    AC_CHECK_HEADERS(Carbon/Carbon.h,
-      [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
+      fi
+      if test "${SYS}" = "mingw32"; then
+        VLC_ADD_LIBS([freetype],[-liconv])
+      fi
+      if test "${enable_fontconfig}" != "no"
+      then
+        AC_CHECK_HEADERS(fontconfig/fontconfig.h,
+          [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
+           VLC_ADD_LIBS([freetype],[-lfontconfig])])
+        AC_CHECK_HEADERS(Carbon/Carbon.h,
+          [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
+      fi
   ],[
   have_freetype=no
   AS_IF([ test "${enable_freetype}" =  "yes"],[
@@ -4427,15 +4443,19 @@ AC_ARG_ENABLE(ggi,
   [  --enable-ggi            GGI support (default disabled)])
 if test "${enable_ggi}" = "yes"
 then
-  VLC_ADD_PLUGIN([ggi])
-  VLC_ADD_LIBS([ggi],[-lggi])
-  AC_ARG_WITH(ggi,
-    [    --with-ggi=PATH       path to libggi],
-    [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
-      then
-        VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
-        VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
-      fi ])
+  AC_CHECK_HEADER([ggi/ggi.h],[
+    VLC_ADD_PLUGIN([ggi])
+    VLC_ADD_LIBS([ggi],[-lggi])
+    AC_ARG_WITH(ggi,
+      [    --with-ggi=PATH       path to libggi],
+      [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
+        then
+          VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
+          VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
+        fi ])
+    ],[
+       AC_MSG_ERROR([LibGGI development files can't be found])
+    ])
 fi
 
 dnl
@@ -4774,7 +4794,7 @@ AC_ARG_WITH(,[Interface plugins:])
 dnl special case for BeOS
 if test "${SYS}" = "beos"
 then
-    VLC_ADD_BUILTINS([beos])
+    VLC_ADD_PLUGIN([beos])
 fi
 
 dnl
@@ -4863,7 +4883,9 @@ AS_IF([test "${enable_qt4}" != "no"], [
     ], [
         VLC_ADD_LIBS([qt4],[$QT4_LIBS])
     ])
-    VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
+    QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
+    AC_SUBST(QT4LOCALEDIR)
+    VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
     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)
@@ -4885,7 +4907,7 @@ 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_PLUGIN([wince])
     VLC_ADD_CXXFLAGS([wince],[])
     VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
     dnl Gross hack
@@ -4946,13 +4968,15 @@ 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 qtcapture],[-Wl,-framework,Cocoa])
   VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,Carbon])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,AGL])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,IOKit])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,QuickTime])
+  dnl For bug report
+  VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,AddressBook])
   VLC_ADD_LDFLAGS([macosx qtcapture],                 [-Wl,-framework,QTKit])
   VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreAudio])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
@@ -4960,16 +4984,16 @@ then
   VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreVideo])
   VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
 
-#  VLC_ADD_PLUGIN([access_eyetv])
+  VLC_ADD_PLUGIN([access_eyetv])
   VLC_ADD_PLUGIN([qtcapture])
   VLC_ADD_PLUGIN([macosx])
   VLC_ADD_PLUGIN([minimal_macosx])
  
   ORIGCFLAGS=$CFLAGS
   CFLAGS="$CFLAGS -x objective-c"
-  AC_TRY_COMPILE([#import <QuartzCore/CALayer.h>], 
+  AC_TRY_COMPILE([#import <QuartzCore/CALayer.h>],,
   [VLC_ADD_PLUGIN([opengllayer])
-  VLC_ADD_OBJCFLAGS([opengllayer], [-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5])])
+  VLC_ADD_OBJCFLAGS([opengllayer])],[])
   CFLAGS=$ORIGCFLAGS
 fi
 
@@ -5161,17 +5185,16 @@ dnl  Bonjour services discovery
 dnl
 AC_ARG_ENABLE(bonjour,
   [  --enable-bonjour        Bonjour services discovery (default enabled)])
-if test "${enable_bonjour}" != "no"
-then
-  PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
-    [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
-       [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
-      AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
-      VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
-      VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
-      VLC_ADD_PLUGIN([bonjour]) ],
-    [AC_MSG_WARN(avahi-client library not found)])
-fi
+AS_IF([test "${enable_bonjour}" != "no"], [
+  PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6, [
+    AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define to 1 if you have libavahi-client])
+    VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
+    VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
+    VLC_ADD_PLUGIN([bonjour])
+  ], [
+    AC_MSG_WARN(avahi-client library not found)
+  ])
+])
 
 dnl
 dnl  Lirc plugin
@@ -5368,35 +5391,43 @@ AC_ARG_ENABLE(mozilla,
                  (default disabled)]))
 AC_ARG_WITH(mozilla-sdk-path,
   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
+AC_ARG_WITH(mozilla-pkg,
+  [    --with-mozilla-pkg=PKG  look for PKG.pc to build the mozilla plugin.])
 AC_LANG_PUSH(C++)
 if test "${enable_mozilla}" = "yes" 
 then
-  dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
-  need_xpcom_libs=false
-
-  if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
-  then
-    dnl New firefox-1.5 SDK api
-    PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
-      [
-        PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
-          [],
-          [
-            PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
-              [],
-              [
-                PKG_CHECK_MODULES([NSPR], [nspr],
-                  [],
-                  [
-                    AC_MSG_ERROR([Please install the nspr development tools.])
-                  ]
-                )
-              ]
-            )
-          ])
-        CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
+  AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
+    [
+    dnl pkg-config
+    dnl As we want to do a loop due to the number of name possible for the .pc 
+    dnl we can't use the pkg-config macros.
+
+    AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
+    AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
+    AC_MSG_NOTICE([Checking for Mozilla])
+    found=0
+    if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
+    then
+      found=1
+    else
+      if test -n "$PKG_CONFIG"; then
+       for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
+         echo "Trying to find $i.pc files" >&5
+         if $PKG_CONFIG --exists --print-errors "$i" 2>&5
+         then
+            echo "Using $i.pc files." >&5
+            echo "Using $i.pc files." >&6
+           found=1
+           MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
+           MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
+           break
+         fi
+       done
+      fi
+    fi 
+    AS_IF( [test $found = 1],[
+        CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
         MOZILLA_REQUIRED_HEADERS=1
-        AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
         AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
         AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
           [#if HAVE_NPAPI_H
@@ -5408,94 +5439,32 @@ then
         fi
         MOZILLA_REQUIRED_HEADERS=
         mozilla=:
-        firefox_include=`pkg-config --variable=includedir firefox-plugin`
-        if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
-        elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
-        else
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
-        fi
-        if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
-            AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
-            VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
-        fi
-        VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
-        VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
-        VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
+        AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
+          VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
+          AS_IF([ test "${SYS}" != "darwin"],[
+            PKG_CHECK_MODULES(XPM, [xpm xt],[
+               VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
+            ],[
+               AC_MSG_ERROR([Please install the libXpm and libXt development files.])
+            ])
+          ])
+        ])
+       VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
+        VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
         VLC_ADD_PLUGIN([mozilla])
+        PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
         MOZILLA_CONFIG=
         CPPFLAGS="${CPPFLAGS_save}"
-      ],
-      [
-        PKG_CHECK_MODULES([XULRUNNER], [libxul],
-          [
-            PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
-              [],
-              [
-                PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
-                  [],
-                  [
-                    PKG_CHECK_MODULES([NSPR], [nspr],
-                      [],
-                      [
-                        AC_MSG_ERROR([Please install the nspr development tools.])
-                      ]
-                    )
-                  ]
-                )
-              ]
-            )
-            CPPFLAGS="${CPPFLAGS_save} ${XULRUNNER_CFLAGS} ${XULRUNNER_CPPFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
-            MOZILLA_REQUIRED_HEADERS=1
-            AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
-            AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
-              [#if HAVE_NPAPI_H
-               # include <npapi.h>
-               #endif
-              ])
-            if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
-                AC_MSG_ERROR([Please install the Mozilla runtime package xulrunner-devel; plugplugin/npapi.h and plugin/npruntime.h were not found.])
-            fi
-            MOZILLA_REQUIRED_HEADERS=
-            mozilla=:
-            AC_DEFINE([XP_UNIX],[1],[Defined for Mozilla as we are Unix])
-            AC_DEFINE([MOZ_X11],[1],[Defined as Unix mozilla uses X11])
-            AC_DEFINE([OJI],[1],[Java Runtime Interface])
-            AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
-            VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
-            VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
-            VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
-            VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
-            VLC_ADD_PLUGIN([mozilla])
-            MOZILLA_CONFIG=
-            CPPFLAGS="${CPPFLAGS_save}"
           ],
           [
-            AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
-            if test "${MOZILLA_CONFIG}" = "no"
-            then
-              AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
-              if test "${SEAMONKEY_CONFIG}" = "no"
-              then
-                AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
-                if test "${XULRUNNER_CONFIG}" = "no"
-                then
-                  AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
-                else
-                  have_xul=true
-                  MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
-                fi
-              else
-                MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
-              fi
-            fi
+            AC_PATH_PROGS(MOZILLA_CONFIG, 
+           [mozilla-config seamonkey-config xulrunner-config], 
+            AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
+                 )
           ]
         )
-      ]
-    )
-    if test ! -z "${MOZILLA_CONFIG}"
-    then
+    dnl pkg-config failed but we might have found a mozilla-config
+    AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
       if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
         LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
         AC_CHECK_LIB(Xt,XtStrings,
@@ -5512,13 +5481,8 @@ then
 
       mozilla=:
       PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
-      dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
-      VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
-      if ${need_xpcom_libs}; then
-         VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
-      else
-         VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
-      fi
+      VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
+      VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
       MOZILLA_REQUIRED_HEADERS=1
       AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
@@ -5535,9 +5499,9 @@ then
       MOZILLA_REQUIRED_HEADERS=
       CPPFLAGS="${CPPFLAGS_save}"
       MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
-    fi
+    ])
     dnl End of moz_sdk = ""
-  else
+  ],[
     dnl special case for mingw32
     if test "${SYS}" = "mingw32"
     then
@@ -5582,7 +5546,7 @@ then
       real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
     fi
     CPPFLAGS="${CPPFLAGS_save}"
-  fi
+ ]) 
 fi
 AC_LANG_POP(C++)
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
@@ -5701,17 +5665,22 @@ AS_IF([test "${SYS}" = "mingw32"], [
 dnl
 dnl  Stuff used by the program
 dnl
-AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
-AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
+VERSION_MESSAGE="${VERSION} ${CODENAME}"
+COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
+AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
+AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
+AC_SUBST(COPYRIGHT_MESSAGE)
+AC_SUBST(VERSION_MESSAGE)
 AC_SUBST(VERSION_MAJOR)
 AC_SUBST(VERSION_MINOR)
 AC_SUBST(VERSION_REVISION)
+AC_SUBST(COPYRIGHT_YEARS)
 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
 if test "${build_os}" = "cygwin"
 then
@@ -5721,7 +5690,13 @@ else
 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]) 
-
+dnl Win32 need s a numerical version_extra.
+case $( echo ${VERSION_EXTRA}|wc -m ) in 
+       "1") VERSION_EXTRA_RC="0";;
+       "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
+       *) VERSION_EXTRA_RC="99"
+esac
+AC_SUBST(VERSION_EXTRA_RC)
 dnl
 dnl  Handle substvars that use $(top_srcdir)
 dnl
@@ -5734,6 +5709,11 @@ dnl  Restore *FLAGS
 dnl
 VLC_RESTORE_FLAGS
 
+dnl
+dnl Sort the modules list
+dnl 
+PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
+
 dnl
 dnl  Create the vlc-config script
 dnl
@@ -5763,6 +5743,11 @@ VLC_OUTPUT_VLC_CONFIG_IN
 
 AC_CONFIG_FILES([
   extras/package/win32/vlc.win32.nsi
+  extras/package/macosx/Info.plist
+  extras/package/macosx/Resources/English.lproj/InfoPlist.strings
+  extras/package/macosx/plugin/Info.plist
+  extras/package/macosx/plugin/InstallerInfo.plist
+  extras/package/macosx/plugin/English.lproj/InfoPlist.strings
   Makefile
   projects/activex/Makefile
   projects/activex/axvlc.inf
@@ -5774,8 +5759,14 @@ AC_CONFIG_FILES([
   projects/mozilla/Makefile
   m4/Makefile
   po/Makefile.in
+  projects/activex/axvlc_rc.rc
+  projects/mozilla/npvlc_rc.rc
   share/Makefile
+  share/vlc_win32_rc.rc
+  share/libvlc_win32_rc.rc
   src/Makefile
+  src/test/Makefile
+  bin/Makefile
   test/Makefile
 ])
 
@@ -5814,6 +5805,7 @@ AC_CONFIG_FILES([
   modules/demux/asf/Makefile
   modules/demux/avformat/Makefile
   modules/demux/avi/Makefile
+  modules/demux/mkv/Makefile
   modules/demux/mp4/Makefile
   modules/demux/mpeg/Makefile
   modules/demux/playlist/Makefile
@@ -5865,7 +5857,7 @@ AC_OUTPUT
 ${SHELL} ./config.status --file=vlc-config
 chmod 0755 vlc-config
 
-/bin/echo -n "Enabled modules :"
+/bin/echo -n "Enabled modules"
 ./vlc-config --list plugin
 
 dnl Shortcut to nice compile message