]> git.sesse.net Git - vlc/blobdiff - configure.ac
Expose MMX and SSE2 compiler flags
[vlc] / configure.ac
index 431c6a6a47ede3c38446bb053440b0004ce16610..e596ab5ed23488951468e690c9c0d5441a8bf60f 100644 (file)
@@ -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,8 @@ 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"
+    VLC_ADD_CFLAGS([i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx],[-mmmx])
   ])
 
   AC_CACHE_CHECK([if $CC groks MMX inline assembly],
@@ -1373,11 +1374,10 @@ 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])
+    have_mmx="yes"
     VLC_ADD_PLUGIN([i420_rgb_mmx])
     VLC_ADD_PLUGIN([i420_yuy2_mmx])
     VLC_ADD_PLUGIN([i422_yuy2_mmx])
-    VLC_ADD_PLUGIN([i420_ymga_mmx])
   ])
 
   AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
@@ -1388,9 +1388,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
@@ -1430,6 +1433,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.])
+    SSE2_CFLAGS="-msse2"
     VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
   ])
 
@@ -1505,7 +1509,9 @@ 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)
 
+have_3dnow="no"
 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
     [ac_cv_3dnow_inline],
     [CFLAGS="${CFLAGS_save}"
@@ -1514,8 +1520,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,
@@ -1540,6 +1547,7 @@ AC_ARG_ENABLE(altivec,
   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,7 +1570,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])
+    have_altivec="yes"
     VLC_ADD_PLUGIN([i420_yuy2_altivec])
   ])
 
@@ -1625,7 +1633,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])
+    have_altivec="yes"
     VLC_ADD_PLUGIN([i420_yuy2_altivec])
   ])
 
@@ -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
@@ -3010,7 +3019,9 @@ AS_IF([test "${enable_dxva2}" != "no"], [
               [AC_MSG_WARN([dxva2api.h not found])])
       ])
   ],[
-    AC_MSG_ERROR([dxva2 support depends on libavcodec. You cannot use --disable-avcodec.])
+    AS_IF([test "x${enable_dxva2}" != "x"], [
+      AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
+    ])
   ])
   fi
 ])
@@ -3892,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
@@ -5171,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
@@ -5192,6 +5192,10 @@ 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/altivec/Makefile
 ])
 
 dnl Generate makefiles