xref: /aosp_15_r20/external/pytorch/c10/xpu/XPUMacros.h (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker #pragma once
2*da0073e9SAndroid Build Coastguard Worker 
3*da0073e9SAndroid Build Coastguard Worker #ifndef C10_USING_CUSTOM_GENERATED_MACROS
4*da0073e9SAndroid Build Coastguard Worker #include <c10/xpu/impl/xpu_cmake_macros.h>
5*da0073e9SAndroid Build Coastguard Worker #endif
6*da0073e9SAndroid Build Coastguard Worker 
7*da0073e9SAndroid Build Coastguard Worker // See c10/macros/Export.h for a detailed explanation of what the function
8*da0073e9SAndroid Build Coastguard Worker // of these macros are.  We need one set of macros for every separate library
9*da0073e9SAndroid Build Coastguard Worker // we build.
10*da0073e9SAndroid Build Coastguard Worker 
11*da0073e9SAndroid Build Coastguard Worker #ifdef _WIN32
12*da0073e9SAndroid Build Coastguard Worker #if defined(C10_XPU_BUILD_SHARED_LIBS)
13*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_EXPORT __declspec(dllexport)
14*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_IMPORT __declspec(dllimport)
15*da0073e9SAndroid Build Coastguard Worker #else
16*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_EXPORT
17*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_IMPORT
18*da0073e9SAndroid Build Coastguard Worker #endif
19*da0073e9SAndroid Build Coastguard Worker #else // _WIN32
20*da0073e9SAndroid Build Coastguard Worker #if defined(__GNUC__)
21*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_EXPORT __attribute__((__visibility__("default")))
22*da0073e9SAndroid Build Coastguard Worker #else // defined(__GNUC__)
23*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_EXPORT
24*da0073e9SAndroid Build Coastguard Worker #endif // defined(__GNUC__)
25*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_IMPORT C10_XPU_EXPORT
26*da0073e9SAndroid Build Coastguard Worker #endif // _WIN32
27*da0073e9SAndroid Build Coastguard Worker 
28*da0073e9SAndroid Build Coastguard Worker // This one is being used by libc10_xpu.so
29*da0073e9SAndroid Build Coastguard Worker #ifdef C10_XPU_BUILD_MAIN_LIB
30*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_API C10_XPU_EXPORT
31*da0073e9SAndroid Build Coastguard Worker #else
32*da0073e9SAndroid Build Coastguard Worker #define C10_XPU_API C10_XPU_IMPORT
33*da0073e9SAndroid Build Coastguard Worker #endif
34