24 #ifndef PXR_BASE_ARCH_DEFINES_H
25 #define PXR_BASE_ARCH_DEFINES_H
35 #if defined(__linux__)
37 #elif defined(__APPLE__)
38 #include "TargetConditionals.h"
39 #define ARCH_OS_DARWIN
45 #elif defined(_WIN32) || defined(_WIN64)
46 #define ARCH_OS_WINDOWS
53 #if defined(i386) || defined(__i386__) || defined(__x86_64__) || \
54 defined(_M_IX86) || defined(_M_X64)
55 #define ARCH_CPU_INTEL
56 #elif defined(__arm__) || defined(__aarch64__) || defined(_M_ARM)
64 #if defined(__x86_64__) || defined(__aarch64__) || defined(_M_X64)
67 #error "Unsupported architecture. x86_64 or ARM64 required."
74 #if defined(__clang__)
75 #define ARCH_COMPILER_CLANG
76 #define ARCH_COMPILER_CLANG_MAJOR __clang_major__
77 #define ARCH_COMPILER_CLANG_MINOR __clang_minor__
78 #define ARCH_COMPILER_CLANG_PATCHLEVEL __clang_patchlevel__
79 #elif defined(__GNUC__)
80 #define ARCH_COMPILER_GCC
81 #define ARCH_COMPILER_GCC_MAJOR __GNUC__
82 #define ARCH_COMPILER_GCC_MINOR __GNUC_MINOR__
83 #define ARCH_COMPILER_GCC_PATCHLEVEL __GNUC_PATCHLEVEL__
85 #define ARCH_COMPILER_ICC
86 #elif defined(_MSC_VER)
87 #define ARCH_COMPILER_MSVC
88 #define ARCH_COMPILER_MSVC_VERSION _MSC_VER
96 #if defined(ARCH_OS_LINUX) && defined(ARCH_COMPILER_GCC)
97 #define ARCH_HAS_GNU_STL_EXTENSIONS
102 #if !(defined(ARCH_OS_DARWIN) && defined(ARCH_COMPILER_CLANG))
103 #define ARCH_HAS_THREAD_LOCAL
107 #if defined(ARCH_OS_LINUX)
108 #define ARCH_HAS_MMAP_MAP_POPULATE
113 #endif // PXR_BASE_ARCH_DEFINES_H
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE