[babl/sse-conversions-2013: 7/8] Add SSE2 check to configure



commit 5459720ea5888bade15ffa2920cb83d146025b01
Author: Daniel Sabo <DanielSabo gmail com>
Date:   Sat Mar 30 18:26:39 2013 -0700

    Add SSE2 check to configure

 configure.ac           |   18 ++++++++++++++++++
 extensions/Makefile.am |    6 +++---
 2 files changed, 21 insertions(+), 3 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index ce5a872..91725de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -297,6 +297,7 @@ AC_ARG_ENABLE(sse,
 if test "x$enable_mmx" = xyes; then
   BABL_DETECT_CFLAGS(MMX_EXTRA_CFLAGS, '-mmmx')
   SSE_EXTRA_CFLAGS=
+  SSE2_EXTRA_CFLAGS=
 
   AC_MSG_CHECKING(whether we can compile MMX code)
 
@@ -324,6 +325,22 @@ if test "x$enable_mmx" = xyes; then
         AC_MSG_RESULT(no)
         AC_MSG_WARN([The assembler does not support the SSE command set.])
       )
+      
+      BABL_DETECT_CFLAGS(sse2_flag, '-msse2')
+      SSE2_EXTRA_CFLAGS="$SSE_EXTRA_CFLAGS $sse2_flag"
+
+      AC_MSG_CHECKING(whether we can compile SSE2 code)
+
+      CFLAGS="$CFLAGS $sse2_flag"
+
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[asm ("punpckhwd %xmm0,%xmm1");])],
+        AC_DEFINE(USE_SSE2, 1, [Define to 1 if SSE2 assembly is available.])
+        AC_MSG_RESULT(yes)
+      ,
+        enable_sse2=no
+        AC_MSG_RESULT(no)
+        AC_MSG_WARN([The assembler does not support the SSE2 command set.])
+      )
 
     fi
   ,
@@ -336,6 +353,7 @@ if test "x$enable_mmx" = xyes; then
 
   AC_SUBST(MMX_EXTRA_CFLAGS)
   AC_SUBST(SSE_EXTRA_CFLAGS)
+  AC_SUBST(SSE2_EXTRA_CFLAGS)
 fi
 
 
diff --git a/extensions/Makefile.am b/extensions/Makefile.am
index 333705a..f9c94ae 100644
--- a/extensions/Makefile.am
+++ b/extensions/Makefile.am
@@ -45,6 +45,6 @@ fast_float_la_SOURCES = fast-float.c
 
 LIBS = $(top_builddir)/babl/libbabl- BABL_API_VERSION@.la $(MATH_LIB)
 
-sse_fixups_la_CFLAGS = $(MMX_EXTRA_CFLAGS) $(SSE_EXTRA_CFLAGS)
-sse_float_la_CFLAGS = $(MMX_EXTRA_CFLAGS) $(SSE_EXTRA_CFLAGS)
-sse_int16_la_CFLAGS = $(MMX_EXTRA_CFLAGS) $(SSE_EXTRA_CFLAGS)
+sse_fixups_la_CFLAGS = $(SSE_EXTRA_CFLAGS)
+sse_float_la_CFLAGS = $(SSE2_EXTRA_CFLAGS)
+sse_int16_la_CFLAGS = $(SSE2_EXTRA_CFLAGS)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]