diff --git a/configure.ac b/configure.ac index 1f4a8e95..d478e10b 100644 --- a/configure.ac +++ b/configure.ac @@ -61,7 +61,7 @@ AC_C_INLINE AC_C_VARARRAYS AC_C_TYPEOF -AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/param.h termios.h x86intrin.h]) +AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/param.h termios.h x86intrin.h cpuid.h]) AC_HEADER_TIOCGWINSZ diff --git a/src/libFLAC/cpu.c b/src/libFLAC/cpu.c index 34ad6640..a829515d 100644 --- a/src/libFLAC/cpu.c +++ b/src/libFLAC/cpu.c @@ -518,7 +518,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) #if defined _MSC_VER #include /* for __cpuid() */ -#elif defined __GNUC__ +#elif defined __GNUC__ && defined HAVE_CPUID_H #include /* for __get_cpuid() and __get_cpuid_max() */ #endif @@ -546,7 +546,7 @@ FLAC__uint32 FLAC__cpu_have_cpuid_x86(void) return 1; else return 0; -# elif defined __GNUC__ +# elif defined __GNUC__ && defined HAVE_CPUID_H if (__get_cpuid_max(0, 0) != 0) return 1; else @@ -564,7 +564,7 @@ void FLAC__cpu_info_x86(FLAC__uint32 *flags_edx, FLAC__uint32 *flags_ecx) __cpuid(cpuinfo, 1); *flags_ecx = cpuinfo[2]; *flags_edx = cpuinfo[3]; -#elif defined __GNUC__ +#elif defined __GNUC__ && defined HAVE_CPUID_H FLAC__uint32 flags_eax, flags_ebx; if (0 == __get_cpuid(1, &flags_eax, &flags_ebx, flags_ecx, flags_edx)) *flags_ecx = *flags_edx = 0;