Go to the documentation of this file.
7 #ifndef PXR_BASE_ARCH_EXPORT_H
8 #define PXR_BASE_ARCH_EXPORT_H
142 #if defined(ARCH_OS_WINDOWS)
143 # if defined(ARCH_COMPILER_GCC) && ARCH_COMPILER_GCC_MAJOR >= 4 || defined(ARCH_COMPILER_CLANG)
144 # define ARCH_EXPORT __attribute__((dllexport))
145 # define ARCH_IMPORT __attribute__((dllimport))
147 # define ARCH_EXPORT_TYPE
149 # define ARCH_EXPORT __declspec(dllexport)
150 # define ARCH_IMPORT __declspec(dllimport)
152 # define ARCH_EXPORT_TYPE
154 #elif defined(ARCH_COMPILER_GCC) && ARCH_COMPILER_GCC_MAJOR >= 4 || defined(ARCH_COMPILER_CLANG)
155 # define ARCH_EXPORT __attribute__((visibility("default")))
157 # define ARCH_HIDDEN __attribute__((visibility("hidden")))
158 # if defined(ARCH_COMPILER_CLANG)
159 # define ARCH_EXPORT_TYPE __attribute__((type_visibility("default")))
161 # define ARCH_EXPORT_TYPE __attribute__((visibility("default")))
167 # define ARCH_EXPORT_TYPE
169 #define ARCH_EXPORT_TEMPLATE(type, ...)
170 #define ARCH_IMPORT_TEMPLATE(type, ...) extern template type ARCH_IMPORT __VA_ARGS__
172 #endif // PXR_BASE_ARCH_EXPORT_H