| #ifndef BENCHMARK_EXPORT_H |
| #define BENCHMARK_EXPORT_H |
| |
| #if defined(_WIN32) |
| #define EXPORT_ATTR __declspec(dllexport) |
| #define IMPORT_ATTR __declspec(dllimport) |
| #define NO_EXPORT_ATTR |
| #define DEPRECATED_ATTR __declspec(deprecated) |
| #else // _WIN32 |
| #define EXPORT_ATTR __attribute__((visibility("default"))) |
| #define IMPORT_ATTR __attribute__((visibility("default"))) |
| #define NO_EXPORT_ATTR __attribute__((visibility("hidden"))) |
| #define DEPRECATE_ATTR __attribute__((__deprecated__)) |
| #endif // _WIN32 |
| |
| #ifdef BENCHMARK_STATIC_DEFINE |
| #define BENCHMARK_EXPORT |
| #define BENCHMARK_NO_EXPORT |
| #else // BENCHMARK_STATIC_DEFINE |
| #ifndef BENCHMARK_EXPORT |
| #ifdef benchmark_EXPORTS |
| /* We are building this library */ |
| #define BENCHMARK_EXPORT EXPORT_ATTR |
| #else // benchmark_EXPORTS |
| /* We are using this library */ |
| #define BENCHMARK_EXPORT IMPORT_ATTR |
| #endif // benchmark_EXPORTS |
| #endif // !BENCHMARK_EXPORT |
| |
| #ifndef BENCHMARK_NO_EXPORT |
| #define BENCHMARK_NO_EXPORT NO_EXPORT_ATTR |
| #endif // !BENCHMARK_NO_EXPORT |
| #endif // BENCHMARK_STATIC_DEFINE |
| |
| #ifndef BENCHMARK_DEPRECATED |
| #define BENCHMARK_DEPRECATED DEPRECATE_ATTR |
| #endif // BENCHMARK_DEPRECATED |
| |
| #ifndef BENCHMARK_DEPRECATED_EXPORT |
| #define BENCHMARK_DEPRECATED_EXPORT BENCHMARK_EXPORT BENCHMARK_DEPRECATED |
| #endif // BENCHMARK_DEPRECATED_EXPORT |
| |
| #ifndef BENCHMARK_DEPRECATED_NO_EXPORT |
| #define BENCHMARK_DEPRECATED_NO_EXPORT BENCHMARK_NO_EXPORT BENCHMARK_DEPRECATED |
| #endif // BENCHMARK_DEPRECATED_EXPORT |
| |
| #endif /* BENCHMARK_EXPORT_H */ |