diff options
author | Jonathan Gray <jsg@jsg.id.au> | 2014-08-31 18:48:56 +1000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-08-31 11:51:46 +0100 |
commit | 2c564c04bcde88d730ca111acfb6798bdf0d66da (patch) | |
tree | cf7585488a1cbf5f244a978fc98fdde2f44156d1 | |
parent | e8ad453a0ae9d701b41cc026d5d40f55dd4590c5 (diff) |
configure: check for cpuid.h
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 <jsg@jsg.id.au>
[ickle: Delete the bare and redundant config.h]
-rw-r--r-- | configure.ac | 18 | ||||
-rw-r--r-- | src/sna/sna_cpuid.h | 4 |
2 files changed, 19 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 4f1cff71..c24b369e 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 ed28a0ae..430cc64f 100644 --- a/src/sna/sna_cpuid.h +++ b/src/sna/sna_cpuid.h @@ -30,9 +30,7 @@ #ifndef SNA_CPUID_H #define SNA_CPUID_H -#include "compiler.h" - -#if HAS_GCC(4, 4) /* for __cpuid_count() */ +#ifdef HAVE_CPUID_H #include <cpuid.h> #else #define __get_cpuid_max(x, y) 0 |