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