Go to the documentation of this file.
17 #ifndef OPTIMIZATION__VISIBILITY_CONTROL_HPP_
18 #define OPTIMIZATION__VISIBILITY_CONTROL_HPP_
23 #if defined(OPTIMIZATION_BUILDING_DLL) || defined(OPTIMIZATION_EXPORTS)
24 #define OPTIMIZATION_PUBLIC __declspec(dllexport)
25 #define OPTIMIZATION_LOCAL
26 #else // defined(OPTIMIZATION_BUILDING_DLL) || defined(OPTIMIZATION_EXPORTS)
27 #define OPTIMIZATION_PUBLIC __declspec(dllimport)
28 #define OPTIMIZATION_LOCAL
29 #endif // defined(OPTIMIZATION_BUILDING_DLL) || defined(OPTIMIZATION_EXPORTS)
30 #elif defined(__linux__)
31 #define OPTIMIZATION_PUBLIC __attribute__((visibility("default")))
32 #define OPTIMIZATION_LOCAL __attribute__((visibility("hidden")))
33 #elif defined(__APPLE__)
34 #define OPTIMIZATION_PUBLIC __attribute__((visibility("default")))
35 #define OPTIMIZATION_LOCAL __attribute__((visibility("hidden")))
36 #else // defined(_LINUX)
37 #error "Unsupported Build Configuration"
38 #endif // defined(_WINDOWS)
40 #endif // OPTIMIZATION__VISIBILITY_CONTROL_HPP_