1 #ifndef BENCHMARK_EXPORT_H
2 #define BENCHMARK_EXPORT_H
5 #define EXPORT_ATTR __declspec(dllexport)
6 #define IMPORT_ATTR __declspec(dllimport)
8 #define DEPRECATED_ATTR __declspec(deprecated)
10 #define EXPORT_ATTR __attribute__((visibility("default")))
11 #define IMPORT_ATTR __attribute__((visibility("default")))
12 #define NO_EXPORT_ATTR __attribute__((visibility("hidden")))
13 #define DEPRECATE_ATTR __attribute__((__deprecated__))
16 #ifdef BENCHMARK_STATIC_DEFINE
17 #define BENCHMARK_EXPORT
18 #define BENCHMARK_NO_EXPORT
20 #ifndef BENCHMARK_EXPORT
21 #ifdef benchmark_EXPORTS
23 #define BENCHMARK_EXPORT EXPORT_ATTR
26 #define BENCHMARK_EXPORT IMPORT_ATTR
30 #ifndef BENCHMARK_NO_EXPORT
31 #define BENCHMARK_NO_EXPORT NO_EXPORT_ATTR
35 #ifndef BENCHMARK_DEPRECATED
36 #define BENCHMARK_DEPRECATED DEPRECATE_ATTR
39 #ifndef BENCHMARK_DEPRECATED_EXPORT
40 #define BENCHMARK_DEPRECATED_EXPORT BENCHMARK_EXPORT BENCHMARK_DEPRECATED
43 #ifndef BENCHMARK_DEPRECATED_NO_EXPORT
44 #define BENCHMARK_DEPRECATED_NO_EXPORT BENCHMARK_NO_EXPORT BENCHMARK_DEPRECATED