Instead of checking for a particular version of GCC check for
a cpuid.h with __cpuid_count.  This allows cpuid.h to be
provided for older/different compilers.

Signed-off-by: Jonathan Gray <[email protected]>
---
 configure.ac        | 18 ++++++++++++++++++
 src/sna/sna_cpuid.h |  4 ++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 4f1cff7..c24b369 100644
--- a/configure.ac
+++ b/configure.ac
@@ -208,6 +208,24 @@ fi
 PKG_CHECK_MODULES(X11, [x11 xrender xrandr xext xfixes cairo 
cairo-xlib-xrender pixman-1 libpng], [x11="yes"], [x11="no"])
 AM_CONDITIONAL(HAVE_X11, test "x$x11" = "xyes")
 
+cpuid="yes"
+AC_TRY_LINK([
+       #include <cpuid.h>
+       #include <stddef.h>
+       ],
+       [
+       int eax, ebx, ecx, edx;
+       if (__get_cpuid_max(0, NULL) < 4)
+               return 0;
+       __cpuid_count(4, 0, eax, ebx, ecx, edx);
+       ],
+       [cpuid="yes"],
+       [cpuid="no"]
+)
+if test "x$cpuid" = "xyes"; then
+       AC_DEFINE(HAVE_CPUID_H,1,[Found a useable cpuid.h])
+fi
+
 shm=yes
 AC_CHECK_HEADERS([sys/ipc.h sys/ipc.h], [], [shm="no"])
 AC_CHECK_HEADERS([X11/extensions/XShm.h], [], [shm="no"], [
diff --git a/src/sna/sna_cpuid.h b/src/sna/sna_cpuid.h
index ed28a0a..14af62b 100644
--- a/src/sna/sna_cpuid.h
+++ b/src/sna/sna_cpuid.h
@@ -30,9 +30,9 @@
 #ifndef SNA_CPUID_H
 #define SNA_CPUID_H
 
-#include "compiler.h"
+#include "config.h"
 
-#if HAS_GCC(4, 4) /* for __cpuid_count() */
+#ifdef HAVE_CPUID_H
 #include <cpuid.h>
 #else
 #define __get_cpuid_max(x, y) 0
-- 
1.9.3

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to