]> git.sesse.net Git - vlc/blobdiff - configure.ac
* added x264 and live to the linux target
[vlc] / configure.ac
index 4f1666f414d11866319369eb28da0528d69bc198..d5ce09069b634b5e6d7e46eadf362453a0af6a6e 100644 (file)
@@ -73,38 +73,42 @@ AC_C_INLINE
 dnl
 dnl  Check for the contrib directory
 dnl
-topdir="`dirname $0`"
-if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
-  topdir="`pwd`/$topdir"
-fi
-
-if test -d ${topdir}/extras/contrib/lib; then
-  export PATH=${topdir}/extras/contrib/bin:$PATH
-  CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
-  CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
-  CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
-  CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
-  CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
-  CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
-  OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
-  OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
-  if test -d ${topdir}/extras/contrib/vlc-lib; then
-    LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
-    LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
-  fi
-  LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
-  LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
-  with_livedotcom_tree=${topdir}/extras/contrib/src/live
-  with_goom_tree=${topdir}/extras/contrib/src/goom
-  if test ".`uname -s`" = ".Darwin"; then
-    export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
-    export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
-  elif test ".`uname -s`" = ".BeOS"; then
-    export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
-    export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
+AC_ARG_WITH(contrib,
+    [  --without-contrib       do not use the libraries in extras/contrib],[],[])
+  if test "${with_contrib}" != "no"; then 
+
+    topdir="`dirname $0`"
+    if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
+       topdir="`pwd`/$topdir"
+    fi
+
+  if test -d ${topdir}/extras/contrib/lib; then
+    export PATH=${topdir}/extras/contrib/bin:$PATH
+    CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
+    CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
+    CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
+    CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
+    CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
+    CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
+    OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
+    OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
+    if test -d ${topdir}/extras/contrib/vlc-lib; then
+      LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
+      LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
+    fi
+    LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
+    LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
+    with_livedotcom_tree=${topdir}/extras/contrib/src/live
+    with_goom_tree=${topdir}/extras/contrib/src/goom
+    if test ".`uname -s`" = ".Darwin"; then
+      export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
+      export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
+    elif test ".`uname -s`" = ".BeOS"; then
+      export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
+      export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
+    fi
   fi
 fi
-
 dnl
 dnl  Set default values
 dnl
@@ -174,7 +178,7 @@ case "${target_os}" in
         VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
         VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
-    fi
+   fi
     ;;
   *nto*)
     SYS=nto
@@ -215,7 +219,7 @@ AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
 dnl
 dnl Gettext stuff
 dnl
-ALL_LINGUAS="ca da de en_GB es fr it ja nl pt_BR ro ru tr zh_TW"
+ALL_LINGUAS="ca da de en_GB es fr it ja ko nl pt_BR ro ru tr zh_TW"
 AM_GNU_GETTEXT_VERSION(0.11.5)
 AM_GNU_GETTEXT
 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
@@ -235,8 +239,10 @@ XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
 dnl
 dnl Iconv stuff
 dnl
+if test "${SYS}" != "mingwce"; then
 AS_IF([test "$am_cv_func_iconv" != "yes"],
        [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
+fi
 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
 
@@ -294,6 +300,9 @@ dnl Plugin compilation stuff
 
 VLC_LIBRARY_SUFFIX
 
+VLC_SYMBOL_PREFIX
+AC_SUBST(SYMPREF)
+
 case "${SYS}" in
   mingw32|cygwin)
     VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
@@ -316,7 +325,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd
 dnl Check for system libs needed
 need_libc=false
 
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof 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)
+AC_CHECK_FUNCS(gettimeofday select strerror 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)
 
 dnl Check for usual libc functions
 AC_CHECK_FUNCS(strdup strndup atof)
@@ -650,7 +659,7 @@ AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h i
 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-AC_CHECK_HEADERS(machine/param.h sys/shm.h altivec.h)
+AC_CHECK_HEADERS(machine/param.h sys/shm.h)
 AC_CHECK_HEADERS(linux/version.h)
 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
@@ -981,7 +990,7 @@ VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32])
 VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
-VLC_ADD_PLUGINS([playlist export sgimb m3u xtag])
+VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag])
 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo])
 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
@@ -992,7 +1001,7 @@ VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
 if test "${SYS}" != "mingwce"; then
 dnl  VLC_ADD_PLUGINS([externrun])
   VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
-  VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq sap shout fake])
+  VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq shout sap fake])
   VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
   VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
   VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
@@ -1103,32 +1112,58 @@ if test "${ac_cv_altivec_inline}" != "no"; then
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
 fi
 
+dnl The AltiVec C extensions
+dnl
+dnl There are several possible cases:
+dnl - OS X PPC, gcc 4.x: use -mpim-altivec, don't need <altivec.h>
+dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
+dnl - Linux PPC, gcc 4.x: need <altivec.h> which itself requires -maltivec
+dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
+dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
+dnl - Others: test should fail
 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
-    [ac_cv_c_altivec],
-    [# Darwin test
-     CFLAGS="${CFLAGS_save} -faltivec"
-     AC_TRY_COMPILE([],
-       [vec_ld(0, (unsigned char *)0);],
-       [ac_cv_c_altivec="-faltivec"],
-       [# Linux/PPC test (no flags)
-        CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec"
-        AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
-                        #include <altivec.h>
-                        #endif],
-          [vec_ld(0, (unsigned char *)0);],
-          [ac_cv_c_altivec=""
-           ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
-          [# Linux/PPC test (old GCC versions)
-           CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
-           AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
-                           #include <altivec.h>
-                           #endif],
-             [vec_ld(0, (unsigned char *)0);],
-             [ac_cv_c_altivec="-fvec"],
-             [ac_cv_c_altivec=no])
+  [ac_cv_c_altivec],
+  [# OS X/PPC test (gcc 4.x)
+   CFLAGS="${CFLAGS_save} -mpim-altivec"
+   AC_TRY_COMPILE([],
+     [vec_ld(0, (unsigned char *)0);],
+     [ac_cv_c_altivec="-mpim-altivec"],
+     [# OS X/PPC test (gcc 3.x)
+      CFLAGS="${CFLAGS_save} -faltivec"
+      AC_TRY_COMPILE([],
+        [vec_ld(0, (unsigned char *)0);],
+        [ac_cv_c_altivec="-faltivec"],
+        dnl Below this are the Linux tests
+        [# Linux/PPC test (gcc 4.x)
+         CFLAGS="${CFLAGS_save} -maltivec"
+         AC_TRY_COMPILE([#include <altivec.h>],
+           [vec_ld(0, (unsigned char *)0);],
+           [ac_cv_c_altivec="-maltivec"],
+           [# Linux/PPC test (gcc 3.3)
+            CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
+            AC_TRY_COMPILE([#include <altivec.h>],
+              [vec_ld(0, (unsigned char *)0);],
+              [ac_cv_c_altivec=""
+               ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
+              [# Linux/PPC test (gcc 3.3)
+               CFLAGS="${CFLAGS_save} -fvec"
+               AC_TRY_COMPILE([#include <altivec.h>],
+                 [vec_ld(0, (unsigned char *)0);],
+                 [ac_cv_c_altivec="-fvec"],
+                 [ac_cv_c_altivec=no])
+              ])
            ])
         ])
-     CFLAGS="${CFLAGS_save}"])
+     ])
+   CFLAGS="${CFLAGS_save}"
+  ])
+
+if test "${ac_cv_c_maltivec}" != "no"; then
+  CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_maltivec}"
+fi
+AC_CHECK_HEADERS(altivec.h)
+CPPFLAGS="${CPPFLAGS_save}"
+
 if test "${ac_cv_c_altivec}" != "no"; then
   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
   VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
@@ -1167,20 +1202,23 @@ else
     elif test "${target_cpu}" = "powerpc"; then
         CFLAGS_TUNING="-mtune=750";
     fi
+fi
 
-    dnl NOTE: this can't be cached cleanly
-    AS_IF([test "${CFLAGS_TUNING}"],
-       [CFLAGS_save="${CFLAGS}"
-        CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
+dnl NOTE: this can't be cached cleanly
+AS_IF([test "${CFLAGS_TUNING}"],
+   [CFLAGS_save="${CFLAGS}"
+    CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
 
-        AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
-        AC_COMPILE_IFELSE([ ], [tuning="yes"],
-                               [CFLAGS_TUNING=""; tuning="no"])
+    AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
+    AC_COMPILE_IFELSE([ ],
+                      [tuning="yes"],
+                      [CFLAGS_TUNING=""; tuning="no"
+                       AS_IF([test "${with_tuning}"],
+                             [AC_MSG_ERROR([requested tuning not supported])])])
 
-        AC_MSG_RESULT([$tuning])
-        CFLAGS="${CFLAGS_save}"
-    ])
-fi
+    AC_MSG_RESULT([$tuning])
+    CFLAGS="${CFLAGS_save}"
+])
 
 dnl
 dnl  x86 accelerations
@@ -1249,6 +1287,18 @@ then
   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
 fi
 
+dnl Check for libshout
+AC_ARG_ENABLE(shout,
+  [  --enable-shout          libshout output plugin (default disabled)])
+if test "${enable_shout}" = "yes"; then
+  PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
+    [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
+     VLC_ADD_PLUGINS([access_output_shout])
+     VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
+     VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
+    [AC_MSG_WARN(libshout library not found)])
+fi
+
 dnl
 dnl HTTP daemon
 dnl
@@ -1312,7 +1362,7 @@ AC_ARG_WITH(,[Input plugins:])
 dnl  live.com input
 dnl
 AC_ARG_ENABLE(livedotcom,
-[  --enable-livedotcom     live.com input plugin (default disabled)])
+[  --enable-livedotcom     live.com RTSP input plugin (default disabled)])
 if test "${enable_livedotcom}" = "yes"; then
   AC_ARG_WITH(livedotcom-tree,
     [    --with-livedotcom-tree=PATH live.com tree for static linking])
@@ -1506,6 +1556,9 @@ if test "${enable_smb}" != "no"; then
     [ if test -n "${enable_smb}"; then
         AC_MSG_ERROR([cannot find libsmbclient headers])
      fi ])
+  AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
+    AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
+    [#include <libsmbclient.h>])
 fi
 
 dnl
@@ -1557,7 +1610,7 @@ then
           VLC_ADD_BUILTINS([mux_ts])
         fi
         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
-        VLC_ADD_LDFLAGS([mux_ts ts dvb],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
+        VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
       else
         dnl  The given libdvbpsi wasn't built
         AC_MSG_RESULT(no)
@@ -1629,10 +1682,26 @@ then
   VLC_ADD_PLUGINS([pvr])
 fi
 
+dnl
+dnl  gnomeVFS access module
+dnl
+AC_ARG_ENABLE(gnomevfs,
+  [  --enable-gnomevfs      GnomeVFS access module (default enables)])
+if test "{enable_gnomevfs}" != "no"
+then
+  PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
+    VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
+    VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
+    VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
+    VLC_ADD_PLUGINS([access_gnomevfs]),
+    AC_MSG_WARN([GnomeVFS support disbaled because GnomeVFS development headers not found]))
+fi
+
 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
 AC_ARG_ENABLE(libcdio,
   [  --enable-libcdio        CD input and control library support (default enabled)])
+
+
 have_libcdio=no
 have_libvcdinfo=no
 if test "${enable_libcdio}" != "no"
@@ -1793,7 +1862,7 @@ then
     else
       VLC_ADD_BUILTINS([dvb])
     fi
-  ],[])
+  ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
   CPPFLAGS="${CPPFLAGS_save}"
 fi
 
@@ -1835,7 +1904,7 @@ have_ipv6=no
 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
   AC_CHECK_LIB(resolv,inet_pton,
     [have_ipv6=yes
-     VLC_ADD_LDFLAGS([ipv6],[-lresolv])])
+     VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])])
 ])
 
 AS_IF([test "${have_ipv6}" == "yes"], [
@@ -2090,7 +2159,7 @@ dnl Look for a ffmpeg-config (we are on debian )
       AC_CHECK_LIB(avformat, av_open_input_stream, [
         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
         [Define if you have ffmpeg's libavformat.])
-        VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz])
+        VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
       LDFLAGS="${LDFLAGS_save}"
       CPPFLAGS="${CPPFLAGS_save}"
     fi
@@ -2940,7 +3009,7 @@ then
   if test "${SDL_CONFIG}" != "no"
   then
     # SDL on Darwin is heavily patched and can only run SDL_image
-    if test "${SYS}" != "darwin"; then
+    if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
       VLC_ADD_PLUGINS([vout_sdl aout_sdl])
     fi
     VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
@@ -2957,6 +3026,12 @@ Please install it and try again. Alternatively you can also configure with
     AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
       <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
       VLC_ADD_PLUGINS([sdl_image])
+      AC_CHECK_LIB(png, png_set_rows,
+        [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
+      AC_CHECK_LIB(jpeg, jpeg_start_decompress,
+        [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
+      AC_CHECK_LIB(tiff, TIFFClientOpen,
+        [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
       VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
       [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
           As a last resort we also test for SDL_image.h presence),
@@ -2970,6 +3045,7 @@ You should install it alongside your SDL package.])
 Please install it and try again. Alternatively you can also configure with
 --disable-sdl.])
     fi
+
   elif test "${enable_sdl}" =  "yes"
   then
     AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
@@ -3381,18 +3457,18 @@ AC_ARG_ENABLE(portaudio,
 dnl
 dnl  aRts module -- broken (freeze wxWidgets)
 dnl
-dnl AC_ARG_ENABLE(arts,
-dnl  [  --enable-arts           aRts sound server (default disabled)],
-dnl  [if test "${enable_arts}" = "yes"
-dnl   then
-dnl     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
-dnl     if test "${ARTS_CONFIG}" != "no"
-dnl     then
-dnl       VLC_ADD_PLUGINS([arts])
-dnl       VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
-dnl       VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
-dnl     fi
-dnl   fi])
+AC_ARG_ENABLE(arts,
+ [  --enable-arts           aRts sound server (default disabled)],
+ [if test "${enable_arts}" = "yes"
+  then
+    AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
+    if test "${ARTS_CONFIG}" != "no"
+    then
+      VLC_ADD_PLUGINS([arts])
+      VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
+      VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
+    fi
+  fi])
 
 dnl
 dnl  ALSA module
@@ -4095,6 +4171,21 @@ then
       [AC_MSG_WARN(DAAP library not found)])
 fi
 
+dnl
+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,
+    [AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
+      VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
+      VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
+      VLC_ADD_PLUGINS([bonjour]) ],
+    [AC_MSG_WARN(avahi-client library not found)])
+fi
+
 dnl
 dnl  Lirc plugin
 dnl
@@ -4252,7 +4343,10 @@ dnl
 mozilla=false
 AC_ARG_ENABLE(mozilla,
   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
-if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32"
+AC_ARG_WITH(mozilla-sdk-path,
+  [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
+
+if test "${enable_mozilla}" = "yes" -a "${with_mozilla_sdk_path}" = ""
 then
   AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
   if test "${MOZILLA_CONFIG}" = "no"
@@ -4280,23 +4374,29 @@ then
 dnl special case for mingw32
 elif test "${enable_mozilla}" = "yes"
 then
-  AC_CHECK_TOOL(CYGPATH, cygpath, "")
-  AC_ARG_WITH(mozilla-sdk-path,
-    [    --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [
-    real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
-    CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}"
-    AC_CHECK_HEADERS(mozilla-config.h, [
-      mozilla=:
-      VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
-      VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at])
-      XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl"
-      if test -n "${CYGPATH}"; then
-        XPIDL="${real_mozilla_sdk}/xpcom/bin/xpidl"
-        real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
-        XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}/xpcom/idl\""
-      fi ])
-    CPPFLAGS="${CPPFLAGS_save}"
-  ])
+  if test "${SYS}" = "mingw32"; then
+    AC_CHECK_TOOL(CYGPATH, cygpath, "")
+    mozilla_sdk_xpcom="/xpcom"
+  fi
+
+  real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
+  CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
+  AC_CHECK_HEADERS(mozilla-config.h, [
+    mozilla=:
+    VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
+    VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
+    if test "${SYS}" = "mingw32"; then
+      VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
+    fi
+
+    XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
+    XPIDL="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin/xpidl"
+
+    if test -n "${CYGPATH}"; then
+      real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
+      XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
+    fi ])
+  CPPFLAGS="${CPPFLAGS_save}"
 fi
 
 dnl Not necessarily in ${PATH}
@@ -4423,6 +4523,23 @@ then
 fi]
 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
 
+AC_ARG_ENABLE(shared-libvlc,
+  [  --enable-shared-libvlc  shared libvlc (default disabled EXPERIMENTAL)],
+  ,[shared_libvlc=no])
+
+AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
+AS_IF([test "${shared_libvlc}" != "no"], [
+  AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
+])
+
+pic=no
+AS_IF([test "${shared_libvlc}" != "no"], [pic=pic])
+AS_IF([${mozilla}], [pic=pic])
+AS_IF([test "${SYS}" = "mingw32"], [pic=no])
+
+AS_IF([test "${pic}" = "no"], [pic=])
+AC_SUBST(pic)
+
 dnl Import conditional variables generated by bootstrap
 VLC_CONDITIONALS
 
@@ -4436,20 +4553,25 @@ AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major numb
 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(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`", [host which ran configure]) 
+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 Old definitions for version-dependant plugins
 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
 
-dnl New definitions with value matching 0.8.2 release
-AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__0_8_2", [String suffix for module functions])
-AC_DEFINE_UNQUOTED(MODULE_SYMBOL, 0_8_2, [Symbol suffix for module functions])
-
-dnl Version number for ActiveX INF
-VERSION32="`echo -n ${VERSION} | sed -e 's/@<:@a-z\-@:>@//g' | sed -e 'y/./,/'`"
-VERSION32="`echo -n ${VERSION32}',0'`"
-AC_SUBST(VERSION32)
+dnl New definitions with value matching 0.8.4 release
+module_symbol="0_8_4"
+AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
+AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
+VLC_ENTRY="vlc_entry__${module_symbol}"
+AC_SUBST(VLC_ENTRY)
 
 DATA_PATH="${ac_tool_prefix}/share/vlc"
 AC_SUBST(DATA_PATH)
@@ -4510,7 +4632,6 @@ AC_CONFIG_FILES([
   m4/Makefile
   po/Makefile.in
   share/Makefile
-  src/Makefile
 ])
 
 AC_CONFIG_FILES([
@@ -4538,6 +4659,7 @@ AC_CONFIG_FILES([
   modules/codec/ffmpeg/Makefile
   modules/codec/spudec/Makefile
   modules/control/Makefile
+  modules/control/http/Makefile
   modules/control/corba/Makefile
   modules/demux/Makefile
   modules/demux/asf/Makefile