Orocos Real-Time Toolkit
2.6.0
|
00001 #ifndef RTT_CONFIG_H 00002 #define RTT_CONFIG_H 00003 00004 #define RTT_VERSION 2.6.0 00005 #define RTT_VERSION_MAJOR 2 00006 #define RTT_VERSION_MINOR 6 00007 #define RTT_VERSION_PATCH 0 00008 00009 /* #undef ORO_DISABLE_PORT_DATA_SCRIPTING */ 00010 00011 // if not defined, show an error 00012 #ifndef OROCOS_TARGET 00013 // OROCOS_TARGET is only used to include the file targets/OROCOS_TARGET 00014 #error "You _must_ define OROCOS_TARGET to an installed target (for example: -DOROCOS_TARGET=gnulinux )" 00015 #endif 00016 00017 #include "os/targets/rtt-target.h" 00018 00019 // Detect the CPU we are compiling for 00020 #if defined( __GNUC__ ) 00021 #define OROBLD_GCC_VERSION (__GNUC__ * 10000 \ 00022 + __GNUC_MINOR__ * 100 \ 00023 + __GNUC_PATCHLEVEL__) 00024 #endif 00025 # if defined( __GNUC__ ) && defined( __i386__ ) 00026 # define OROBLD_OS_ARCH_i386 00027 # elif defined( __GNUC__ ) && defined( __x86_64__ ) 00028 # define OROBLD_OS_ARCH_x86_64 00029 # elif defined( __GNUC__ ) && (defined( __powerpc__ ) || defined( __PPC__ ) ) 00030 # define OROBLD_OS_ARCH_ppc 00031 # elif defined( __GNUC__ ) && (defined( __arm__ ) || defined( __ARM__ ) ) 00032 # define OROBLD_OS_ARCH_arm 00033 # elif defined( __GNUC__ ) && defined( __ia64__ ) 00034 # error "ia64 Is not yet supported, contact the orocos-dev mailinglist for further actions." 00035 # define OROBLD_OS_ARCH_ia64 00036 # elif defined( __MINGW32__ ) && defined( __i386__ ) 00037 # define OROBLD_OS_ARCH_i386 00038 # elif defined( WIN32 ) 00039 # define OROBLD_OS_ARCH_i386 00040 # else 00041 # error "Unknown Processor Architecture" 00042 # define OROBLD_OS_ARCH_unknown 00043 # endif 00044 00045 00046 // 00047 // See: <http://gcc.gnu.org/wiki/Visibility> 00048 // 00049 #define RTT_GCC_HASVISIBILITY 00050 #if defined(__GNUG__) && defined(RTT_GCC_HASVISIBILITY) && (defined(__unix__) || defined(__APPLE__)) 00051 00052 # if defined(RTT_DLL_EXPORT) 00053 // Use RTT_API for normal function exporting 00054 # define RTT_API __attribute__((visibility("default"))) 00055 00056 // Use RTT_EXPORT for static template class member variables 00057 // They must always be 'globally' visible. 00058 # define RTT_EXPORT __attribute__((visibility("default"))) 00059 00060 // Use RTT_HIDE to explicitly hide a symbol 00061 # define RTT_HIDE __attribute__((visibility("hidden"))) 00062 00063 # else 00064 # define RTT_API 00065 # define RTT_EXPORT __attribute__((visibility("default"))) 00066 # define RTT_HIDE __attribute__((visibility("hidden"))) 00067 # endif 00068 #else 00069 // Win32 and NOT GNU 00070 # if defined( WIN32 ) && !defined ( __MINGW32__ ) 00071 # if defined(RTT_DLL_EXPORT) 00072 # define RTT_API __declspec(dllexport) 00073 # define RTT_EXPORT __declspec(dllexport) 00074 # define RTT_HIDE 00075 # else 00076 # define RTT_API __declspec(dllimport) 00077 # define RTT_EXPORT __declspec(dllexport) 00078 # define RTT_HIDE 00079 # endif 00080 # else 00081 # define RTT_API 00082 # define RTT_EXPORT 00083 # define RTT_HIDE 00084 # endif 00085 #endif 00086 00087 #endif