|
Blender V4.3
|
Go to the source code of this file.
Macros | |
A set of macros to use for platform detection. | |
Based on Chromium's build_config.h, governed by a BSD-style license, with tweaks and extensions needed for the Blender project. Compile-time detection of compiler and hardware platform configuration. There are few categories of the defined symbols this header provides. Operating system detectionAn operating system is detected is defined as an There are aggregates which allows to access "family" of the operating system:
Compiler detectionThe following compilers are detected: CLANG, GCC, MSVC, MINGW32, MINGW64. The COMPILER_<family> for the detected compiler is defined to 1, and all the rest of the compiler defines are set to 0. The aggregate COMPILER_MINGW is defined when the compiler is wither MINGW32 or MINGW64. CPU detectionThe commonly detected CPU capabilities are:
Supported CPU families: X86, S390, PPC, ARM, MIPS. All commonly used symbols (which are checked on a "top" level, from outside of any platform-specific | |
| #define | OS_AIX 0 |
| #define | OS_ASMJS 0 |
| #define | OS_NACL 0 |
| #define | OS_NACL_NONSFI 0 |
| #define | OS_NACL_SFI 0 |
| #define | OS_ANDROID 0 |
| #define | OS_MAC 0 |
| #define | OS_IOS 0 |
| #define | OS_HAIKU 0 |
| #define | OS_HPUX 0 |
| #define | OS_IRIX 0 |
| #define | OS_LINUX 0 |
| #define | LIBC_GLIBC 0 |
| #define | OS_WINDOWS 0 |
| #define | OS_FUCHSIA 0 |
| #define | OS_DRAGONFLYBSD 0 |
| #define | OS_FREEBSD 0 |
| #define | OS_NETBSD 0 |
| #define | OS_OPENBSD 0 |
| #define | OS_SOLARIS 0 |
| #define | OS_QNX 0 |
| #define | OS_ZOS 0 |
*BSD OS family detection. | |
For access to standard BSD features, use OS_BSD instead of a more specific macro. | |
| #define | OS_BSD 0 |
POSIX system detection. | |
For access to standard POSIXish features use OS_POSIX instead of a more specific macro. | |
| #define | OS_POSIX 0 |
Compiler detection, including its capabilities. | |
| #define | COMPILER_CLANG 0 |
| #define | COMPILER_GCC 0 |
| #define | COMPILER_MSVC 0 |
| #define | COMPILER_MINGW32 0 |
| #define | COMPILER_MINGW64 0 |
| #define | COMPILER_MINGW 0 |
Processor architecture detection. | |
For more info on what's defined, see: http://msdn.microsoft.com/en-us/library/b0084kay.aspx http://www.agner.org/optimize/calling_conventions.pdf or with gcc, run: "echo | gcc -E -dM -" | |
| #define | ARCH_CPU_LITTLE_ENDIAN 0 |
| #define | ARCH_CPU_BIG_ENDIAN 0 |
| #define | ARCH_CPU_31_BITS 0 |
| #define | ARCH_CPU_32_BITS 0 |
| #define | ARCH_CPU_64_BITS 0 |
| #define | ARCH_CPU_X86_FAMILY 0 |
| #define | ARCH_CPU_ARM_FAMILY 0 |
| #define | ARCH_CPU_LOONGARCH_FAMILY 0 |
| #define | ARCH_CPU_MIPS_FAMILY 0 |
| #define | ARCH_CPU_PPC64_FAMILY 0 |
| #define | ARCH_CPU_S390_FAMILY 0 |
| #define | ARCH_CPU_ARM64 0 |
| #define | ARCH_CPU_ARMEL 0 |
| #define | ARCH_CPU_LOONGARCH64 0 |
| #define | ARCH_CPU_MIPS 0 |
| #define | ARCH_CPU_MIPS64 0 |
| #define | ARCH_CPU_MIPS64EL 0 |
| #define | ARCH_CPU_MIPSEL 0 |
| #define | ARCH_CPU_PPC64 0 |
| #define | ARCH_CPU_S390 0 |
| #define | ARCH_CPU_S390X 0 |
| #define | ARCH_CPU_X86 0 |
| #define | ARCH_CPU_X86_64 0 |
| #define ARCH_CPU_31_BITS 0 |
Definition at line 357 of file BLI_build_config.h.
Referenced by blender::tests::TEST().
| #define ARCH_CPU_32_BITS 0 |
Definition at line 360 of file BLI_build_config.h.
Referenced by blender::tests::TEST().
| #define ARCH_CPU_64_BITS 0 |
Definition at line 363 of file BLI_build_config.h.
Referenced by blender::tests::TEST().
| #define ARCH_CPU_ARM64 0 |
Definition at line 386 of file BLI_build_config.h.
| #define ARCH_CPU_ARM_FAMILY 0 |
Definition at line 370 of file BLI_build_config.h.
| #define ARCH_CPU_ARMEL 0 |
Definition at line 389 of file BLI_build_config.h.
| #define ARCH_CPU_BIG_ENDIAN 0 |
Definition at line 353 of file BLI_build_config.h.
Referenced by blender::tests::TEST().
| #define ARCH_CPU_LITTLE_ENDIAN 0 |
Definition at line 350 of file BLI_build_config.h.
Referenced by blender::tests::TEST().
| #define ARCH_CPU_LOONGARCH64 0 |
Definition at line 392 of file BLI_build_config.h.
| #define ARCH_CPU_LOONGARCH_FAMILY 0 |
Definition at line 373 of file BLI_build_config.h.
| #define ARCH_CPU_MIPS 0 |
Definition at line 395 of file BLI_build_config.h.
| #define ARCH_CPU_MIPS64 0 |
Definition at line 398 of file BLI_build_config.h.
| #define ARCH_CPU_MIPS64EL 0 |
Definition at line 401 of file BLI_build_config.h.
| #define ARCH_CPU_MIPS_FAMILY 0 |
Definition at line 376 of file BLI_build_config.h.
| #define ARCH_CPU_MIPSEL 0 |
Definition at line 404 of file BLI_build_config.h.
| #define ARCH_CPU_PPC64 0 |
Definition at line 407 of file BLI_build_config.h.
| #define ARCH_CPU_PPC64_FAMILY 0 |
Definition at line 379 of file BLI_build_config.h.
| #define ARCH_CPU_S390 0 |
Definition at line 410 of file BLI_build_config.h.
| #define ARCH_CPU_S390_FAMILY 0 |
Definition at line 382 of file BLI_build_config.h.
| #define ARCH_CPU_S390X 0 |
Definition at line 413 of file BLI_build_config.h.
| #define ARCH_CPU_X86 0 |
Definition at line 416 of file BLI_build_config.h.
| #define ARCH_CPU_X86_64 0 |
Definition at line 419 of file BLI_build_config.h.
| #define ARCH_CPU_X86_FAMILY 0 |
Definition at line 367 of file BLI_build_config.h.
| #define COMPILER_CLANG 0 |
Definition at line 239 of file BLI_build_config.h.
| #define COMPILER_GCC 0 |
Definition at line 242 of file BLI_build_config.h.
| #define COMPILER_MINGW 0 |
Definition at line 258 of file BLI_build_config.h.
| #define COMPILER_MINGW32 0 |
Definition at line 248 of file BLI_build_config.h.
| #define COMPILER_MINGW64 0 |
Definition at line 251 of file BLI_build_config.h.
| #define COMPILER_MSVC 0 |
Definition at line 245 of file BLI_build_config.h.
| #define LIBC_GLIBC 0 |
Definition at line 159 of file BLI_build_config.h.
| #define OS_AIX 0 |
Definition at line 123 of file BLI_build_config.h.
| #define OS_ANDROID 0 |
Definition at line 138 of file BLI_build_config.h.
| #define OS_ASMJS 0 |
Definition at line 126 of file BLI_build_config.h.
| #define OS_BSD 0 |
Definition at line 199 of file BLI_build_config.h.
| #define OS_DRAGONFLYBSD 0 |
Definition at line 168 of file BLI_build_config.h.
| #define OS_FREEBSD 0 |
Definition at line 171 of file BLI_build_config.h.
| #define OS_FUCHSIA 0 |
Definition at line 165 of file BLI_build_config.h.
| #define OS_HAIKU 0 |
Definition at line 147 of file BLI_build_config.h.
| #define OS_HPUX 0 |
Definition at line 150 of file BLI_build_config.h.
| #define OS_IOS 0 |
Definition at line 144 of file BLI_build_config.h.
| #define OS_IRIX 0 |
Definition at line 153 of file BLI_build_config.h.
| #define OS_LINUX 0 |
Definition at line 156 of file BLI_build_config.h.
| #define OS_MAC 0 |
Definition at line 141 of file BLI_build_config.h.
| #define OS_NACL 0 |
Definition at line 129 of file BLI_build_config.h.
| #define OS_NACL_NONSFI 0 |
Definition at line 132 of file BLI_build_config.h.
| #define OS_NACL_SFI 0 |
Definition at line 135 of file BLI_build_config.h.
| #define OS_NETBSD 0 |
Definition at line 174 of file BLI_build_config.h.
| #define OS_OPENBSD 0 |
Definition at line 177 of file BLI_build_config.h.
| #define OS_POSIX 0 |
Definition at line 213 of file BLI_build_config.h.
| #define OS_QNX 0 |
Definition at line 183 of file BLI_build_config.h.
| #define OS_SOLARIS 0 |
Definition at line 180 of file BLI_build_config.h.
| #define OS_WINDOWS 0 |
Definition at line 162 of file BLI_build_config.h.
| #define OS_ZOS 0 |
Definition at line 186 of file BLI_build_config.h.