]> git.sesse.net Git - vlc/blobdiff - configure.ac
Oops.
[vlc] / configure.ac
index 685bdb6a102955dbff2d6a9edba6aee2e7aa95e6..0aeb086ec8d77d067300878f35e48672284c8287 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"
@@ -144,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
@@ -233,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"
@@ -395,7 +401,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])
@@ -642,7 +648,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])
@@ -810,10 +816,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
@@ -851,14 +860,16 @@ 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,
     [
@@ -876,7 +887,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,
@@ -1105,7 +1116,6 @@ 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])
@@ -1114,6 +1124,7 @@ VLC_ADD_PLUGIN([lpcm])
 VLC_ADD_PLUGIN([a52])
 VLC_ADD_PLUGIN([dts])
 VLC_ADD_PLUGIN([flac])
+VLC_ADD_PLUGIN([aes3])
 dnl Video filters:
 VLC_ADD_PLUGIN([deinterlace])
 VLC_ADD_PLUGIN([invert])
@@ -1130,7 +1141,6 @@ 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])
@@ -1142,6 +1152,8 @@ VLC_ADD_PLUGIN([logo])
 VLC_ADD_PLUGIN([magnify])
 VLC_ADD_PLUGIN([puzzle])
 VLC_ADD_PLUGIN([colorthres])
+VLC_ADD_PLUGIN([scene])
+VLC_ADD_PLUGIN([yuv])
 dnl Meta demuxers:
 VLC_ADD_PLUGIN([playlist])
 VLC_ADD_PLUGIN([export])
@@ -1163,7 +1175,6 @@ 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])
 
@@ -1701,7 +1712,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, [
@@ -1780,11 +1792,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
@@ -1808,23 +1820,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++)
@@ -1839,6 +1869,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
@@ -1953,7 +2000,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
@@ -2070,7 +2117,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
@@ -2266,9 +2313,9 @@ 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])
@@ -2597,12 +2644,7 @@ then
   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
+  VLC_ADD_PLUGIN([dvb])
   ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
   CPPFLAGS="${CPPFLAGS_save}"
 fi
@@ -2710,7 +2752,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
@@ -2720,7 +2762,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
@@ -2886,7 +2928,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 ])
       ],[])
@@ -2927,6 +2969,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"
@@ -3083,7 +3130,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
@@ -3131,7 +3178,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
@@ -3163,7 +3210,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])
@@ -3243,7 +3290,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])
         ],[
@@ -3413,7 +3460,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.]))
@@ -3534,7 +3581,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)
@@ -3733,6 +3780,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
@@ -3769,7 +3841,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]) ],[
@@ -3853,23 +3925,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}"
   ]
@@ -4118,7 +4176,10 @@ then
       VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
       if test "${SYS}" = "mingw32"; then
         VLC_ADD_LIBS([freetype skins2],[-lxml2])
-     fi
+      fi
+      if test "${SYS}" = "mingw32"; then
+        VLC_ADD_LIBS([freetype],[-liconv])
+      fi
     AC_CHECK_HEADERS(fontconfig/fontconfig.h,
       [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
        VLC_ADD_LIBS([freetype],[-lfontconfig])])
@@ -4768,7 +4829,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
@@ -4857,7 +4918,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)
@@ -4879,7 +4942,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
@@ -4940,13 +5003,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])
@@ -4954,16 +5019,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
 
@@ -5155,17 +5220,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
@@ -5365,30 +5429,38 @@ AC_ARG_WITH(mozilla-sdk-path,
 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 seamonkey iceape xulrunner firefox iceweasel mozilla; do
+         echo "Trying to find $i .pc files" >&5
+         i="${i}-xpcom ${i}-plugin"
+         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)
@@ -5402,94 +5474,30 @@ 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]))
+       AC_EGREP_CPP(yes,
+            [#include <mozilla-config.h>
+             #ifdef MOZ_X11
+             yes
+             #endif],
+            [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}])
+        VLC_ADD_LIBS([mozilla],[${MOZILLA_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,
@@ -5506,13 +5514,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)
@@ -5529,9 +5532,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
@@ -5576,7 +5579,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})
@@ -5720,7 +5723,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
@@ -5733,6 +5742,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
@@ -5766,6 +5780,7 @@ AC_CONFIG_FILES([
   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
@@ -5777,8 +5792,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
 ])
 
@@ -5868,7 +5889,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