]> git.sesse.net Git - mlt/commitdiff
Add SSE2_FLAGS and --disable-sse2 to configure.
authorDan Dennedy <dan@dennedy.org>
Wed, 3 Feb 2010 07:27:22 +0000 (23:27 -0800)
committerDan Dennedy <dan@dennedy.org>
Fri, 5 Feb 2010 04:46:53 +0000 (20:46 -0800)
This is required for YADIF assembler.

configure

index e30cf8d0b506d5d10d1f50d456665a4366bb4cd0..2f93179996778e10f5fb4a85d61d8808643aefde 100755 (executable)
--- a/configure
+++ b/configure
@@ -22,6 +22,7 @@ General build options:
   --disable-debug         - Compile without debug support (default: on)
   --disable-mmx           - Compile without MMX support (default: on)
   --disable-sse           - Compile without SSE support (default: on)
+  --disable-sse2          - Compile without SSE2 support (default: on)
   --arch='arch'           - Compile for a specific architecture (default: none)
   --cpu='cpu'             - Compile for a specific CPU (default: none)
 
@@ -58,6 +59,9 @@ build_config()
                [ "$sse" = "true" ] && 
                echo "SSE_FLAGS=-DUSE_SSE"
 
+               [ "$sse2" = "true" ] && 
+               echo "SSE2_FLAGS=-DUSE_SSE2"
+
                [ "$debug" = "true" ] && 
                echo "DEBUG_FLAGS=-g"
 
@@ -67,7 +71,7 @@ build_config()
                [ "$cpu" != "" ] && echo "TARGETCPU=-mcpu=$cpu"
                echo "OPTIMISATIONS=-O2 -pipe -fomit-frame-pointer"
 
-               echo "CFLAGS+=-Wall -fPIC -DPIC \$(TARGETARCH) \$(TARGETCPU) \$(OPTIMISATIONS) \$(MMX_FLAGS) \$(SSE_FLAGS) \$(DEBUG_FLAGS) \$(LARGE_FILE)"
+               echo "CFLAGS+=-Wall -fPIC -DPIC \$(TARGETARCH) \$(TARGETCPU) \$(OPTIMISATIONS) \$(MMX_FLAGS) \$(SSE_FLAGS) \$(SSE2_FLAGS) \$(DEBUG_FLAGS) \$(LARGE_FILE)"
 
                case $targetos in
                Darwin)
@@ -154,6 +158,7 @@ export help=0
 export debug=true
 export mmx=true
 export sse=true
+export sse2=true
 export gpl=false
 export arch=
 export cpu=
@@ -187,6 +192,7 @@ do
                --disable-debug )       debug=false ;;
                --disable-mmx )         mmx=false; sse=false ;;
                --disable-sse )         sse=false ;;
+               --disable-sse2 )        sse2=false ;;
                --enable-gpl )          gpl=true ;;
                --arch=* )                      arch="${i#--arch=}" ;;
                --cpu=* )                       cpu="${i#--cpu=}" ;;
@@ -236,6 +242,25 @@ then
        esac
 fi
 
+# Double check SSE2 (Darwin, Linux and FreeBSD supported, may end up disabling SSE2 on other platforms incorrectly)
+if [ "$sse2" = "true" ]
+then
+       case $targetos in
+               Darwin)
+               sysctl -a hw | grep "sse2: 1" > /dev/null || sse2=false
+               ;;
+               Linux)
+               grep sse2 /proc/cpuinfo > /dev/null 2>&1 || sse2=false
+               ;;
+               FreeBSD)
+               [ "$(make -V MACHINE_CPU:Msse2)" ] || sse2=false
+               ;;
+               *)
+               grep sse2 /proc/cpuinfo > /dev/null 2>&1 || sse2=false
+               ;;
+       esac
+fi
+
 # Show help if requested
 if [ $help = 1 ]
 then