]> git.sesse.net Git - vlc/blobdiff - configure.ac
contrib: fix fontconfig with -march=i686
[vlc] / configure.ac
index b2632bab2b516bdef91dbf70dac35879229271c5..12fd3109f5b5cc797ca1c5699475cb9e523526d2 100644 (file)
@@ -353,7 +353,7 @@ case "${host_os}" in
         dnl DEP and ASLR options
         dnl
         AC_ARG_ENABLE(peflags,
-          [  --enable-peflags        peflags use (default enabled)])
+          [  --enable-peflags        peflags use (default enabled on Windows)])
         if test "${enable_peflags}" != "no"
         then
           AC_CHECK_TOOL(PEFLAGS, peflags, :)
@@ -860,7 +860,7 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
 
 dnl Check for headers
 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
-AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h)
+AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/ioctl.h sys/stat.h sys/mount.h)
 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
 AC_CHECK_HEADERS([net/if.h], [], [],
   [
@@ -1253,7 +1253,6 @@ if test "${SYS}" != "mingwce"; then
   VLC_ADD_PLUGIN([gaussianblur])
   VLC_ADD_PLUGIN([i420_yuy2])
   VLC_ADD_PLUGIN([i422_yuy2])
-  VLC_ADD_PLUGIN([i420_ymga])
   VLC_ADD_PLUGIN([i422_i420])
   VLC_ADD_PLUGIN([yuy2_i422])
   VLC_ADD_PLUGIN([yuy2_i420])
@@ -1291,7 +1290,6 @@ if test "${SYS}" = "mingwce"; then
   VLC_ADD_PLUGIN([dtstospdif])
   VLC_ADD_PLUGIN([i420_yuy2])
   VLC_ADD_PLUGIN([i422_yuy2])
-  VLC_ADD_PLUGIN([i420_ymga])
   VLC_ADD_PLUGIN([i422_i420])
   VLC_ADD_PLUGIN([yuy2_i422])
   VLC_ADD_PLUGIN([yuy2_i420])
@@ -1339,6 +1337,8 @@ AC_ARG_ENABLE(mmx,
       ;;
   esac
 ])
+have_mmx="no"
+have_mmxext="no"
 AS_IF([test "${enable_mmx}" != "no"], [
   ARCH="${ARCH} mmx"
 
@@ -1362,7 +1362,7 @@ AS_IF([test "${enable_mmx}" != "no"], [
   AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
     AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
               [Define to 1 if MMX intrinsics are available.])
-    VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
+    MMX_CFLAGS="-mmmx"
   ])
 
   AC_CACHE_CHECK([if $CC groks MMX inline assembly],
@@ -1373,11 +1373,7 @@ AS_IF([test "${enable_mmx}" != "no"], [
   AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
     AC_DEFINE(CAN_COMPILE_MMX, 1,
               [Define to 1 inline MMX assembly is available.])
-    VLC_ADD_PLUGIN([memcpymmx])
-    VLC_ADD_PLUGIN([i420_rgb_mmx])
-    VLC_ADD_PLUGIN([i420_yuy2_mmx])
-    VLC_ADD_PLUGIN([i422_yuy2_mmx])
-    VLC_ADD_PLUGIN([i420_ymga_mmx])
+    have_mmx="yes"
   ])
 
   AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
@@ -1388,9 +1384,12 @@ AS_IF([test "${enable_mmx}" != "no"], [
   AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
     AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
               [Define to 1 if MMX EXT inline assembly is available.])
-    VLC_ADD_PLUGIN([memcpymmxext])
+    have_mmxext="yes"
   ])
 ])
+AC_SUBST(MMX_CFLAGS)
+AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
+AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
 
 dnl  Check for fully workin SSE2 intrinsics
 dnl  We need support for -mmmx, we need <emmintrin.h>, and we also need a
@@ -1407,6 +1406,7 @@ AC_ARG_ENABLE(sse,
       ;;
   esac
 ])
+have_sse2="no"
 AS_IF([test "${enable_sse}" != "no"], [
   ARCH="${ARCH} sse sse2"
 
@@ -1430,7 +1430,7 @@ AS_IF([test "${enable_sse}" != "no"], [
   AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
     AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
               [Define to 1 if SSE2 intrinsics are available.])
-    VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
+    SSE2_CFLAGS="-msse2"
   ])
 
   AC_CACHE_CHECK([if $CC groks SSE inline assembly],
@@ -1451,9 +1451,7 @@ AS_IF([test "${enable_sse}" != "no"], [
   AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
     AC_DEFINE(CAN_COMPILE_SSE2, 1,
               [Define to 1 if SSE2 inline assembly is available.])
-    VLC_ADD_PLUGIN([i420_rgb_sse2])
-    VLC_ADD_PLUGIN([i420_yuy2_sse2])
-    VLC_ADD_PLUGIN([i422_yuy2_sse2])
+    have_sse2="yes"
   ])
 
   # SSE3
@@ -1505,7 +1503,10 @@ AS_IF([test "${enable_sse}" != "no"], [
     AC_DEFINE(CAN_COMPILE_SSE4A, 1,
               [Define to 1 if SSE4A inline assembly is available.]) ])
 ])
+AC_SUBST(SSE2_CFLAGS)
+AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
 
+have_3dnow="no"
 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
     [ac_cv_3dnow_inline],
     [CFLAGS="${CFLAGS_save}"
@@ -1514,8 +1515,9 @@ AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
   AC_DEFINE(CAN_COMPILE_3DNOW, 1,
             [Define to 1 if 3D Now! inline assembly is available.])
-  VLC_ADD_PLUGIN([memcpy3dn])
+  have_3dnow="yes"
 ])
+AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
 
 
 AC_ARG_ENABLE(neon,
@@ -1524,22 +1526,30 @@ AC_ARG_ENABLE(neon,
 ])
 AS_IF([test "${enable_neon}" != "no"], [
   AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
+    CFLAGS="${CFLAGS_save} -mfpu=neon"
     AC_COMPILE_IFELSE([
       AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]])
     ], [
-      ac_cv_neon_inline="yes"
+      ac_cv_neon_inline="-mfpu=neon"
     ], [
       ac_cv_neon_inline="no"
     ])
+    CFLAGS="${CFLAGS_save}"
   ])
+  ARM_NEON_CFLAGS="$ac_cv_neon_inline"
+], [
+  ac_cv_neon_inline="no"
 ])
-AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"])
+AC_SUBST(ARM_NEON_CFLAGS)
+AM_CONDITIONAL(HAVE_ARM_NEON, [test "${ac_cv_neon_inline}" != "no"])
+
 
 AC_ARG_ENABLE(altivec,
 [  --disable-altivec       disable AltiVec optimizations (default auto)],, [
   AS_IF([test "${host_cpu}" = "powerpc"],
         [enable_altivec=yes], [enable_altivec=no])
 ])
+have_altivec="no"
 AS_IF([test "${enable_altivec}" = "yes"], [
   ARCH="${ARCH} altivec";
   AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
@@ -1562,8 +1572,7 @@ AS_IF([test "${enable_altivec}" = "yes"], [
       VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
       VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
     ])
-    VLC_ADD_PLUGIN([memcpyaltivec])
-    VLC_ADD_PLUGIN([i420_yuy2_altivec])
+    have_altivec="yes"
   ])
 
 dnl The AltiVec C extensions
@@ -1625,8 +1634,7 @@ dnl - Others: test should fail
     VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
     VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
     VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
-    VLC_ADD_PLUGIN([memcpyaltivec])
-    VLC_ADD_PLUGIN([i420_yuy2_altivec])
+    have_altivec="yes"
   ])
 
   AC_CACHE_CHECK([if linker needs -framework vecLib],
@@ -1639,6 +1647,7 @@ dnl - Others: test should fail
     VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
   ])
 ])
+AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
 
 dnl
 dnl  Special arch tuning
@@ -2321,7 +2330,8 @@ then
     AC_CHECK_HEADERS([dvbpsi/dr.h],[
       VLC_ADD_PLUGIN([ts])
       if test "${enable_sout}" != "no"; then
-        VLC_ADD_PLUGIN([mux_ts])
+        AC_CHECK_LIB(dvbpsi, dvbpsi_SDTServiceAddDescriptor,
+           [VLC_ADD_PLUGIN([mux_ts])], [], [${LDFLAGS_test} -ldvbpsi])
       fi
       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
       VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
@@ -2329,7 +2339,7 @@ then
     ],[
       if test -n "${enable_dvbpsi}"
       then
-        AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1])
+        AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.6])
       fi
     ],
     [#if defined( HAVE_STDINT_H )
@@ -2756,10 +2766,11 @@ then
       AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
     fi
   else
-    AC_CHECK_HEADERS(libmodplug/modplug.h, [
-      VLC_ADD_PLUGIN([mod])
-      VLC_ADD_CXXFLAGS([mod],[])
-      VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
+    PKG_CHECK_MODULES(LIBMODPLUG, libmodplug >= 0.8,
+        [ VLC_ADD_PLUGIN([mod])
+          VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
+          VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
+        ],[AC_MSG_WARN([libmodplug not found!])])
   fi
 fi
 
@@ -2976,10 +2987,46 @@ AS_IF([test "${enable_libva}" != "no"], [
               [AC_MSG_WARN([libva not found  ])])
       ])
   ],[
-    AC_MSG_ERROR([libva VAAPI support depends on libavcodec. You cannot use --disable-avcodec.])
+    AS_IF([test "x${enable_libva}" != "x"], [
+      AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive.])
+    ])
+  ])
+])
+
+dnl
+dnl dxva2 needs avcodec
+dnl
+AC_ARG_ENABLE(dxva2,
+  [  --enable-dxva2          DxVA2  support (default auto)])
+
+AS_IF([test "${enable_dxva2}" != "no"], [
+  if test "${SYS}" = "mingw32"; then
+  AS_IF([test "x${have_avcodec}" = "xyes"], [
+    AC_CHECK_HEADERS(dxva2api.h, 
+      [
+        AC_CHECK_HEADERS(libavcodec/dxva2.h, [
+           VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
+           AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
+           echo "DxVA2 acceleration activated"
+        ],[
+       AS_IF([test "${enable_dxva2}" == "yes"],
+             [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
+              [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
+        ])
+      ],[
+       AS_IF([test "${enable_dxva2}" == "yes"],
+              [AC_MSG_ERROR([Could not find required dxva2api.h])],
+              [AC_MSG_WARN([dxva2api.h not found])])
+      ])
+  ],[
+    AS_IF([test "x${enable_dxva2}" != "x"], [
+      AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
+    ])
   ])
+  fi
 ])
 
+
 dnl
 dnl stream_out switcher needs libavcodec
 dnl
@@ -3423,7 +3470,7 @@ AC_ARG_ENABLE(telx,
 
 AS_IF( [test "${enable_zvbi}" != "no"],[
     PKG_CHECK_MODULES(ZVBI,
-        zvbi-0.2 >= 0.2.25,
+        zvbi-0.2 >= 0.2.28,
         [
           VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
           if test "${SYS}" = "mingw32"; then
@@ -3856,16 +3903,6 @@ AC_ARG_ENABLE(fb,
       ])
     fi
 
-dnl
-dnl  Linux MGA module
-dnl
-AC_ARG_ENABLE(mga,
-  [  --enable-mga            Linux kernel Matrox support (default disabled)],
-  [ if test "${enable_mga}" = "yes"
-    then
-      VLC_ADD_PLUGIN([mga])
-    fi ])
-
 dnl
 dnl  OMAP Framebuffer module
 dnl
@@ -4002,7 +4039,7 @@ fi
 dnl
 dnl  libcaca plugin
 dnl
-PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta1], [libcaca output],[auto])
+PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
 
 dnl
 dnl  Audio plugins
@@ -4639,7 +4676,7 @@ dnl
 AC_ARG_WITH(sqlite,
   [  --with-sqlite=PATH      sqlite path linking])
 if test "${SYS}" != "darwin"; then
-  PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3], [sqlite3], [auto])
+  PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
 else
   if test "${enable_sqlite}" != "no"
   then
@@ -5135,7 +5172,6 @@ AC_CONFIG_FILES([
   modules/misc/Makefile
   modules/misc/dummy/Makefile
   modules/misc/lua/Makefile
-  modules/misc/memcpy/Makefile
   modules/misc/notify/Makefile
   modules/misc/testsuite/Makefile
   modules/misc/playlist/Makefile
@@ -5156,6 +5192,12 @@ AC_CONFIG_FILES([
   modules/video_output/msw/Makefile
   modules/visualization/Makefile
   modules/visualization/visual/Makefile
+  modules/mmx/Makefile
+  modules/mmxext/Makefile
+  modules/3dnow/Makefile
+  modules/sse2/Makefile
+  modules/altivec/Makefile
+  modules/arm_neon/Makefile
 ])
 
 dnl Generate makefiles