Orocos Real-Time Toolkit  2.9.0
rtt-typekit-config.h
Go to the documentation of this file.
1 #ifndef RTT_TYPEKIT_CONFIG_H
2 #define RTT_TYPEKIT_CONFIG_H
3 
4 #include "../rtt-config.h"
5 
6 //
7 // See: <http://gcc.gnu.org/wiki/Visibility>
8 //
9 #define RTT_GCC_HASVISIBILITY
10 #if defined(__GNUG__) && defined(RTT_GCC_HASVISIBILITY) && (defined(__unix__) || defined(__APPLE__))
11 
12 # if defined(RTT_TYPEKIT_DLL_EXPORT)
13  // Use RTT_TYPEKIT_API for normal function exporting
14 # define RTT_TYPEKIT_API __attribute__((visibility("default")))
15 
16  // Use RTT_TYPEKIT_EXPORT for static template class member variables
17  // They must always be 'globally' visible.
18 # define RTT_TYPEKIT_EXPORT __attribute__((visibility("default")))
19 
20  // Use RTT_TYPEKIT_HIDE to explicitly hide a symbol
21 # define RTT_TYPEKIT_HIDE __attribute__((visibility("hidden")))
22 # define RTT_TYPEKIT_EXT_TMPL extern
23 # else
24 # define RTT_TYPEKIT_API
25 # define RTT_TYPEKIT_EXPORT __attribute__((visibility("default")))
26 # define RTT_TYPEKIT_HIDE __attribute__((visibility("hidden")))
27 # define RTT_TYPEKIT_EXT_TMPL extern
28 # endif
29 #else
30  // NOT GNU
31 # if defined( __MINGW__ ) || defined( WIN32 )
32 # if defined(RTT_TYPEKIT_DLL_EXPORT)
33 # define RTT_TYPEKIT_API __declspec(dllexport)
34 # define RTT_TYPEKIT_EXPORT __declspec(dllexport)
35 # define RTT_TYPEKIT_HIDE
36 # define RTT_TYPEKIT_EXT_TMPL extern
37 # else
38 # define RTT_TYPEKIT_API __declspec(dllimport)
39 # define RTT_TYPEKIT_EXPORT __declspec(dllexport)
40 # define RTT_TYPEKIT_HIDE
41 # define RTT_TYPEKIT_EXT_TMPL extern
42 # endif
43 # else
44 # define RTT_TYPEKIT_API
45 # define RTT_TYPEKIT_EXPORT
46 # define RTT_TYPEKIT_HIDE
47 # define RTT_TYPEKIT_EXT_TMPL
48 # endif
49 #endif
50 
51 #endif
52