Orocos Real-Time Toolkit  2.5.0
rtt-mqueue-config.h
00001 #ifndef RTT_MQUEUE_CONFIG_H
00002 #define RTT_MQUEUE_CONFIG_H
00003 
00004 //
00005 // See: <http://gcc.gnu.org/wiki/Visibility>
00006 //
00007 #define RTT_GCC_HASVISIBILITY
00008 #if defined(__GNUG__) && defined(RTT_GCC_HASVISIBILITY) && (defined(__unix__) || defined(__APPLE__))
00009 
00010 # if defined(RTT_MQUEUE_DLL_EXPORT)
00011    // Use RTT_MQUEUE_API for normal function exporting
00012 #  define RTT_MQUEUE_API    __attribute__((visibility("default")))
00013 
00014    // Use RTT_MQUEUE_EXPORT for static template class member variables
00015    // They must always be 'globally' visible.
00016 #  define RTT_MQUEUE_EXPORT __attribute__((visibility("default")))
00017 
00018    // Use RTT_MQUEUE_HIDE to explicitly hide a symbol
00019 #  define RTT_MQUEUE_HIDE   __attribute__((visibility("hidden")))
00020 
00021 # else
00022 #  define RTT_MQUEUE_API
00023 #  define RTT_MQUEUE_EXPORT __attribute__((visibility("default")))
00024 #  define RTT_MQUEUE_HIDE   __attribute__((visibility("hidden")))
00025 # endif
00026 #else
00027    // NOT GNU
00028 # if defined( __MINGW__ ) || defined( WIN32 )
00029 #  if defined(RTT_MQUEUE_DLL_EXPORT)
00030 #   define RTT_MQUEUE_API    __declspec(dllexport)
00031 #   define RTT_MQUEUE_EXPORT __declspec(dllexport)
00032 #   define RTT_MQUEUE_HIDE   
00033 #  else
00034 #   define RTT_MQUEUE_API    __declspec(dllimport)
00035 #   define RTT_MQUEUE_EXPORT __declspec(dllexport)
00036 #   define RTT_MQUEUE_HIDE 
00037 #  endif
00038 # else
00039 #  define RTT_MQUEUE_API
00040 #  define RTT_MQUEUE_EXPORT
00041 #  define RTT_MQUEUE_HIDE
00042 # endif
00043 #endif
00044 
00045 #endif
00046