Go to the documentation of this file.
7 #ifndef PXR_BASE_ARCH_DEFINES_H
8 #define PXR_BASE_ARCH_DEFINES_H
14 #if defined(__linux__)
16 #elif defined(__APPLE__)
17 #include "TargetConditionals.h"
18 #define ARCH_OS_DARWIN
23 #define ARCH_OS_IPHONE
27 #elif defined(_WIN32) || defined(_WIN64)
28 #define ARCH_OS_WINDOWS
35 #if defined(i386) || defined(__i386__) || defined(__x86_64__) || \
36 defined(_M_IX86) || defined(_M_X64)
37 #define ARCH_CPU_INTEL
38 #elif defined(__arm__) || defined(__aarch64__) || defined(_M_ARM) || \
47 #if defined(__x86_64__) || defined(__aarch64__) || defined(_M_X64) || \
51 #error "Unsupported architecture. x86_64 or ARM64 required."
58 #if defined(__clang__)
59 #define ARCH_COMPILER_CLANG
60 #define ARCH_COMPILER_CLANG_MAJOR __clang_major__
61 #define ARCH_COMPILER_CLANG_MINOR __clang_minor__
62 #define ARCH_COMPILER_CLANG_PATCHLEVEL __clang_patchlevel__
63 #elif defined(__GNUC__)
64 #define ARCH_COMPILER_GCC
65 #define ARCH_COMPILER_GCC_MAJOR __GNUC__
66 #define ARCH_COMPILER_GCC_MINOR __GNUC_MINOR__
67 #define ARCH_COMPILER_GCC_PATCHLEVEL __GNUC_PATCHLEVEL__
69 #define ARCH_COMPILER_ICC
70 #elif defined(_MSC_VER)
71 #define ARCH_COMPILER_MSVC
72 #define ARCH_COMPILER_MSVC_VERSION _MSC_VER
80 #if defined(ARCH_OS_LINUX) && defined(ARCH_COMPILER_GCC)
81 #define ARCH_HAS_GNU_STL_EXTENSIONS
85 #if defined(ARCH_OS_LINUX)
86 #define ARCH_HAS_MMAP_MAP_POPULATE
95 #if defined(ARCH_COMPILER_MSVC)
96 #if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL
97 #define ARCH_PREPROCESSOR_MSVC_TRADITIONAL
101 #endif // PXR_BASE_ARCH_DEFINES_H