Orocos Real-Time Toolkit
2.5.0
|
00001 #ifndef RTT_SCRIPTING_CONFIG_H 00002 #define RTT_SCRIPTING_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_SCRIPTING_DLL_EXPORT) 00013 // Use RTT_SCRIPTING_API for normal function exporting 00014 # define RTT_SCRIPTING_API __attribute__((visibility("default"))) 00015 00016 // Use RTT_SCRIPTING_EXPORT for static template class member variables 00017 // They must always be 'globally' visible. 00018 # define RTT_SCRIPTING_EXPORT __attribute__((visibility("default"))) 00019 00020 // Use RTT_SCRIPTING_HIDE to explicitly hide a symbol 00021 # define RTT_SCRIPTING_HIDE __attribute__((visibility("hidden"))) 00022 00023 # else 00024 # define RTT_SCRIPTING_API 00025 # define RTT_SCRIPTING_EXPORT __attribute__((visibility("default"))) 00026 # define RTT_SCRIPTING_HIDE __attribute__((visibility("hidden"))) 00027 # endif 00028 #else 00029 // NOT GNU 00030 # if defined( __MINGW__ ) || defined( WIN32 ) 00031 # if defined(RTT_SCRIPTING_DLL_EXPORT) 00032 # define RTT_SCRIPTING_API __declspec(dllexport) 00033 # define RTT_SCRIPTING_EXPORT __declspec(dllexport) 00034 # define RTT_SCRIPTING_HIDE 00035 # else 00036 # define RTT_SCRIPTING_API __declspec(dllimport) 00037 # define RTT_SCRIPTING_EXPORT __declspec(dllexport) 00038 # define RTT_SCRIPTING_HIDE 00039 # endif 00040 # else 00041 # define RTT_SCRIPTING_API 00042 # define RTT_SCRIPTING_EXPORT 00043 # define RTT_SCRIPTING_HIDE 00044 # endif 00045 #endif 00046 00047 #endif 00048