Orocos Real-Time Toolkit
2.6.0
|
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