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