]> git.sesse.net Git - vlc/blobdiff - configure.ac
* modules/audio_output/directx.c: backport of 11335.
[vlc] / configure.ac
index 550b413966ae050c19b318f837b82f834062a281..115d4114266b45184de274687fbe32a33959abf5 100644 (file)
@@ -1,7 +1,7 @@
 dnl Autoconf settings for vlc
 dnl $Id$
  
-AC_INIT(vlc,0.8.2-svn)
+AC_INIT(vlc,0.8.2-test2)
 
 CONFIGURE_LINE="$0 $*"
 CODENAME="Janus"
@@ -13,7 +13,7 @@ AC_CANONICAL_SYSTEM
 
 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
 dnl them. And we need the comma otherwize automake will choke on it.
-AM_INIT_AUTOMAKE(vlc,0.8.2-svn)
+AM_INIT_AUTOMAKE(vlc,0.8.2-test2)
 AM_CONFIG_HEADER(config.h)
 
 dnl
@@ -28,7 +28,10 @@ AC_PROG_CC
 AM_PROG_CC_C_O
 AC_PROG_CPP
 AC_PROG_CXX
-AC_PROG_CXXCPP
+eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
+if test "${CXX}" != ""; then
+  AC_PROG_CXXCPP
+fi
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
 
@@ -126,9 +129,9 @@ case "${target_os}" in
     VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
     VLC_ADD_CFLAGS([libvlc],[-x objective-c])
     VLC_ADD_CFLAGS([vlc],[-x objective-c])
-    VLC_ADD_LDFLAGS([vlc],[-Wl,-multiply_defined,suppress])
+    VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
     ;;
-  *mingw32* | *cygwin*)
+  *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
     AC_CHECK_TOOL(WINDRES, windres, :)
 
     case "${target_os}" in
@@ -144,6 +147,9 @@ case "${target_os}" in
              #endif],
             SYS=mingw32, SYS=cygwin)
         ;;
+      *wince* | *mingwce* | *pe*)
+        SYS=mingwce
+        ;;
     esac
 
     if test "${SYS}" = "mingw32"; then
@@ -153,6 +159,13 @@ case "${target_os}" in
         VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm])
         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard telnet netsync],[-lws2_32])
     fi
+    if test "${SYS}" = "mingwce"; then
+        # add ws2 for closesocket, select, recv
+        CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
+        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
     ;;
   *nto*)
     SYS=nto
@@ -188,11 +201,12 @@ esac
 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
+AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
 
 dnl
 dnl Gettext stuff
 dnl
-ALL_LINGUAS="da de en_GB es fr hu it ja nl no pl pt_BR ru sv el"
+ALL_LINGUAS="bn ca da de el en_GB es fr hi hu it ja my ne nl no pl ps pt_BR ru sv tet tl zh_TW"
 AM_GNU_GETTEXT_VERSION(0.11.5)
 AM_GNU_GETTEXT
 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
@@ -283,6 +297,8 @@ case "${SYS}" in
     VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
     VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
     ;;
+  mingwce)
+    ;;
   *)
     VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
     VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
@@ -297,10 +313,10 @@ 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 isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon)
+AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon)
 
 dnl Check for usual libc functions
-AC_CHECK_FUNCS(strdup strndup atof lseek)
+AC_CHECK_FUNCS(strdup strndup atof)
 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
@@ -375,31 +391,21 @@ if test $ac_cv_struct_sockaddr_storage = no; then
   AC_DEFINE(ss_family, sa_family)
 fi
 
-dnl getnameinfo, which implies {get,free}addrinfo, but not gai_strerror,
-dnl -lws2_32 required with Mingw32, -lresolv NOT needed on Solaris.
-dnl AC_SEARCH_LIBS won't work with Mingw32
-AH_TEMPLATE(HAVE_GETNAMEINFO,
-  [Define to 1 if you have the `getnameinfo' function.])
-ac_func_getnameinfo_save_LIBS=$LIBS
-AS_IF([test "${SYS}" = "mingw32"],
-  [LIBS="-lws2_32 $LIBS"])
-  AC_CACHE_CHECK([for getnameinfo], ac_cv_func_getnameinfo,
-[AC_LINK_IFELSE([AC_LANG_PROGRAM([
+dnl getaddrinfo, getnameinfo and gai_strerror check
+dnl  -lresolv is NOT needed on Solaris
+dnl  we purposedly make the test fail on Windows
+AC_CHECK_FUNCS([getaddrinfo getnameinfo gai_strerror])
+AH_TEMPLATE(HAVE_ADDRINFO, [Define to `1' if <netdb.h> defines struct addrinfo.])
+AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
 [#include <sys/types.h>
 #if defined( UNDER_CE )
 # include <winsock.h>
 #elif defined( WIN32 )
 # include <winsock2.h>
+# include <ws2tcpip.h>
 #else
-# include <sys/socket.h>
 # include <netdb.h>
-#endif]
-], [[getnameinfo(0,0,0,0,0,0,0);]])],
-ac_cv_func_getnameinfo=yes,
-ac_cv_func_getnameinfo=no)])
-AS_IF([test $ac_cv_func_getnameinfo = yes],
-  [AC_DEFINE(HAVE_GETNAMEINFO)])
-LIBS=$ac_func_getnameinfo_save_LIBS
+#endif])
 
 dnl Check for va_copy
 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
@@ -428,7 +434,7 @@ AC_CHECK_FUNCS(inet_aton,,[
 ])
 
 dnl Check for getopt (always use builtin one on win32)
-if test "${SYS}" = "mingw32"; then
+if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
 need_getopt=:
 else
 need_getopt=false
@@ -441,18 +447,18 @@ AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
 fi
 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 
-if test "${SYS}" != "mingw32"; then
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
   VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad toolame equalizer vlc freetype],[-lm])
+  VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
 ])
-fi # end "${SYS}" != "mingw32"
+fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 dnl Check for dynamic plugins
 ac_cv_have_plugins=no
@@ -496,6 +502,14 @@ if test "${ac_cv_have_plugins}" = "no"; then
   fi
 fi
 
+# WinCE style
+if test "${ac_cv_have_plugins}" = "no"; then
+  if test "${SYS}" = "mingwce"; then
+    AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
+    ac_cv_have_plugins=yes
+  fi
+fi
+
 # BeOS style
 if test "${ac_cv_have_plugins}" = "no"; then
   AC_CHECK_HEADERS(image.h)
@@ -522,7 +536,7 @@ if test "${ac_cv_have_plugins}" = "no"; then
   fi
 fi
 
-if test "${SYS}" != "mingw32"; then
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 dnl Check for pthreads - borrowed from XMMS
 THREAD_LIB=error
 if test "${THREAD_LIB}" = "error"; then
@@ -615,7 +629,7 @@ AC_EGREP_HEADER(pthread_once,pthread.h,[
   AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
             Define if <pthread.h> defines pthread_once.)],[
   AC_MSG_RESULT(no)])
-fi # end "${SYS}" != "mingw32"
+fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 AC_MSG_CHECKING(for strncasecmp in strings.h)
 AC_EGREP_HEADER(strncasecmp,strings.h,[
@@ -628,10 +642,10 @@ dnl Check for headers
 AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h)
 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"; then
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_CHECK_HEADERS(machine/param.h sys/shm.h altivec.h)
 AC_CHECK_HEADERS(linux/version.h)
-fi # end "${SYS}" != "mingw32"
+fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 AC_HEADER_TIME
 
@@ -641,7 +655,7 @@ AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
 
 dnl Mac OS X and other OSes don't have declaration for nanosleep
-if test "${SYS}" != "mingw32"; then
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_MSG_CHECKING(for nanosleep in time.h)
 AC_EGREP_HEADER(nanosleep,time.h,[
   AC_MSG_RESULT(yes)
@@ -650,7 +664,7 @@ AC_EGREP_HEADER(nanosleep,time.h,[
 ],[
   AC_MSG_RESULT(no)
 ])
-fi # end "${SYS}" != "mingw32"
+fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 dnl Make sure we have timespecs
 AC_MSG_CHECKING(for timespec in sys/time.h)
@@ -663,9 +677,9 @@ AC_EGREP_HEADER(timespec,sys/time.h,[
 ])
 
 dnl Check for threads library
-if test "${SYS}" != "mingw32"; then
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
-fi # end "${SYS}" != "mingw32"
+fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 dnl Default X headers and libraries
 if test "${x_includes}" = "NONE"; then
@@ -676,12 +690,18 @@ if test "${x_libraries}" = "NONE"; then
 fi
 
 dnl Check for hal
-PKG_CHECK_MODULES(HAL, hal >= 0.2.97,
-  [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
-   VLC_ADD_PLUGINS([hal])
-   VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
-   VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
-  [AC_MSG_WARN(HAL library not found)])
+AC_ARG_ENABLE(hal,
+  [  --enable-hal            Linux HAL services discovery (default enabled)])
+if test "${enable_hal}" != "no"
+then
+  PKG_CHECK_MODULES(HAL, hal >= 0.2.97,
+    [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
+     VLC_ADD_PLUGINS([hal])
+     VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
+     VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
+    [AC_MSG_WARN(HAL library not found)])
+fi
 
 dnl Build the gtk_main plugins?
 NEED_GTK_MAIN=no
@@ -849,7 +869,10 @@ AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
     [CFLAGS="${CFLAGS_save} -bundle -undefined error -lcc_dynamic"
      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
 if test "${ac_cv_ld_darwin}" != "no"; then
-    VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error -lcc_dynamic])
+    VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
+    AC_CHECK_LIB(cc_dynamic, main,[
+      VLC_ADD_LDFLAGS([plugin],[-lcc_dynamic])
+    ])
 fi
 
 dnl Check for standard plugin linking flags
@@ -944,22 +967,32 @@ test "${enable_cprof}" != "yes" && enable_cprof="no"
 dnl
 dnl  default modules
 dnl
-VLC_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys netsync showintf])
-VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf aac mp4 rawdv nsv real aiff mjpeg demuxdump])
-VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak])
-VLC_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur motiondetect])
-VLC_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32 audio_format])
-VLC_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler])
-VLC_ADD_PLUGINS([trivial_channel_mixer simple_channel_mixer headphone_channel_mixer normvol])
-VLC_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer])
-VLC_ADD_PLUGINS([aout_file equalizer])
-VLC_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga])
-VLC_ADD_PLUGINS([image])
-VLC_ADD_PLUGINS([id3 playlist export sgimb m3u xtag])
-VLC_ADD_PLUGINS([rawvideo blend scale time marq logo])
-VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au])
-VLC_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms])
-VLC_ADD_PLUGINS([access_ftp access_directory sap http])
+VLC_ADD_PLUGINS([dummy logger memcpy])
+VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac])
+VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec])
+VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur])
+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([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])
+VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
+VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
+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])
+  VLC_ADD_PLUGINS([mosaic wall motiondetect clone crop])
+  VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
+  VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
+  VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
+  VLC_ADD_PLUGINS([headphone_channel_mixer normvol equalizer])
+  VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
+fi
 
 dnl
 dnl  Switch to enable a version of VLC where most modules will be builtin
@@ -974,11 +1007,13 @@ fi
 dnl
 dnl Some plugins aren't useful on some platforms
 dnl
-if test "${SYS}" != "mingw32"; then
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGINS([screensaver])
-else
-    VLC_ADD_PLUGINS([ntservice smb dmo])
+elif test "${SYS}" != "mingwce"; then
+    VLC_ADD_PLUGINS([ntservice access_smb dmo])
     VLC_ADD_LDFLAGS([dmo],[-lole32])
+else
+    VLC_ADD_PLUGINS([win32text])
 fi
 
 dnl
@@ -1038,7 +1073,7 @@ if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "s
   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
 fi
 
-if test "${SYS}" != "mingw32"; then
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
     [ac_cv_altivec_inline],
     [CFLAGS="${CFLAGS_save}"
@@ -1104,7 +1139,7 @@ AC_CACHE_CHECK([if linker needs -framework vecLib],
 if test "${ac_cv_ld_altivec}" != "no"; then
   VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
 fi
-fi # end "${SYS}" != "mingw32"
+fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 AC_ARG_WITH(,[])
 AC_ARG_WITH(,[Optimization options:])
@@ -1124,20 +1159,31 @@ if test -n "${with_tuning}"; then
 else
     if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
         CFLAGS_TUNING="-mcpu=pentiumpro"
-    else
-        if test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi
+    elif test "${target_cpu}" = "x86_64"; then
+        CFLAGS_TUNING="-mtune=opteron"
+    elif test "${target_cpu}" = "powerpc"; then
+        CFLAGS_TUNING="-mtune=750";
     fi
 fi
 
 dnl
 dnl  x86 accelerations
 dnl
-if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386"
+if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
 then
     ARCH="${ARCH} mmx"
     VLC_ADD_BUILTINS([${ACCEL_MODULES}])
 fi
 
+dnl
+dnl  Memory usage
+dnl
+AC_ARG_ENABLE(optimize-memory,
+[  --enable-optimize-memory      optimize memory usage over performance])
+if test "${enable_optimize_memory}" = "yes"; then
+  AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
+fi
+
 dnl
 dnl  Enable/disable optimizations
 dnl
@@ -1178,12 +1224,10 @@ if test "${enable_sout}" != "no"
 then
   VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
   VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
-  VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
-  VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
   VLC_ADD_PLUGINS([packetizer_copy])
 
   VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
-  VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode])
+  VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
 #  VLC_ADD_PLUGINS([stream_out_transrate])
 
   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
@@ -1196,6 +1240,7 @@ AC_ARG_ENABLE(httpd,
   [  --enable-httpd          HTTP daemon (default enabled)])
 if test "${enable_httpd}" != "no"
 then
+  VLC_ADD_PLUGINS([http])
   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
 fi
 
@@ -1213,8 +1258,33 @@ dnl
 dnl TLS/SSL
 dnl
 AC_ARG_ENABLE(gnutls,
-  [  --enable-gnutls         gnutls TLS/SSL support (default disabled)])
-AS_IF([test "${enable_gnutls}" == "yes"], VLC_ADD_PLUGINS([gnutls]))
+  [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
+AS_IF([test "${enable_gnutls}" != "no"], [
+
+  gcrypt_LIBS="-lgpg-error"
+  AS_IF([test "${SYS}" = "mingw32"],
+    [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
+     VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
+  )
+
+  gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
+
+  AC_CHECK_HEADER(gcrypt.h,
+    [AC_CHECK_LIB(gcrypt, gcry_control,
+      [AC_CHECK_HEADER(gnutls/gnutls.h,
+        [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
+         [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
+     ${gcrypt_LIBS})])
+
+  AS_IF([test "${have_gnutls}" = "yes"], [
+    VLC_ADD_PLUGINS([gnutls])
+    VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
+  ], [
+    AS_IF([test "${enable_gnutls}" = "yes"], [
+      AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
+    )]
+  )]
+)
 
 
 dnl
@@ -1404,7 +1474,7 @@ then
       AC_CHECK_HEADERS(dshow.h,
       [ VLC_ADD_PLUGINS([dshow])
         VLC_ADD_CXXFLAGS([dshow],[])
-        VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32]) ])
+        VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
   fi
 fi
 
@@ -1438,7 +1508,10 @@ then
     if test -z "${with_dvbpsi_tree}"
     then
       AC_CHECK_HEADERS(dvbpsi/dr.h,
-        [ VLC_ADD_PLUGINS([mux_ts ts])
+        [ VLC_ADD_PLUGINS([ts])
+          if test "${enable_sout}" != "no"; then
+            VLC_ADD_BUILTINS([mux_ts])
+          fi
           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
         [#if defined( HAVE_STDINT_H )
@@ -1463,7 +1536,10 @@ then
       then
         dnl  Use a custom libdvbpsi
         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
-        VLC_ADD_BUILTINS([mux_ts ts])
+        VLC_ADD_BUILTINS([ts])
+        if test "${enable_sout}" != "no"; 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])
       else
@@ -1488,7 +1564,10 @@ then
     fi
     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
     AC_CHECK_HEADERS([dvbpsi/dr.h],[
-      VLC_ADD_PLUGINS([mux_ts ts])
+      VLC_ADD_PLUGINS([ts])
+      if test "${enable_sout}" != "no"; then
+        VLC_ADD_PLUGINS([mux_ts])
+      fi
       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
       VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
 
@@ -1582,12 +1661,18 @@ fi
 
 if test "${enable_vcdx}" = "yes"
 then
-  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71,
+  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
    [VLC_ADD_LDFLAGS([vcdx],[$LIBCDIO_LIBS])
     VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
     [AC_MSG_WARN(libcdio library not found)
     HAVE_VCDX=no])
 
+  PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
+   [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
+    VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
+    [AC_MSG_WARN(libiso9660 library not found)
+    HAVE_VCDX=no])
+
   PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
    [AC_DEFINE(HAVE_VCDX, [], 
     [Define for the VCD plugin using libcdio/libvcdinfo])
@@ -1640,7 +1725,8 @@ then
   if test "${SYS}" = "darwin"
   then
     VLC_ADD_PLUGINS([vcd cdda])
-    VLC_ADD_LDFLAGS([vcd vcdx cdda],[-framework IOKit -framework CoreFoundation])
+    VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
+    VLC_ADD_LDFLAGS([vcdx cddax],[-liconv])
   fi
 fi
 
@@ -1672,7 +1758,12 @@ then
   fi
   CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
-    VLC_ADD_PLUGINS([dvb])
+    if test -z "${with_dvbpsi_tree}"
+    then
+      VLC_ADD_PLUGINS([dvb])
+    else
+      VLC_ADD_BUILTINS([dvb])
+    fi
   ],[])
   CPPFLAGS="${CPPFLAGS_save}"
 fi
@@ -1691,6 +1782,8 @@ if test "${enable_screen}" != "no"; then
   elif test "${SYS}" = "mingw32"; then
     VLC_ADD_PLUGINS([screen])
     VLC_ADD_LDFLAGS([screen],[-lgdi32])
+  elif test "${SYS}" = "mingwce"; then
+    CPPFLAGS="${CPPFLAGS_save}"
   elif test "${SYS}" = "beos"; then
     VLC_ADD_PLUGINS([screen])
     VLC_ADD_CXXFLAGS([screen],[])
@@ -1709,7 +1802,8 @@ fi
 dnl
 dnl  ipv6 plugin - not for QNX yet
 dnl
-if test "${SYS}" != "nto" && test "${SYS}" != "mingw32"
+if test "${SYS}" != "nto" &&
+   test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 then
   have_ipv6=false
   AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[
@@ -1740,7 +1834,10 @@ if test "${enable_ogg}" != "no"
 then
   AC_CHECK_HEADERS(ogg/ogg.h, [
     AC_CHECK_LIB( ogg, oggpack_read, [
-      VLC_ADD_PLUGINS([ogg mux_ogg])
+      VLC_ADD_PLUGINS([ogg])
+      if test "${enable_sout}" != "no"; then
+        VLC_ADD_PLUGINS([mux_ogg])
+      fi
       VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
    ],[])
 fi
@@ -1753,20 +1850,49 @@ AC_ARG_ENABLE(mkv,
 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
   AC_LANG_PUSH(C++)
   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
-    AC_CHECK_HEADERS(matroska/KaxVersion.h, [
-      AC_CHECK_HEADERS(matroska/KaxAttachments.h)
-      VLC_ADD_CXXFLAGS([mkv],[])
-      AC_CHECK_LIB(ebml_pic, main, [
-        # We have ebml_pic, that's good, we can build an mkv.so plugin !
-        VLC_ADD_PLUGINS([mkv])
-        VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
-      ], [
-        AC_CHECK_LIB(ebml, main, [
-          # We only have libebml, make mkv.a a builtin
-          VLC_ADD_BUILTINS([mkv])
-          VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
+    AC_MSG_CHECKING(for libebml version >= 0.7.3)
+    AC_EGREP_CPP(yes,
+      [#include <ebml/EbmlVersion.h>
+       #ifdef LIBEBML_VERSION
+       #if LIBEBML_VERSION >= 0x000703
+       yes
+       #endif
+       #endif],
+      [AC_MSG_RESULT([yes])
+        AC_CHECK_HEADERS(matroska/KaxVersion.h, [
+          AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
+          AC_EGREP_CPP(yes,
+            [#include <matroska/KaxVersion.h>
+             #ifdef LIBMATROSKA_VERSION
+             #if LIBMATROSKA_VERSION >= 0x000705
+             yes
+             #endif
+             #endif],
+            [AC_MSG_RESULT([yes])
+              AC_CHECK_HEADERS(matroska/KaxAttachments.h)
+              VLC_ADD_CXXFLAGS([mkv],[])
+              if test "${SYS}" = "darwin"; then
+                VLC_ADD_CXXFLAGS([mkv],[-O1])
+              fi
+              AC_CHECK_LIB(ebml_pic, main, [
+                # We have ebml_pic, that's good, we can build an mkv.so plugin !
+                VLC_ADD_PLUGINS([mkv])
+                VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
+              ], [
+                AC_CHECK_LIB(ebml, main, [
+                  # We only have libebml, make mkv.a a builtin
+                  VLC_ADD_BUILTINS([mkv])
+                  VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
+                ])
+              ])
+            ],
+            [AC_MSG_RESULT([no])
+              AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
+          ])
         ])
-      ])
+      ],
+      [AC_MSG_RESULT([no])
+        AC_MSG_ERROR([Your libebml is too old: you may get a more recent one from http://dl.matroska.org/downloads/libebml/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
     ])
   ])
   AC_LANG_POP(C++)
@@ -1877,8 +2003,11 @@ then
     AC_CHECK_HEADERS(ffmpeg/avcodec.h)
     AC_CHECK_HEADERS(postproc/postprocess.h)
     VLC_ADD_PLUGINS([ffmpeg])
-    VLC_ADD_CFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --cflags`])
-    VLC_ADD_LDFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
+    if test "${enable_sout}" != "no"; then
+        VLC_ADD_PLUGINS([stream_out_switcher])
+    fi
+    VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
+    VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
   else
     AC_ARG_WITH(ffmpeg-mp3lame,
       [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
@@ -1913,7 +2042,10 @@ then
       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
       AC_CHECK_LIB(avcodec, avcodec_init, [
         VLC_ADD_BUILTINS([ffmpeg])
-        VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])],
+        VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
+        if test "${enable_sout}" != "no"; then
+            VLC_ADD_BUILTINS([stream_out_switcher])
+        fi],
          [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ])
       AC_CHECK_LIB(avformat, av_open_input_stream, [
         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
@@ -1978,13 +2110,16 @@ then
       fi
 
       VLC_ADD_BUILTINS([ffmpeg])
+      if test "${enable_sout}" != "no"; then
+          VLC_ADD_BUILTINS([stream_out_switcher])
+      fi
       VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
-      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec])
+      VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
 
       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
-        VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
+        VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
       fi
     fi
   fi
@@ -2027,6 +2162,8 @@ then
       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
     fi
+    VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
+    VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
   fi
 fi
 
@@ -2079,46 +2216,46 @@ then
 fi
 
 dnl
-dnl toolame encoder plugin
+dnl twolame encoder plugin
 dnl
-AC_ARG_ENABLE(toolame,
-[  --enable-toolame        toolame codec (default disabled)])
-if test "${enable_toolame}" = "yes"
+AC_ARG_ENABLE(twolame,
+[  --enable-twolame        twolame codec (default disabled)])
+if test "${enable_twolame}" = "yes"
 then
-  AC_ARG_WITH(toolame-tree,
-  [    --with-toolame-tree=PATH toolame tree for static linking])
-  if test -n "${with_toolame_tree}"
+  AC_ARG_WITH(twolame-tree,
+  [    --with-twolame-tree=PATH twolame tree for static linking])
+  if test -n "${with_twolame_tree}"
   then
-    AC_MSG_CHECKING(for libtoolame.a in ${with_toolame_tree})
-    real_toolame_tree="`cd ${with_toolame_tree} 2>/dev/null && pwd`"
-    if test -z "${real_toolame_tree}"
+    AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
+    real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
+    if test -z "${real_twolame_tree}"
     then
       dnl  The given directory can't be found
       AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot cd to ${with_toolame_tree}])
+      AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
     fi
-    if test -f "${real_toolame_tree}/libtoolame/libtoolame.a"
+    if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
     then
-      dnl  Use a custom toolame
-      AC_MSG_RESULT(${real_toolame_tree}/libtoolame/libtoolame.a)
-      VLC_ADD_BUILTINS([toolame])
-      VLC_ADD_LDFLAGS([toolame],[${real_faad_tree}/libtoolame/libtoolame.a])
-      VLC_ADD_CPPFLAGS([toolame],[-I${real_toolame_tree}/libtoolame])
+      dnl  Use a custom twolame
+      AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
+      VLC_ADD_BUILTINS([twolame])
+      VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
+      VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
     else
-      dnl  The given libtoolame wasn't built
+      dnl  The given libtwolame wasn't built
       AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot find ${real_toolame_tree}/libtoolame/libtoolame.a, make sure you compiled libtoolame in ${with_toolame_tree}])
+      AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
     fi
   else
-    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_toolame}"
-    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}"
-    AC_CHECK_HEADERS(toolame.h, ,
-      [ AC_MSG_ERROR([Cannot find development header for libtoolame...]) ])
-    AC_CHECK_LIB(toolame, toolame_init, [
-      VLC_ADD_PLUGINS([toolame])
-      VLC_ADD_LDFLAGS([toolame],[-ltoolame]) ],
-        [ AC_MSG_ERROR([Cannot find libtoolame library...]) ])
-    LDFLAGS="${LDFLAGS_save}"
+    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
+    AC_CHECK_HEADERS(twolame.h, ,
+      [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
+    AC_CHECK_LIB(twolame, twolame_init, [
+      VLC_ADD_PLUGINS([twolame])
+      VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
+        [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
+    LDFLAGS="${LDFLAGS_save}"  
     CPPFLAGS="${CPPFLAGS_save}"
   fi
 fi
@@ -2231,6 +2368,11 @@ then
   fi
 fi
 
+AC_ARG_WITH(a52-fixed,
+      [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
+      [
+        VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
+
 dnl
 dnl DTS Coherent Acoustics decoder plugin
 dnl
@@ -2306,7 +2448,6 @@ AC_ARG_ENABLE(flac,
 if test "${enable_flac}" = "yes"
 then
   AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
-    VLC_ADD_PLUGINS([flac flacdec])
     VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
    ],[])
 fi
@@ -2334,7 +2475,7 @@ then
     then
       dnl  Use a custom libmpeg2
       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
-      VLC_ADD_PLUGINS([libmpeg2])
+      VLC_ADD_BUILTINS([libmpeg2])
       VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
@@ -2400,7 +2541,7 @@ AC_ARG_ENABLE(speex,
 if test "${enable_speex}" != "no"
 then
   AC_CHECK_HEADERS(speex/speex.h, [
-    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}"
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
     AC_CHECK_LIB(speex, speex_decode_int, [
       VLC_ADD_PLUGINS([speex])
       VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
@@ -2563,8 +2704,7 @@ dnl
 AC_ARG_WITH(,[Video plugins:])
 
 dnl Check for DPMS
-if test "${SYS}" != "mingw32"
-then
+if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
@@ -2588,7 +2728,8 @@ dnl
 AC_ARG_ENABLE(x11,
   [  --enable-x11            X11 support (default enabled)])
 if test "${enable_x11}" != "no" &&
-  (test "${SYS}" != "mingw32" || test "${enable_x11}" = "yes"); then
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_x11}" = "yes"); then
   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
   AC_CHECK_HEADERS(X11/Xlib.h, [
     VLC_ADD_PLUGINS([x11])
@@ -2605,7 +2746,8 @@ dnl
 AC_ARG_ENABLE(xvideo,
   [  --enable-xvideo         XVideo support (default enabled)])
 if test "${enable_xvideo}" != "no" &&
-  (test "${SYS}" != "mingw32" || test "${enable_xvideo}" = "yes"); then
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_xvideo}" = "yes"); then
   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
     CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
@@ -2640,7 +2782,8 @@ dnl
 AC_ARG_ENABLE(glx,
   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
 if test "${enable_glx}" != "no" &&
-  (test "${SYS}" != "mingw32" || test "${enable_glx}" = "yes"); then
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_glx}" = "yes"); then
   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
   AC_CHECK_HEADERS(X11/Xlib.h, [
     AC_CHECK_HEADERS(GL/glx.h, [
@@ -2655,7 +2798,8 @@ dnl
 dnl  Check for the Xinerama extension
 dnl
 if test "${enable_xvideo}" != "no" &&
-  (test "${SYS}" != "mingw32" || test "${enable_xvideo}" = "yes"); then
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_xvideo}" = "yes"); then
   ac_cv_have_xinerama="no"
   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
   CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
@@ -2687,7 +2831,8 @@ dnl  (enabled by default except on beos)
 dnl
 AC_ARG_ENABLE(opengl,
   [  --enable-opengl         OpenGL support (default enabled)])
-if test "${enable_opengl}" != "no" && test "${SYS}" != "beos"; then
+if test "${enable_opengl}" != "no" &&
+   test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
   if test "${SYS}" != "darwin"; then
     AC_CHECK_HEADERS(GL/gl.h, [
       VLC_ADD_PLUGINS([opengl])
@@ -2818,7 +2963,9 @@ from http://www.freetype.org/, or configure with --disable-freetype. Have a nice
     if test "${FRIBIDI_CONFIG}" != "no"
     then
       VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
+      VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
       VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
+      VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
     fi
   fi
 fi
@@ -2936,8 +3083,8 @@ dnl
 AC_ARG_ENABLE(hd1000v,
   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
-  (test "${SYS}" != "mingw32" || test "${enable_hd1000v}" = "yes")
-then
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_hd1000v}" = "yes"); then
   AC_LANG_PUSH([C++])
   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
   [
@@ -2962,7 +3109,7 @@ AC_ARG_ENABLE(directx,
   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
 if test "${enable_directx}" != "no"
 then
-  if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
+  if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
   then
     AC_ARG_WITH(directx,
     [    --with-directx=PATH   Win32 DirectX headers])
@@ -3110,6 +3257,9 @@ if test "${enable_wingdi}" != "no"; then
     VLC_ADD_PLUGINS([wingdi])
     VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
   fi
+  if test "${SYS}" = "mingwce"; then
+    VLC_ADD_PLUGINS([wingdi wingapi])
+  fi
 fi
 
 dnl
@@ -3125,7 +3275,8 @@ AC_ARG_ENABLE(oss,
   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
 
 if test "${enable_oss}" != "no" &&
-  (test "${SYS}" != "mingw32" || test "${enable_oss}" = "yes")
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_oss}" = "yes")
 then
   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
     VLC_ADD_PLUGINS([oss])
@@ -3185,25 +3336,25 @@ dnl
 dnl  ALSA module
 dnl
 AC_ARG_ENABLE(alsa,
-  [  --enable-alsa           ALSA sound support for Linux (default enabled)],
-  [if test "${enable_alsa}" != "no"
-   then
-     AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
-     if test "${have_alsa}" = "true"
-     then
-       AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
-                       #define ALSA_PCM_NEW_SW_PARAMS_API
-                       #include <alsa/asoundlib.h>],
-          [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
-           AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
-       VLC_ADD_PLUGINS([alsa])
-       VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
-     else
-       if test "${enable_alsa}" = "yes"; then
-         AC_MSG_ERROR([Could not find ALSA development headers])
-       fi
-     fi
-   fi])
+  [  --enable-alsa           ALSA sound support for Linux (default enabled)])
+if test "${enable_alsa}" != "no"
+then
+  AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
+  if test "${have_alsa}" = "true"
+  then
+    AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
+                    #define ALSA_PCM_NEW_SW_PARAMS_API
+                    #include <alsa/asoundlib.h>],
+       [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
+        AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
+    VLC_ADD_PLUGINS([alsa])
+    VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
+  else
+    if test "${enable_alsa}" = "yes"; then
+      AC_MSG_ERROR([Could not find ALSA development headers])
+    fi
+  fi
+fi
 
 dnl
 dnl  win32 waveOut plugin
@@ -3215,6 +3366,9 @@ if test "${enable_waveout}" != "no"; then
     VLC_ADD_PLUGINS([waveout])
     VLC_ADD_LDFLAGS([waveout],[-lwinmm])
   fi
+  if test "${SYS}" = "mingwce"; then
+    VLC_ADD_PLUGINS([waveout])
+  fi
 fi
 
 dnl
@@ -3226,14 +3380,8 @@ if test "${enable_coreaudio}" != "no" &&
   (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
 then
   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
-    [ VLC_ADD_BUILTINS([coreaudio])
-      VLC_ADD_LDFLAGS([coreaudio],[-framework CoreAudio])
-      AC_MSG_CHECKING(for kAudioConverterPrimeMethod in AudioToolbox/AudioConverter.h)
-      AC_EGREP_HEADER(kAudioConverterPrimeMethod,AudioToolbox/AudioConverter.h,[
-        AC_MSG_RESULT(yes)
-        VLC_ADD_PLUGINS([coreaudio_resampler])
-        VLC_ADD_LDFLAGS([coreaudio_resampler],[-framework AudioToolbox])
-      ],[ AC_MSG_RESULT(no) ])
+    [ VLC_ADD_BUILTINS([coreaudio auhal])
+      VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
 fi
 
@@ -3243,7 +3391,8 @@ dnl
 AC_ARG_ENABLE(hd1000a,
   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
-  (test "${SYS}" != "mingw32" || test "${enable_hd1000a}" = "yes")
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_hd1000a}" = "yes")
 then
   AC_LANG_PUSH([C++])
   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
@@ -3269,7 +3418,9 @@ dnl Skins2 module
 dnl
 AC_ARG_ENABLE(skins2,
   [  --enable-skins2         Skins2 interface module (experimental)])
-if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${enable_skins2}" != "no"); then
+if test "${enable_skins2}" = "yes" ||
+  (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
+   test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
 
   dnl test for the required libraries
   skins2_missing_lib="no"
@@ -3453,8 +3604,15 @@ then
       then
         WXWINDOWS_PATH="${with_wx_config_path}:${PATH}"
       fi ])
+  WXWINDOWS_NAME="wx-config"
+  AC_ARG_WITH(wx-config,
+    [    --with-wx-config=NAME      wx-config name (default is wx-config)],
+    [ if test "${with_wx_config}" != "no"
+      then
+        WXWINDOWS_NAME="${with_wx_config}"
+      fi ])
   # look for wx-config
-  AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH})
+  AC_PATH_PROG(WX_CONFIG, ${WXWINDOWS_NAME}, no, ${WXWINDOWS_PATH})
   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
   then
     if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
@@ -3492,6 +3650,22 @@ then
   fi
 fi
 
+dnl
+dnl  WinCE GUI module
+dnl
+if test "${SYS}" = "mingwce"; then
+  VLC_ADD_BUILTINS([wince])
+  VLC_ADD_CXXFLAGS([wince],[])
+  VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
+  dnl Gross hack
+  VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
+elif test "${SYS}" = "mingw32"; then
+  VLC_ADD_CXXFLAGS([wince],[])
+  VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
+  dnl Gross hack
+  VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
+fi
+
 dnl
 dnl Simple test for skins2 dependency
 dnl
@@ -3840,45 +4014,6 @@ AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
 
 AC_ARG_WITH(,[Misc options:])
 
-dnl
-dnl GnuTLS-based TLS/SSL support
-dnl
-AC_ARG_WITH(libgnutls-prefix,
-          [    --with-libgnutls-prefix=PREFIX set prefix where libgnutls is installed],
-          libgnutls_config_prefix="$withval", libgnutls_config_prefix="")
-
-AS_IF([test x$libgnutls_config_prefix != x],
-  AS_IF([test x${LIBGNUTLS_CONFIG+set} != xset],
-    LIBGNUTLS_CONFIG=$libgnutls_config_prefix/bin/libgnutls-config
-  )
-)
-
-if test "x$enable_gnutls" == "xyes"; then
-  AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no)
-  no_libgnutls=""
-
-  AC_MSG_CHECKING(for libgnutls - version >= 1.0.0)
-  AS_IF([test "$LIBGNUTLS_CONFIG" = "no"],
-    no_libgnutls=yes
-    ,
-    LIBGNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --cflags`
-    LIBGNUTLS_LIBS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --libs`
-    libgnutls_config_version=`$LIBGNUTLS_CONFIG $libgnutls_config_args --version`
-  )
-
-  AS_IF([test "x$no_libgnutls" = x],
-    AC_MSG_RESULT(yes)
-    VLC_ADD_CFLAGS([gnutls], [$LIBGNUTLS_CFLAGS])
-    VLC_ADD_LDFLAGS([gnutls], [$LIBGNUTLS_LIBS])
-    AC_DEFINE(HAVE_GNUTLS, 1, Define to 1 if you have libgnutls)
-    ,
-    AC_MSG_RESULT(no)
-    LIBGNUTLS_CFLAGS=""
-    LIBGNUTLS_LIBS=""
-    AC_MSG_ERROR(gnutls TLS/SSL support cannot be compiled)
-  )
-fi
-
 dnl
 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
 dnl
@@ -3948,10 +4083,10 @@ if test "${enable_activex}" != "no"
 then
   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
   then
-    AC_CHECK_PROG(MIDL, midl, :)
+    AC_CHECK_PROGS(MIDL, [midl widl], no)
     AC_CHECK_HEADERS(ole2.h olectl.h,
       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
-        VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid]) 
+        VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) 
         AC_CHECK_HEADERS(objsafe.h,
           VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
         )
@@ -3962,7 +4097,7 @@ then
   fi
 fi
 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
-AM_CONDITIONAL(HAS_MIDL_COMPILER, test -n "${MIDL}")
+AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
 
 dnl
@@ -4022,6 +4157,12 @@ dnl Not necessarily in ${PATH}
 if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
   XPIDL="/usr/lib/mozilla/xpidl"
 fi
+AS_IF([test "${MOZILLA_CONFIG}"], [
+  if test -z "${XPIDL_INCL}"; then
+    XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
+    `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
+  fi
+])
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 
 dnl
@@ -4115,6 +4256,7 @@ fi
 dnl Export automake variables
 if ${plugin_support}
 then
+  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
   for plugin in `echo ${PLUGINS}`
   do
     eval "${plugin}_p=yes"
@@ -4221,6 +4363,7 @@ AC_CONFIG_FILES([
   modules/access/vcd/Makefile
   modules/access/vcdx/Makefile
   modules/access/screen/Makefile
+  modules/access_filter/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
   modules/audio_filter/channel_mixer/Makefile
@@ -4279,11 +4422,14 @@ AC_CONFIG_FILES([
   modules/visualization/galaktos/Makefile
 ])
 
-AC_CONFIG_FILES([vlc-config], [chmod 0755 vlc-config])
-
 dnl Generate makefiles
 AC_OUTPUT
 
+# Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
+# not provided with the source
+${SHELL} ./config.status --file=vlc-config
+chmod 0755 vlc-config
+
 printf "
 vlc configuration
 --------------------