]> git.sesse.net Git - vlc/blobdiff - configure.ac
vlc-config: fixed optimizations by splitting CFLAGS_OPTIM into CFLAGS_OPTIM_SIZE...
[vlc] / configure.ac
index 723762daadf004df5bae42688fed5d62df7df5a5..0f44734cab62f6d48553fbc34cd45432ffda77c6 100644 (file)
@@ -164,26 +164,62 @@ case "${host_os}" in
         ;;
     esac
     ;;
-  darwin1.[0123])
-    dnl Mac OS X < 10.3
-    SYS=darwin
-    CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
-    VLC_ADD_LDFLAGS([libvlc ffmpeg ffmpegaltivec],[-all_load])
-    VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation])
-    VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
-    VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
-    ;;
   darwin*)
     SYS=darwin
     CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
     OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
-    VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
-    VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation])
+    VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
+    VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
     VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
-    VLC_ADD_LDFLAGS([vlc],[-undefined dynamic_lookup])
+    VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
+    VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
+    VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
+    VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
+    VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
+    VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
+    AC_ARG_ENABLE(macosx-defaults,
+        [  --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
+    if test "x${enable_macosx_defaults}" != "xno"
+    then
+        echo ""
+        echo "Building with Mac OS X defaults:"
+        enable_faad="yes"
+        echo "  Assuming --enable-faad"
+        enable_flac="yes"
+        echo "  Assuming --enable-flac"
+        enable_theora="yes"
+        echo "  Assuming --enable-theora"
+        enable_shout="yes"
+        echo "  Assuming --enable-shout"
+        enable_cddax="yes"
+        echo "  Assuming --enable-cddax"
+        enable_vcdx="yes"
+        echo "  Assuming --enable-vcdx"
+        enable_caca="yes"
+        echo "  Assuming --enable-caca"
+        enable_goom="yes"
+        echo "  Assuming --enable-goom"
+        enable_ncurses="yes"
+        echo "  Assuming --enable-ncurses"
+        enable_twolame="yes"
+        echo "  Assuming --enable-twolame"
+        enable_realrtsp="yes"
+        echo "  Assuming --enable-realrtsp"
+
+        enable_skins2="no"
+        echo "  Assuming --disable-skins2"
+        enable_x11="no"
+        echo "  Assuming --disable-x11"
+        enable_glx="no"
+        echo "  Assuming --disable-glx"
+        enable_xvideo="no"
+        echo "  Assuming --disable-xvideo"
+
+        enable_libtool="no"
+        echo "  Assuming --disable-libtool"
+        echo ""
+    fi
     ;;
   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
     AC_CHECK_TOOL(WINDRES, windres, :)
@@ -210,7 +246,8 @@ case "${host_os}" in
     if test "${SYS}" = "mingw32"; then
         # add ws2_32 for closesocket, select, recv
         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
-        VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
+        VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
+        VLC_ADD_LDFLAGS([vlc activex mozilla],[-mwindows])
         VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm])
         VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync growl flac ts audioscrobbler],[-lws2_32])
     fi
@@ -267,6 +304,18 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
 
 dnl
+dnl Sadly autoconf doesn't think about testing foo.exe when ask to test 
+dnl for program foo on win32
+
+case "${build_os}" in
+    cygwin|msys)
+        ac_executable_extensions=".exe"
+       ;;
+    *)
+       ;;
+esac
+
+dnl 
 dnl  Libtool
 dnl  It's very bad, but our former custom system was worst
 dnl  -- Courmisch
@@ -280,36 +329,33 @@ AC_PROG_LIBTOOL
 
 AC_ARG_ENABLE(libtool,
     [  --enable-libtool        use libtool (default enabled)])
-AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"])
+AS_IF([test "x{enable_libtool}" = "xno"], [
+       AC_MSG_WARN([Disabling libtool is strongly discouraged. There are known bugs.])
+])
+AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"] )
 
 
 dnl
 dnl  Check for Mac OS X SDK settings
 dnl
 AC_ARG_WITH(macosx-sdk,
-   [  --with-macosx-sdk       compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no)
+   [  --with-macosx-sdk       compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no)
 if test "${with_macosx_sdk}" != "no" ; then
-    if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
-        CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
-        CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
-        OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
-        LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.4u.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"; LDFLAGS="${LDFLAGS_save}"
-        export MACOSX_DEPLOYMENT_TARGET=10.4
-        MACOSX_DEPLOYMENT_TARGET="10.4"
-    elif test "${host_cpu}" = "powerpc"; then
-        CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; CFLAGS="${CFLAGS_save}"
-        CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; CXXFLAGS="${CXXFLAGS_save}"
-        OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; OBJCFLAGS="${OBJCFLAGS_save}"
-        LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}"
-        export MACOSX_DEPLOYMENT_TARGET=10.3
-        MACOSX_DEPLOYMENT_TARGET="10.3"
-    fi
+    CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
+    CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
+    OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
+    LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk"
+    CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
+    CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
+    OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
+    MACOSX_DEPLOYMENT_TARGET="10.4"
+    export MACOSX_DEPLOYMENT_TARGET
 fi
 
 dnl
 dnl Gettext stuff
 dnl
-ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fr fur gl he hi hu it ja ka ko lt lv ms my ne nl no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW"
+ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fa fr fur gl he hi hu it ja ka ko lt lv ms my ne nl no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW"
 AM_GNU_GETTEXT_VERSION(0.11.5)
 AM_GNU_GETTEXT
 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
@@ -328,7 +374,6 @@ AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
   ])
 ])
 AC_SUBST(INCLUDED_LIBINTL)
-XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" 
 
 dnl
 dnl Iconv stuff
@@ -428,7 +473,7 @@ need_libc=false
 AC_CHECK_FUNCS(gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy)
 
 dnl Check for usual libc functions
-AC_CHECK_FUNCS(strdup strndup atof)
+AC_CHECK_FUNCS(strdup strndup strnlen 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)])
@@ -584,6 +629,9 @@ AC_CHECK_LIB(m,sqrt,[
 AC_CHECK_LIB(m,ceil,[
   VLC_ADD_LDFLAGS([mosaic],[-lm])
 ])
+AC_CHECK_LIB(m,exp,[
+  VLC_ADD_LDFLAGS([gaussianblur],[-lm])
+])
 AC_CHECK_LIB(mx,sqrtf,[
   VLC_ADD_LDFLAGS([x264],[-lmx])
 ])
@@ -865,8 +913,8 @@ then
       VLC_ADD_LDFLAGS([screensaver libvlc],[$DBUS_LIBS])
       VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
       dnl Check for dbus control interface
-        AC_ARG_ENABLE(dbus-control, [  --enable-dbus-control   D-BUS control interface (default disabled)])
-        if test "${enable_dbus_control}" = "yes"
+        AC_ARG_ENABLE(dbus-control, [  --disable-dbus-control   D-BUS control interface (default enabled)])
+        if test "${enable_dbus_control}" != "no"
         then
           VLC_ADD_PLUGINS([dbus])
           VLC_ADD_LDFLAGS([dbus],[$DBUS_LIBS])
@@ -956,38 +1004,50 @@ AC_CACHE_CHECK([if \$CC accepts -Os],
     [ac_cv_c_os],
     [CFLAGS="${CFLAGS_save} -Os"
      AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
-if test "${ac_cv_c_os}" != "no" -a "${host_cpu}" = "mipsel"; then
-    CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
+if test "${ac_cv_c_os}" != "no"; then
+    CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
+else 
+    AC_CACHE_CHECK([if \$CC accepts -O],
+        [ac_cv_c_o],
+        [CFLAGS="${CFLAGS_save} -O"
+         AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
+    if test "${ac_cv_c_o}" != "no"; then
+        if test "${ac_cv_c_o3}" = "no"; then
+            CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
+        fi
+    fi
 fi
 
 AC_CACHE_CHECK([if \$CC accepts -O3],
     [ac_cv_c_o3],
     [CFLAGS="${CFLAGS_save} -O3"
      AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
-if test "${ac_cv_c_o3}" != "no" -a "${host_cpu}" != "mipsel"; then
-    CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
+if test "${ac_cv_c_o3}" != "no"; then
+    CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
+else
+    AC_CACHE_CHECK([if \$CC accepts -O2],
+        [ac_cv_c_o2],
+        [CFLAGS="${CFLAGS_save} -O2"
+         AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
+    if test "${ac_cv_c_o2}" != "no"; then
+        CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
+    else
+        AC_CACHE_CHECK([if \$CC accepts -O],
+            [ac_cv_c_o],
+            [CFLAGS="${CFLAGS_save} -O"
+             AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
+        if test "${ac_cv_c_o}" != "no"; then
+            CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
+        fi
+    fi
 fi
 
-AC_CACHE_CHECK([if \$CC accepts -O2],
-    [ac_cv_c_o2],
-    [CFLAGS="${CFLAGS_save} -O2"
-     AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
-if test "${ac_cv_c_o2}" != "no" -a "${host_cpu}" != "mipsel"; then
-    if test "${ac_cv_c_o3}" = "no"; then
-        CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
-    fi
-    CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
-else 
-    AC_CACHE_CHECK([if \$CC accepts -O],
-        [ac_cv_c_o],
-        [CFLAGS="${CFLAGS_save} -O"
-         AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
-    if test "${ac_cv_c_o}" != "no" -a "${host_cpu}" != "mipsel"; then
-        if test "${ac_cv_c_o3}" = "no"; then
-            CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
-       fi
-        CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
-    fi
+AC_CACHE_CHECK([if \$CC accepts -O0],
+    [ac_cv_c_o0],
+    [CFLAGS="${CFLAGS_save} -O0"
+     AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
+if test "${ac_cv_c_o0}" != "no"; then
+    CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
 fi
 
 dnl Check for -ffast-math
@@ -996,7 +1056,7 @@ AC_CACHE_CHECK([if \$CC accepts -ffast-math],
     [CFLAGS="${CFLAGS_save} -ffast-math"
      AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
 if test "${ac_cv_c_fast_math}" != "no"; then
-    CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
+    CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
 fi
 
 dnl Check for -funroll-loops
@@ -1008,7 +1068,7 @@ then
       [CFLAGS="${CFLAGS_save} -funroll-loops"
        AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
   if test "${ac_cv_c_unroll_loops}" != "no"; then
-      CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
+      CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
   fi
 fi
 
@@ -1019,8 +1079,8 @@ AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
-    # this plugin does not compile without -fomit-frame-pointer, damn gcc!
-    VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
+    # these plugins do not compile without -fomit-frame-pointer, damn gcc!
+    VLC_ADD_CFLAGS([i420_yuy2_mmx i420_yuy2_sse2],[-fomit-frame-pointer])
 fi
 
 dnl Check for -fvisibility=hidden
@@ -1168,8 +1228,8 @@ dnl
 dnl  default modules
 dnl
 VLC_ADD_PLUGINS([dummy logger memcpy])
-VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flacsys tta])
-VLC_ADD_PLUGINS([cvdsub svcdsub spudec telx subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
+VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
+VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract sharpen])
 VLC_ADD_PLUGINS([converter_fixed mono])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
@@ -1179,6 +1239,7 @@ VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorth
 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])
+VLC_ADD_PLUGINS([access_filter_bandwidth])
 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
 VLC_ADD_PLUGINS([packetizer_vc1])
@@ -1187,7 +1248,7 @@ VLC_ADD_PLUGINS([packetizer_vc1])
 if test "${SYS}" != "mingwce"; then
   VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
   VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder])
-  VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase])
+  VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
   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])
@@ -1216,34 +1277,24 @@ elif test "${SYS}" != "mingwce"; then
 else
     VLC_ADD_PLUGINS([win32text])
 fi
+if test "${SYS}" = "darwin"; then
+    VLC_ADD_PLUGINS([quartztext])
+    VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
+fi
 
 dnl
 dnl  Accelerated modules
 dnl
-MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
+MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
 MMXEXT_MODULES="memcpymmxext"
 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
 THREEDNOW_MODULES="memcpy3dn"
 SSE_MODULES=""
+SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2"
 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
 
-if test "${enable_gprof}" != "yes"
-then
-  MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
-fi
-
-AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
-    [ac_cv_mmx_inline],
-    [CFLAGS="${CFLAGS_save}"
-     AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
-                    ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
-if test "${ac_cv_mmx_inline}" != "no"; then
-  AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
-  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
-fi
-
 dnl  Check for fully workin MMX intrinsics
 dnl  We need support for -mmmx, we need <mmintrin.h>, and we also need a
 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
@@ -1269,6 +1320,41 @@ if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
   VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
 fi
 
+dnl  Check for fully workin SSE2 intrinsics
+dnl  We need support for -mmmx, we need <emmintrin.h>, and we also need a
+dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
+AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
+    [ac_cv_c_sse2_intrinsics],
+    [CFLAGS="${CFLAGS_save} -O -msse2"
+     AC_TRY_COMPILE([#include <emmintrin.h>
+                     #include <stdint.h>
+                     uint64_t frobzor;],
+                    [__m128i a, b, c;
+                     a = b = c = _mm_set1_epi64((__m64)frobzor);
+                     a = _mm_slli_epi16(a, 3);
+                     a = _mm_adds_epi16(a, b);
+                     c = _mm_srli_epi16(c, 8);
+                     c = _mm_slli_epi16(c, 3);
+                     b = _mm_adds_epi16(b, c);
+                     a = _mm_unpacklo_epi8(a, b);
+                     frobzor = (uint64_t)_mm_movepi64_pi64(a);],
+                    [ac_cv_c_sse2_intrinsics=yes],
+                    [ac_cv_c_sse2_intrinsics=no])])
+if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
+  AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
+  VLC_ADD_CFLAGS([i420_rgb_sse2],[-msse2])
+fi
+
+AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
+    [ac_cv_mmx_inline],
+    [CFLAGS="${CFLAGS_save}"
+     AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
+                    ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
+if test "${ac_cv_mmx_inline}" != "no"; then
+  AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
+  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
+fi
+
 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
     [ac_cv_mmxext_inline],
     [CFLAGS="${CFLAGS_save}"
@@ -1299,6 +1385,16 @@ if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
 fi
 
+AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
+    [ac_cv_sse2_inline],
+    [CFLAGS="${CFLAGS_save}"
+     AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
+                    ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
+if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
+  AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
+  ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
+fi
+
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
     [ac_cv_altivec_inline],
@@ -1393,12 +1489,12 @@ AS_IF( test "${enable_altivec}" != "no",
 
 AC_CACHE_CHECK([if linker needs -framework vecLib],
     [ac_cv_ld_altivec],
-    [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
+    [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
      AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
      LDFLAGS="${LDFLAGS_save}"
     ])
 if test "${ac_cv_ld_altivec}" != "no"; then
-  VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
+  VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
 fi
 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
@@ -1451,6 +1547,11 @@ then
     ARCH="${ARCH} mmx"
     VLC_ADD_BUILTINS([${ACCEL_MODULES}])
 fi
+if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"
+then
+    ARCH="${ARCH} sse sse2"
+    VLC_ADD_BUILTINS([${ACCEL_MODULES}])
+fi
 
 dnl
 dnl  Memory usage
@@ -1466,7 +1567,13 @@ dnl  Enable/disable optimizations
 dnl
 AC_ARG_ENABLE(optimizations,
 [  --disable-optimizations disable compiler optimizations (default enabled)])
-test "${enable_optimizations}" != "no" && enable_optimizations="yes"
+if test "${enable_optimizations}" != "no"; then
+   if test "${enable_optimize_memory}" = "yes"; then
+      enable_optimizations="size"
+   else
+      enable_optimizations="speed"
+   fi
+fi
 
 dnl
 dnl  AltiVec acceleration
@@ -1488,6 +1595,22 @@ AH_TEMPLATE(NDEBUG,
             [Define to 1 if debug code should NOT be compiled])
 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
 
+dnl
+dnl  Test coverage
+dnl
+AC_ARG_ENABLE(coverage,
+       [  --enable-coverage       build for test coverage (default disabled)],,
+       [enable_coverage="no"])
+AS_IF([test "${enable_coverage}" != "no"], [
+       CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
+       CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
+       LDFLAGS="-lgcov ${LDFLAGS}"
+       dnl ugly...
+       CFLAGS_save="${CFLAGS}"
+       CXXFLAGS_save="${CXXFLAGS}"
+       LDFLAGS_save="${LDFLAGS}"
+])
+
 dnl
 dnl  Enable release-specific flags
 dnl
@@ -1517,7 +1640,7 @@ then
 fi
 
 AC_ARG_ENABLE(switcher,
-  [  --enable-switcher       Stream-out switcher plugin (default disabled)])    
+  [  --enable-switcher       Stream-out switcher plugin (default disabled)])
 
 dnl Check for libshout
 AC_ARG_ENABLE(shout,
@@ -1531,6 +1654,43 @@ if test "${enable_shout}" = "yes"; then
     [AC_MSG_WARN(libshout library not found)])
 fi
 
+dnl Lua playlist demux
+AC_ARG_ENABLE(luaplaylist,
+  [  --enable-lua            lua playlist demux plugin (default enabled)])
+if test "${enable_lua}" != "no"
+then
+  PKG_CHECK_MODULES(LUA, lua5.1,
+    [ have_lua=yes ],
+    [
+    AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
+    PKG_CHECK_MODULES(LUA, lua >= 5.1,
+      [ have_lua=yes ],
+      [ 
+        have_lua=yes
+        AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], 
+         [],  
+          [ have_lua=no ] )
+       AC_CHECK_LIB(  lua5.1 , luaL_newstate, 
+          [LUA_LIBS="-llua5.1"],
+         AC_CHECK_LIB( lua51 , luaL_newstate, 
+            [LUA_LIBS="-llua51"],
+                 AC_CHECK_LIB( lua , luaL_newstate, 
+                   [LUA_LIBS="-llua"],
+             [ have_lua=no
+                AC_MSG_WARN([lua >= 5.1 not found!])
+              ])
+           )
+         )
+      ])
+    ])
+  if test "x${have_lua}" = "xyes" ;  then
+     AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library])
+     VLC_ADD_PLUGINS([luaplaylist])
+     VLC_ADD_LDFLAGS([luaplaylist],[$LUA_LIBS])
+     VLC_ADD_CFLAGS([luaplaylist],[$LUA_CFLAGS])
+  fi
+fi
+
 dnl
 dnl HTTP daemon
 dnl
@@ -1987,6 +2147,22 @@ then
   fi
 fi
 
+dnl
+dnl  Windows DirectShow BDA access module
+dnl
+AC_ARG_ENABLE(bda,
+  [  --enable-bda          Win32 DirectShow BDA support (default enabled on Win32)])
+if test "${enable_bda}" != "no"
+then
+  if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
+  then
+      AC_CHECK_HEADERS(dshow.h,
+      [ VLC_ADD_PLUGINS([bda])
+        VLC_ADD_CXXFLAGS([bda],[])
+        VLC_ADD_LDFLAGS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
+  fi
+fi
+
 
 dnl
 dnl  OpenCV wrapper and example filters
@@ -2188,6 +2364,26 @@ AC_ARG_ENABLE(pvr,
 if test "${enable_pvr}" = "yes"
 then
   VLC_ADD_PLUGINS([pvr])
+  AC_ARG_WITH(videodev2,
+    [  --with-videodev2=FILE   Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
+  if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
+  then
+    AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
+  else
+    AC_DEFINE(VIDEODEV2_H_FILE, <linux/videodev2.h>, [Location of videodev2.h])
+  fi
+    
+
+  AC_CACHE_CHECK([for new linux/videodev2.h],
+      [new_linux_videodev2_h],
+      [AC_TRY_COMPILE([#include <sys/types.h>
+          #include VIDEODEV2_H_FILE],
+          [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
+          new_linux_videodev2_h=yes,
+          new_linux_videodev2_h=no)])
+  if test "${new_linux_videodev2_h}" != "no"; then
+    AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
+  fi
 fi
 
 dnl
@@ -2343,7 +2539,7 @@ then
   if test "${SYS}" = "darwin"
   then
     VLC_ADD_PLUGINS([vcd cdda])
-    VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
+    VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
   fi
 
@@ -2394,7 +2590,7 @@ if test "${enable_screen}" != "no"; then
   if test "${SYS}" = "darwin"; then
     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
       VLC_ADD_PLUGINS([screen])
-      VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
+      VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
     ])
   elif test "${SYS}" = "mingw32"; then
     VLC_ADD_PLUGINS([screen])
@@ -2913,7 +3109,8 @@ dnl Trying with pkg-config
      PKG_CHECK_MODULES(SWSCALE, libswscale,[
        VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}]) 
        VLC_ADD_LDFLAGS([ffmpeg],[${SWSCALE_LIBS}]) 
-       AC_CHECK_HEADERS(ffmpeg/swscale.h)
+       AC_CHECK_LIB(swscale, sws_getContext,
+         [AC_CHECK_HEADERS(ffmpeg/swscale.h)],[])
        ],[ true ])
      VLC_RESTORE_FLAGS
     ],[
@@ -3110,7 +3307,7 @@ then
   else
   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
     [ VLC_ADD_BUILTINS([quicktime])
-      VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
+      VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
   fi
 fi
@@ -3148,7 +3345,7 @@ dnl
 dnl skins2 module
 dnl
 AC_ARG_ENABLE(libtar,
-  [  --enable libtar support for skins2 (default enabled)])
+  [  --enable-libtar support for skins2 (default enabled)])
 
 AS_IF([test "${enable_libtar}" != "no"],[
   AC_CHECK_HEADERS(libtar.h, [
@@ -3156,7 +3353,6 @@ AS_IF([test "${enable_libtar}" != "no"],[
   ] )
 ])
 
-
 dnl
 dnl A52/AC3 decoder plugin
 dnl
@@ -3604,6 +3800,38 @@ if test "${enable_x264}" != "no"; then
   fi
 fi
 
+dnl
+dnl Teletext Modules
+dnl vbi decoder plugin (using libzbvi)
+dnl telx module
+dnl uncompatible
+dnl
+AC_ARG_ENABLE(zvbi,
+  [  --enable-zvbi           VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
+AC_ARG_ENABLE(telx,
+  [  --enable-telx,          Teletext decoding module (conflicting with zvbi) (default disabled)])
+
+AS_IF( [test "${enable_zvbi}" != "no"],[
+  AS_IF( [test "${enable_telx}" = "yes"],[
+    AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
+  ],[
+    PKG_CHECK_MODULES(ZVBI,
+       zvbi-0.2 >= 0.2.25,
+       [
+         VLC_ADD_LDFLAGS([zvbi],[$ZVBI_LIBS])
+         VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
+         VLC_ADD_PLUGINS([zvbi])
+         AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built]) 
+       ],[
+         AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
+         enable_telx="yes"
+       ])
+    ])  
+  ])
+AS_IF( [test "${enable_telx}" = "yes"],[
+  VLC_ADD_PLUGINS([telx])
+  ])
+
 dnl
 dnl  CMML plugin
 dnl
@@ -3824,7 +4052,7 @@ if test "${enable_opengl}" != "no" &&
   else
     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
     VLC_ADD_PLUGINS([opengl])
-    VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
+    VLC_ADD_LDFLAGS([opengl],[-Wl,-framework,OpenGL])
   fi
 fi
 
@@ -3948,7 +4176,7 @@ then
       [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
        VLC_ADD_LDFLAGS([freetype],[-lfontconfig])])
     AC_CHECK_HEADERS(Carbon/Carbon.h,
-      [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
+      [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
   elif test "${enable_freetype}" =  "yes"
   then
     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
@@ -4453,7 +4681,7 @@ if test "${enable_macosx-audio}" != "no" &&
 then
   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
     [ VLC_ADD_BUILTINS([auhal])
-      VLC_ADD_LDFLAGS([auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
+      VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
 fi
 
@@ -4474,16 +4702,18 @@ then
 fi
 
 dnl
-dnl  JACK module
+dnl  JACK modules
 dnl
 AC_ARG_ENABLE(jack,
- [  --enable-jack           JACK audio module (default disabled)],
- [if test "${enable_jack}" = "yes"
-  then
-    AC_CHECK_HEADERS(jack/jack.h, [
-      VLC_ADD_PLUGINS([jack])
-      VLC_ADD_LDFLAGS([jack],[-ljack]) ])
-  fi])
+ [  --enable-jack           JACK audio I/O modules (default disabled)],,
+ [enable_jack="no"])
+
+AS_IF([test "${enable_jack}" != "no"], [
+  AC_CHECK_HEADERS(jack/jack.h, [
+    VLC_ADD_PLUGINS([access_jack jack])
+    VLC_ADD_LDFLAGS([access_jack jack],[-ljack])
+  ],[AC_MSG_ERROR([cannot find JACK headers])])
+])
 
 dnl
 dnl  CyberLink for C++ UPnP stack
@@ -4628,7 +4858,7 @@ if test "${enable_skins2}" = "yes" ||
     ALIASES="${ALIASES} svlc"
     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
-    VLC_ADD_LDFLAGS([skins2],[-framework Carbon])
+    VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
 
   else if test "${skins2_missing_lib}" = "no"; then
     VLC_ADD_PLUGINS([skins2])
@@ -4804,9 +5034,9 @@ then
   AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
   then
-    if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null ||  expr 2.7.0 \<= `${WX_CONFIG} --version` >/dev/null
+    if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
     then
-      AC_MSG_ERROR([You need wxWidgets of the 2.6 branch. Please upgrade/downgrade and try again. Better yet, you can configure with --disable-wxwidgets.])
+      AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
     fi
     AC_LANG_PUSH(C++)
     # Turn this error:
@@ -4891,9 +5121,10 @@ AS_IF([test "${enable_qt4}" != "no" &&
       enableqt4=true
       VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS])
       VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS])
-      MOC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/moc
-      RCC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/rcc
-      UIC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/uic],
+      AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+      AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+      AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
+      ],
       AS_IF([test "${enable_qt4}" = "yes"],[
        AC_MSG_ERROR(QT4 library not found)
       ],[
@@ -5034,17 +5265,17 @@ AC_ARG_ENABLE(macosx,
   [if test "${enable_macosx}" = "yes"
    then
      VLC_ADD_PLUGINS([access_eyetv])
-     VLC_ADD_LDFLAGS([access_eyetv], [-framework CoreFoundation])
-     VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL -framework QTKit])
+     VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
+     VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit])
      VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
    fi],
   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
-     VLC_ADD_PLUGINS([access_eyetv])
-     VLC_ADD_LDFLAGS([access_eyetv], [-framework CoreFoundation])
+    [VLC_ADD_PLUGINS([access_eyetv])
+     VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
      VLC_ADD_BUILTINS([macosx])
-     VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL -framework QTKit])
-     VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
-   )])
+     VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit])
+     VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions])
+    ])])
 CFLAGS=$ORIGCFLAGS
 
 dnl
@@ -5232,7 +5463,22 @@ AS_IF([test "${enable_gnutls}" != "no"], [
   ])
 ])
 
-AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
+dnl
+dnl libgcrypt
+dnl
+AC_ARG_ENABLE(libgcrypt,
+  [  --enable-libgcrypt      libgcrypts support (default enabled)])
+if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"i
+then
+  dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
+  dnl it and looks for libgcrypt headers in the wrong place.
+  if test "${host_cpu}" = "${build_cpu}"
+  then
+    AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
+  else
+    AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
+  fi
+fi
 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
 
 
@@ -5540,6 +5786,18 @@ fi
 AC_LANG_POP(C++)
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 
+dnl Tests for Osso and Xsp
+AC_CHECK_LIB(osso, osso_display_blanking_pause,[
+   PKG_CHECK_MODULES(GLIB2, glib-2.0, [                                                  
+       VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
+       VLC_ADD_LDFLAGS([x11],[-losso])
+   ])
+])
+AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
+   VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
+   VLC_ADD_LDFLAGS([x11],[-lXsp])
+])
+
 dnl
 dnl  Mediacontrol Python bindings
 dnl
@@ -5564,6 +5822,10 @@ then
   AC_PROG_JAVAC
   AC_PROG_JAVA
   PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
+  if test "${JAVAC}" == "javac${EXEEXT}"
+  then
+    JAVAC="javac${EXEEXT} -cp ./ "
+  fi
 fi
 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
 
@@ -5787,6 +6049,7 @@ AC_CONFIG_FILES([
 
 AC_CONFIG_FILES([
   modules/access/Makefile
+  modules/access/bda/Makefile
   modules/access/dshow/Makefile
   modules/access/dvb/Makefile
   modules/access/mms/Makefile
@@ -5845,7 +6108,7 @@ AC_CONFIG_FILES([
   modules/video_chroma/Makefile
   modules/video_filter/Makefile
   modules/video_output/Makefile
-  modules/video_output/directx/Makefile
+  modules/video_output/msw/Makefile
   modules/video_output/qte/Makefile
   modules/video_output/x11/Makefile
   modules/visualization/Makefile