Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef SAGA_EXPORT_DEFINITIONS_HPP
00007 #define SAGA_EXPORT_DEFINITIONS_HPP
00008
00009
00010 #include <saga/saga-defs.hpp>
00011 #include <boost/config.hpp>
00012
00013 #if !defined (SAGA_CREATE_PREPROCESSED_FILES)
00014
00015 # if defined(SAGA_WINDOWS)
00016 # if defined(BOOST_MSVC)
00017 # define SAGA_DEPRECATED(x) __declspec(deprecated(x))
00018 # endif
00019 # elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
00020 # define SAGA_DEPRECATED(x) __attribute__((__deprecated__))
00021 # endif
00022
00023 #if !defined(SAGA_DEPRECATED)
00024 #define SAGA_DEPRECATED(x)
00025 #endif
00026
00027 # if defined(SAGA_WINDOWS)
00028 # define SAGA_SYMBOL_EXPORT __declspec (dllexport)
00029 # define SAGA_SYMBOL_EXPORT_REPEAT SAGA_SYMBOL_EXPORT
00030 # define SAGA_SYMBOL_IMPORT __declspec (dllimport)
00031 # define SAGA_SYMBOL_INTERNAL
00032 # elif defined(SAGA_GCC_HAVE_VISIBILITY)
00033 # define SAGA_SYMBOL_EXPORT __attribute__((visibility("default")))
00034 # define SAGA_SYMBOL_EXPORT_REPEAT
00035 # define SAGA_SYMBOL_IMPORT __attribute__((visibility("default")))
00036 # ifdef __sparc__
00037 # define SAGA_SYMBOL_INTERNAL
00038 # else
00039 # define SAGA_SYMBOL_INTERNAL __attribute__((visibility("hidden")))
00040 # endif
00041 # else
00042 # define SAGA_SYMBOL_EXPORT
00043 # define SAGA_SYMBOL_EXPORT_REPEAT
00044 # define SAGA_SYMBOL_IMPORT
00045 # define SAGA_SYMBOL_INTERNAL
00046 # endif
00047
00049
00050
00051 # ifdef SAGA_ENGINE_EXPORTS
00052 # define SAGA_EXPORT SAGA_SYMBOL_EXPORT
00053 # define SAGA_EXPORT_REPEAT SAGA_SYMBOL_EXPORT_REPEAT
00054 # define SAGA_EXCEPTION_EXPORT SAGA_SYMBOL_EXPORT
00055 # elif !defined(BUILD_SAGA_LITE)
00056 # define SAGA_EXPORT SAGA_SYMBOL_IMPORT
00057 # define SAGA_EXPORT_REPEAT
00058 # define SAGA_EXCEPTION_EXPORT SAGA_SYMBOL_IMPORT
00059 # else
00060 # define SAGA_EXPORT
00061 # define SAGA_EXPORT_REPEAT
00062 # define SAGA_EXCEPTION_EXPORT
00063 # endif
00064
00065 # ifdef SAGA_PACKAGE_EXPORTS
00066 # define SAGA_PACKAGE_EXPORT SAGA_SYMBOL_EXPORT
00067 # define SAGA_PACKAGE_LOCAL SAGA_SYMBOL_INTERNAL
00068 # elif !defined(BUILD_SAGA_LITE)
00069 # define SAGA_PACKAGE_EXPORT SAGA_SYMBOL_IMPORT
00070 # define SAGA_PACKAGE_LOCAL SAGA_SYMBOL_INTERNAL
00071 # else
00072 # define SAGA_PACKAGE_EXPORT
00073 # define SAGA_PACKAGE_LOCAL
00074 # endif
00075
00076 # ifdef SAGA_ADAPTOR_EXPORTS
00077 # define SAGA_ADAPTOR_EXPORT SAGA_SYMBOL_EXPORT
00078 # define SAGA_ADAPTOR_LOCAL SAGA_SYMBOL_INTERNAL
00079 # elif !defined(BUILD_SAGA_LITE)
00080 # define SAGA_ADAPTOR_EXPORT SAGA_SYMBOL_IMPORT
00081 # define SAGA_ADAPTOR_LOCAL SAGA_SYMBOL_INTERNAL
00082 # else
00083 # define SAGA_ADAPTOR_EXPORT
00084 # define SAGA_ADAPTOR_LOCAL
00085 # endif
00086
00087 # define SAGA_LOCAL
00088
00089 #endif // !SAGA_CREATE_PREPROCESSED_FILES
00090
00091 #endif
00092
00093