patches/mplayer-snap-05-cpudetect.diff
author jurikm
Sun, 12 Feb 2012 14:04:10 +0000
changeset 8245 383896da4129
parent 3017 ec9e2d2819a8
permissions -rw-r--r--
SFEsauerbraten.spec: add IPS package name
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3017
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     1
--- mplayer-export/cpudetect.c.orig	Fri Oct  1 14:29:35 2010
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     2
+++ mplayer-export/cpudetect.c	Mon Nov  1 13:14:29 2010
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     3
@@ -45,6 +45,8 @@
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     4
 #include <os2.h>
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     5
 #elif defined(__AMIGAOS4__)
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     6
 #include <proto/exec.h>
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     7
+#elif __sun
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     8
+#include <sys/utsname.h>
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
     9
 #endif
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    10
 
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    11
 /* Thanks to the FreeBSD project for some of this cpuid code, and
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    12
@@ -124,6 +126,20 @@
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    13
 #if ARCH_X86_64
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    14
     gCpuCaps.hasSSE=1;
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    15
     gCpuCaps.hasSSE2=1;
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    16
+#elif defined(__sun)
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    17
+    struct utsname solname;
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    18
+    long major, minor = 0;
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    19
+    char *radix;
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    20
+
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    21
+    if (uname(&solname) > 0) {
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    22
+       major = strtol(solname.release, &radix, 10);
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    23
+       if (*radix != '\0')
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    24
+          minor = strtol(++radix, NULL, 10);
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    25
+       if (!(major >= 5 && minor >= 9))
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    26
+          gCpuCaps.hasSSE=0;
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    27
+    } else {
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    28
+       gCpuCaps.hasSSE=0;
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    29
+    }
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    30
 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) || defined(__APPLE__)
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    31
     int has_sse=0, ret;
ec9e2d2819a8 SFEmplayer-snap.spec: use fixed (constant) tarball by default,
viskov
parents:
diff changeset
    32
     size_t len=sizeof(has_sse);