util: Add DETECT_ARCH_* and DETECT_CC_* macros for latter usage
authorYonggang Luo <luoyonggang@gmail.com>
Thu, 10 Nov 2022 17:06:36 +0000 (01:06 +0800)
committerMarge Bot <emma+marge@anholt.net>
Tue, 15 Nov 2022 20:35:55 +0000 (20:35 +0000)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19674>

src/util/detect_arch.h
src/util/detect_cc.h

index 314d7e3..ee187f7 100644 (file)
  */
 
 #if defined(__i386__) /* gcc */ || defined(_M_IX86) /* msvc */ || defined(_X86_) || defined(__386__) || defined(i386) || defined(__i386) /* Sun cc */
+#define DETECT_ARCH_X86 1
 #define PIPE_ARCH_X86
 #endif
 
 #if defined(__x86_64__) /* gcc */ || defined(_M_X64) /* msvc */ || defined(_M_AMD64) /* msvc */ || defined(__x86_64) /* Sun cc */
+#define DETECT_ARCH_X86_64 1
 #define PIPE_ARCH_X86_64
 #endif
 
 #if defined(PIPE_CC_GCC) && !defined(__SSE2__)
 /* #warning SSE2 support requires -msse -msse2 compiler options */
 #else
+#define DETECT_ARCH_SSE 1
 #define PIPE_ARCH_SSE
 #endif
 #endif
 
 #if defined(__ppc__) || defined(__ppc64__) || defined(__PPC__) || defined(__PPC64__)
+#define DETECT_ARCH_PPC 1
 #define PIPE_ARCH_PPC
 #if defined(__ppc64__) || defined(__PPC64__)
+#define DETECT_ARCH_PPC_64 1
 #define PIPE_ARCH_PPC_64
 #endif
 #endif
 
 #if defined(__s390x__)
+#define DETECT_ARCH_S390 1
 #define PIPE_ARCH_S390
 #endif
 
 #if defined(__arm__)
+#define DETECT_ARCH_ARM 1
 #define PIPE_ARCH_ARM
 #endif
 
 #if defined(__aarch64__) || defined(_M_ARM64)
+#define DETECT_ARCH_AARCH64 1
 #define PIPE_ARCH_AARCH64
 #endif
 
 #if defined(__mips64) && defined(__LP64__)
+#define DETECT_ARCH_MIPS64 1
 #define PIPE_ARCH_MIPS64
 #endif
 
 #if defined(__mips__)
+#define DETECT_ARCH_MIPS 1
 #define  PIPE_ARCH_MIPS
 #endif
 
+#ifndef DETECT_ARCH_X86
+#define DETECT_ARCH_X86 0
+#endif
+
+#ifndef DETECT_ARCH_X86_64
+#define DETECT_ARCH_X86_64 0
+#endif
+
+#ifndef DETECT_ARCH_SSE
+#define DETECT_ARCH_SSE 0
+#endif
+
+#ifndef DETECT_ARCH_PPC
+#define DETECT_ARCH_PPC 0
+#endif
+
+#ifndef DETECT_ARCH_PPC_64
+#define DETECT_ARCH_PPC_64 0
+#endif
+
+#ifndef DETECT_ARCH_S390
+#define DETECT_ARCH_S390 0
+#endif
+
+#ifndef DETECT_ARCH_ARM
+#define DETECT_ARCH_ARM 0
+#endif
+
+#ifndef DETECT_ARCH_AARCH64
+#define DETECT_ARCH_AARCH64 0
+#endif
+
+#ifndef DETECT_ARCH_MIPS64
+#define DETECT_ARCH_MIPS64 0
+#endif
+
+#ifndef DETECT_ARCH_MIPS
+#define DETECT_ARCH_MIPS 0
+#endif
+
 /*
  * Endian detection.
  */
index ddba65b..39a6e30 100644 (file)
@@ -44,6 +44,8 @@
  */
 
 #if defined(__GNUC__)
+#define DETECT_CC_GCC 1
+#define DETECT_CC_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
 #define PIPE_CC_GCC
 #define PIPE_CC_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
 #endif
  * versions.
  */
 #if defined(_MSC_VER) || defined(__MSC__)
+#define DETECT_CC_MSVC 1
 #define PIPE_CC_MSVC
 #endif
 
 #if defined(__ICL)
+#define DETECT_CC_ICL 1
 #define PIPE_CC_ICL
 #endif
 
+#ifndef DETECT_CC_GCC
+#define DETECT_CC_GCC 0
+#endif
+
+#ifndef DETECT_CC_GCC_VERSION
+#define DETECT_CC_GCC_VERSION 0
+#endif
+
+#ifndef DETECT_CC_MSVC
+#define DETECT_CC_MSVC 0
+#endif
+
+#ifndef DETECT_CC_ICL
+#define DETECT_CC_ICL 0
+#endif
+
 #endif /* UTIL_DETECT_CC_H_ */