@@ -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"], [
@@ -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
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> --- configure.ac | 18 ++++++++++++++++++ src/sna/sna_cpuid.h | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-)