macros.hpp
Go to the documentation of this file.
00001 
00008 /*****************************************************************************
00009 ** Ifdefs
00010 *****************************************************************************/
00011 
00012 #ifndef ECL_CONFIG_UTILITY_MACROS_HPP_
00013 #define ECL_CONFIG_UTILITY_MACROS_HPP_
00014 
00015 /*****************************************************************************
00016 ** Include
00017 *****************************************************************************/
00018 
00019 #include "ecl.hpp"
00020 
00021 /*****************************************************************************
00022 ** Macros
00023 *****************************************************************************/
00039 #if (defined __GNUC__)
00040   #define ECL_DONT_INLINE __attribute__((noinline))
00041 #elif (defined _MSC_VER)
00042   #define ECL_DONT_INLINE __declspec(noinline)
00043 #else
00044   #define ECL_DONT_INLINE
00045 #endif
00046 
00047 /*****************************************************************************
00048 ** Depracated
00049 *****************************************************************************/
00050 
00061 #if (defined __GNUC__)
00062   #define ECL_DEPRECATED __attribute__((deprecated))
00063 #elif (defined _MSC_VER)
00064   #define ECL_DEPRECATED __declspec(deprecated)
00065 #else
00066   #define ECL_DEPRECATED
00067 #endif
00068 
00073 #if defined(ECL_IS_WIN32) || defined(ECL_IS_CYGWIN)
00074   #define ECL_HELPER_IMPORT __declspec(dllimport)
00075   #define ECL_HELPER_EXPORT __declspec(dllexport)
00076   #define ECL_HELPER_LOCAL
00077 #else
00078   #if defined(ECL_IS_POSIX) && __GNUC__ >= 4
00079     #define ECL_HELPER_IMPORT __attribute__ ((visibility("default")))
00080     #define ECL_HELPER_EXPORT __attribute__ ((visibility("default")))
00081     #define ECL_HELPER_LOCAL  __attribute__ ((visibility("hidden")))
00082   #else
00083     #define ECL_HELPER_IMPORT
00084     #define ECL_HELPER_EXPORT
00085     #define ECL_HELPER_LOCAL
00086   #endif
00087 #endif
00088 
00135 #ifdef ECL_HAS_SHARED_LIBS // defined if ecl is compiled as a shared library
00136   #ifdef ECL_BUILDING_SHARED_LIB // defined if we are building the ecl lib (instead of using it)
00137     #define ECL_PUBLIC ECL_HELPER_EXPORT
00138   #else
00139     #define ECL_PUBLIC ECL_HELPER_IMPORT
00140   #endif // ECL_EXPORTS
00141   #define ECL_LOCAL ECL_HELPER_LOCAL
00142 #else // defined if ecl is compiled as a static library
00143   #define ECL_PUBLIC
00144   #define ECL_LOCAL
00145 #endif
00146 
00151 #endif /* ECL_UTILITY_CONFIG_MACROS_HPP_ */


ecl_config
Author(s): Daniel Stonier (d.stonier@gmail.com)
autogenerated on Thu Jan 2 2014 11:11:27