xref: /aosp_15_r20/external/google-benchmark/include/benchmark/export.h (revision dbb99499c3810fa1611fa2242a2fc446be01a57c)
1*dbb99499SAndroid Build Coastguard Worker #ifndef BENCHMARK_EXPORT_H
2*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_EXPORT_H
3*dbb99499SAndroid Build Coastguard Worker 
4*dbb99499SAndroid Build Coastguard Worker #if defined(_WIN32)
5*dbb99499SAndroid Build Coastguard Worker #define EXPORT_ATTR __declspec(dllexport)
6*dbb99499SAndroid Build Coastguard Worker #define IMPORT_ATTR __declspec(dllimport)
7*dbb99499SAndroid Build Coastguard Worker #define NO_EXPORT_ATTR
8*dbb99499SAndroid Build Coastguard Worker #define DEPRECATED_ATTR __declspec(deprecated)
9*dbb99499SAndroid Build Coastguard Worker #else  // _WIN32
10*dbb99499SAndroid Build Coastguard Worker #define EXPORT_ATTR __attribute__((visibility("default")))
11*dbb99499SAndroid Build Coastguard Worker #define IMPORT_ATTR __attribute__((visibility("default")))
12*dbb99499SAndroid Build Coastguard Worker #define NO_EXPORT_ATTR __attribute__((visibility("hidden")))
13*dbb99499SAndroid Build Coastguard Worker #define DEPRECATE_ATTR __attribute__((__deprecated__))
14*dbb99499SAndroid Build Coastguard Worker #endif  // _WIN32
15*dbb99499SAndroid Build Coastguard Worker 
16*dbb99499SAndroid Build Coastguard Worker #ifdef BENCHMARK_STATIC_DEFINE
17*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_EXPORT
18*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_NO_EXPORT
19*dbb99499SAndroid Build Coastguard Worker #else  // BENCHMARK_STATIC_DEFINE
20*dbb99499SAndroid Build Coastguard Worker #ifndef BENCHMARK_EXPORT
21*dbb99499SAndroid Build Coastguard Worker #ifdef benchmark_EXPORTS
22*dbb99499SAndroid Build Coastguard Worker /* We are building this library */
23*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_EXPORT EXPORT_ATTR
24*dbb99499SAndroid Build Coastguard Worker #else  // benchmark_EXPORTS
25*dbb99499SAndroid Build Coastguard Worker /* We are using this library */
26*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_EXPORT IMPORT_ATTR
27*dbb99499SAndroid Build Coastguard Worker #endif  // benchmark_EXPORTS
28*dbb99499SAndroid Build Coastguard Worker #endif  // !BENCHMARK_EXPORT
29*dbb99499SAndroid Build Coastguard Worker 
30*dbb99499SAndroid Build Coastguard Worker #ifndef BENCHMARK_NO_EXPORT
31*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_NO_EXPORT NO_EXPORT_ATTR
32*dbb99499SAndroid Build Coastguard Worker #endif  // !BENCHMARK_NO_EXPORT
33*dbb99499SAndroid Build Coastguard Worker #endif  // BENCHMARK_STATIC_DEFINE
34*dbb99499SAndroid Build Coastguard Worker 
35*dbb99499SAndroid Build Coastguard Worker #ifndef BENCHMARK_DEPRECATED
36*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_DEPRECATED DEPRECATE_ATTR
37*dbb99499SAndroid Build Coastguard Worker #endif  // BENCHMARK_DEPRECATED
38*dbb99499SAndroid Build Coastguard Worker 
39*dbb99499SAndroid Build Coastguard Worker #ifndef BENCHMARK_DEPRECATED_EXPORT
40*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_DEPRECATED_EXPORT BENCHMARK_EXPORT BENCHMARK_DEPRECATED
41*dbb99499SAndroid Build Coastguard Worker #endif  // BENCHMARK_DEPRECATED_EXPORT
42*dbb99499SAndroid Build Coastguard Worker 
43*dbb99499SAndroid Build Coastguard Worker #ifndef BENCHMARK_DEPRECATED_NO_EXPORT
44*dbb99499SAndroid Build Coastguard Worker #define BENCHMARK_DEPRECATED_NO_EXPORT BENCHMARK_NO_EXPORT BENCHMARK_DEPRECATED
45*dbb99499SAndroid Build Coastguard Worker #endif  // BENCHMARK_DEPRECATED_EXPORT
46*dbb99499SAndroid Build Coastguard Worker 
47*dbb99499SAndroid Build Coastguard Worker #endif /* BENCHMARK_EXPORT_H */
48