mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 16:30:10 +01:00
util: Add DETECT_ARCH_* and DETECT_CC_* macros for latter usage
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>
This commit is contained in:
parent
db01b983ed
commit
4304177675
2 changed files with 70 additions and 0 deletions
|
|
@ -55,10 +55,12 @@
|
|||
*/
|
||||
|
||||
#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
|
||||
|
||||
|
|
@ -66,37 +68,85 @@
|
|||
#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.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -62,11 +64,29 @@
|
|||
* 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_ */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue