]> git.sesse.net Git - vlc/blobdiff - configure.ac
* Simple grayscale -> yuv conversions.
[vlc] / configure.ac
index 4171971aef15c1c915ab356e7228ec3ce5daf2eb..357912ca77f0c979b83ebd74261a262ccf7b8659 100644 (file)
@@ -169,11 +169,15 @@ case "${host_os}" in
     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([motion],[-framework IOKit -framework CoreFoundation])
+    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"
@@ -212,14 +216,10 @@ case "${host_os}" in
         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, :)
-    enable_libtool="no"
 
     case "${host_os}" in
       *mingw32*)
@@ -241,15 +241,14 @@ 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])
-        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])
+        VLC_ADD_LDFLAGS([vlc],[-mwindows])
+        VLC_ADD_LDFLAGS([activex mozilla],[-lgdi32])
+        VLC_ADD_LDFLAGS([cdda vcdx cddax sdl_image],[-lwinmm])
+        VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler],[-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([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
         VLC_ADD_LDFLAGS([libvlc vlc],[-lws2 -e WinMainCRTStartup])
         VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
@@ -316,19 +315,24 @@ dnl  Libtool
 dnl  It's very bad, but our former custom system was worst
 dnl  -- Courmisch
 dnl
+
+dnl override platform specific check for dependent libraries
+dnl otherwise libtool linking of shared libraries will
+dnl fail on anything other than pass_all.
+AC_CACHE_VAL(lt_cv_deplibs_check_method,
+    [lt_cv_deplibs_check_method=pass_all])
+
 AC_DISABLE_STATIC
 AC_LIBTOOL_DLOPEN
-dnl AC_LIBTOOL_WIN32_DLL - couldn't get libtool to work on Win32 so far
+AC_LIBTOOL_WIN32_DLL
 m4_undefine([AC_PROG_F77])
 m4_defun([AC_PROG_F77],[])
 AC_PROG_LIBTOOL
 
-AC_ARG_ENABLE(libtool,
-    [  --enable-libtool        use libtool (default enabled)])
-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"] )
+m4_undefine([AC_DEPLIBS_CHECK_METHOD])
+m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
+
+lt_cv_deplibs_check_method=pass_all
 
 
 dnl
@@ -352,38 +356,22 @@ dnl
 dnl Gettext stuff
 dnl
 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_VERSION(0.16.1)
 AM_GNU_GETTEXT
 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
   AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
   AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
-  AS_IF([test "${enable_libtool}" != "no"], [
-    INCLUDED_LIBINTL="${LTLIBINTL}"
-  ],[
-    INCLUDED_LIBINTL="${LIBINTL}"
-  ])
 ], [
-  AS_IF([test "${enable_libtool}" != "no"], [
-    VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}])
-  ], [
-    VLC_ADD_LDFLAGS([libvlc vlc], [${LIBINTL}])
-  ])
+  VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}])
 ])
-AC_SUBST(INCLUDED_LIBINTL)
 
 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([libvlc],[${INCICONV}])
-AS_IF([test "${enable_libtool}" != "no"], [
-  VLC_ADD_LDFLAGS([libvlc vlc],[${LIBICONV}])
-],[
-  VLC_ADD_LDFLAGS([libvlc vlc],[${LTLIBICONV}])
-])
+VLC_ADD_LDFLAGS([libvlc],[${LTLIBICONV}])
 
 dnl Check for the need to include the mingwex lib for mingw32
 if test "${SYS}" = "mingw32"
@@ -442,24 +430,6 @@ VLC_LIBRARY_SUFFIX
 VLC_SYMBOL_PREFIX
 AC_SUBST(SYMPREF)
 
-AS_IF([test "${enable_libtool}" = "no"], [
-case "${SYS}" in
-  mingw32|cygwin)
-    VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
-    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])
-    VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
-    VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
-    ;;
-esac
-])
-
 dnl The -DSYS_FOO flag
 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
 
@@ -614,7 +584,7 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
-  VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise],[-lm])
+  VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
   VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
@@ -817,7 +787,7 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
   AC_MSG_RESULT(no)])
 
 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(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h locale.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 netinet/udplite.h])
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
@@ -909,8 +879,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])
@@ -1000,38 +970,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
@@ -1040,7 +1022,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
@@ -1052,7 +1034,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
 
@@ -1076,6 +1058,8 @@ if test "${ac_cv_c_visibility_hidden}" != "no"; then
     VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
 fi
 
+AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
+
 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
 dnl AC_LANG_PUSH(C++)
 dnl     AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
@@ -1089,14 +1073,14 @@ dnl     CXXFLAGS="${CXXFLAGS_save}"
 dnl AC_LANG_POP(C++)
 
 dnl Check for -mdynamic-no-pic
-AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
-    [ac_cv_c_dynamic_no_pic],
-    [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
-     AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
-AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [
-    VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
-    VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
-])
+dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
+dnl     [ac_cv_c_dynamic_no_pic],
+dnl     [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
+dnl      AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
+dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
+dnl     VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
+dnl     VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
+dnl ])
 
 dnl Check for Darwin plugin linking flags
 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
@@ -1109,19 +1093,17 @@ fi
 
 dnl Check for standard plugin linking flags
 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
-AS_IF([test "${enable_libtool}" = "no"], [
-  AS_IF([test "${SYS}" = "beos"], [
-    VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
-  ], [
-    AC_CACHE_CHECK([if \$CC accepts -shared],
-          [ac_cv_ld_plugins],
-          [CFLAGS="${CFLAGS_save} -shared"
-         AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
-    AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
-      VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
-    ])
-  ])
-])
+dnl AS_IF([test "${SYS}" = "beos"], [
+dnl   VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
+dnl ], [
+dnl   AC_CACHE_CHECK([if \$CC accepts -shared],
+dnl         [ac_cv_ld_plugins],
+dnl         [CFLAGS="${CFLAGS_save} -shared"
+dnl        AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
+dnl   AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
+dnl     VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
+dnl   ])
+dnl ])
 
 dnl Check for variadic macros
 AC_CACHE_CHECK([for variadic cpp macros],
@@ -1213,13 +1195,13 @@ 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 rawvid 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([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract sharpen])
+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 grain extract sharpen])
 VLC_ADD_PLUGINS([converter_fixed mono])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
 VLC_ADD_PLUGINS([playlist export sgimb nsc xtag])
-VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorthres])
+VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
 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])
@@ -1263,7 +1245,7 @@ else
 fi
 if test "${SYS}" = "darwin"; then
     VLC_ADD_PLUGINS([quartztext])
-    VLC_ADD_LDFLAGS([quartztext],[-framework Carbon -framework ApplicationServices])
+    VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
 fi
 
 dnl
@@ -1473,12 +1455,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"
 
@@ -1551,7 +1533,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
@@ -2347,15 +2335,19 @@ then
   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],
+      [AC_TRY_COMPILE([
+          #include <sys/types.h>
+          #   ifdef VIDEODEV2_H_FILE
+         #   include VIDEODEV2_H_FILE
+         #   else
+         #   include <linux/videodev2.h>
+         #   endif
+         ],
           [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
           new_linux_videodev2_h=yes,
           new_linux_videodev2_h=no)])
@@ -2517,7 +2509,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
 
@@ -2568,7 +2560,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])
@@ -3285,7 +3277,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
@@ -3491,7 +3483,7 @@ then
     fi
   else
     AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
-      VLC_ADD_LDFLAGS([flac],[-lFLAC])
+      VLC_ADD_LDFLAGS([flac],[-lFLAC -logg])
      ],[])
   fi
 fi
@@ -3778,6 +3770,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
@@ -3998,7 +4022,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
 
@@ -4122,7 +4146,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
@@ -4627,7 +4651,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
 
@@ -4804,7 +4828,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])
@@ -5211,17 +5235,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
@@ -5398,15 +5422,20 @@ AS_IF([test "${enable_gnutls}" != "no"], [
   AS_IF([test "${have_gnutls}" = "yes"], [
     VLC_ADD_PLUGINS([gnutls])
     VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
+    AS_IF([test "${SYS}" = "mingw32"], [
+      dnl pkg-config --libs gnutls omits these
+      VLC_ADD_LDFLAGS([gnutls], [-lz])
+      VLC_ADD_LDFLAGS([gnutls], [${LTLIBINTL}])
+    ])
+    AC_CHECK_LIB([gcrypt], [gcry_control], [
+      VLC_ADD_LDFLAGS([gnutls], [-lgcrypt -lgpg-error])
+    ], [], [-lgpg-error])
     VLC_ADD_LDFLAGS([gnutls], [$GNUTLS_LIBS])
   ], [
     AS_IF([test "${enable_gnutls}" = "yes"], [
       AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
     ])
   ])
-  AC_CHECK_LIB([gcrypt], [gcry_control], [
-    VLC_ADD_LDFLAGS([gnutls], [-lgcrypt])
-  ])
 ])
 
 dnl
@@ -5717,7 +5746,7 @@ then
         dnl latest gecko sdk does not have embedstring
         if test -d "${real_mozilla_sdk}/embedstring/bin"
         then
-          VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
+          VLC_ADD_LDFLAGS([mozilla],[-lembedstring])
         fi
       fi
     fi
@@ -5732,17 +5761,21 @@ 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])
+   dnl Tests for Osso and Xsp
+if test "${enable_x11}" != "no" &&
+  (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
+   test "${enable_x11}" = "yes"); then
+   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])
-])
+   AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
+      VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
+      VLC_ADD_LDFLAGS([x11],[-lXsp])
+   ])
+fi
 
 dnl
 dnl  Mediacontrol Python bindings
@@ -5883,21 +5916,11 @@ AS_IF([${plugin_support}], [
 dnl
 dnl Pic and shared libvlc stuff
 dnl
-AS_IF([test "${SYS}" = "mingw32" || test "${enable_libtool}" != "no"], [
-  AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
-  VLC_ADD_PLUGINS([${BUILTINS}])
-  AS_IF([test "${SYS}" = "mingw32"], [
-    FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
-    VLC_ADD_CPPFLAGS([libvlc],[-DDLL_EXPORT])
-  ])
-  BUILTINS=""
-], [
-  LDFLAGS_vlc="${LDFLAGS_vlc} ${LDFLAGS_libvlc}"
-  FILE_LIBVLC_DLL=""
+VLC_ADD_PLUGINS([${BUILTINS}])
+AS_IF([test "${SYS}" = "mingw32"], [
+  FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
 ])
-
- dnl Import conditional variables generated by bootstrap
-VLC_CONDITIONALS
+BUILTINS=""
 
 dnl
 dnl  Stuff used by the program
@@ -5965,9 +5988,6 @@ AC_SUBST(ALL_LINGUAS)
 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
 AC_SUBST(FILE_LIBVLC_DLL)
 
-dnl Import substitutions generated by bootstrap
-VLC_SUBSTS
-
 dnl Create vlc-config.in
 VLC_OUTPUT_VLC_CONFIG_IN