00001
00002
00003
00004
00005
00006
00007
00008 #ifndef SAGA_VERSION_HPP
00009 #define SAGA_VERSION_HPP
00010
00011 #include <boost/preprocessor/cat.hpp>
00012 #include <saga/saga/util.hpp>
00013
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #define SAGA_VERSION_FULL 0x000905
00025
00026 #define SAGA_VERSION_MAJOR 0
00027 #define SAGA_VERSION_MINOR 9
00028 #define SAGA_VERSION_SUBMINOR 5
00029
00030 #define SAGA_VERSION_DATE 080825
00031
00032 #define SAGA_VERSION_SUBMINORMASK 0xFF
00033
00034
00035
00036 #define SAGA_CHECK_VERSION \
00037 BOOST_PP_CAT(saga_check_version_, \
00038 BOOST_PP_CAT(SAGA_VERSION_MAJOR, \
00039 BOOST_PP_CAT(_, SAGA_VERSION_MINOR))) \
00040
00041
00043
00044 #define SAGA_VERSION_API 0x010000
00045
00047
00048
00049
00050
00051
00052
00053
00054 #define SAGA_VERSION_ISCOMPATIBLE_EX(version) \
00055 (((version) & ~SAGA_VERSION_SUBMINORMASK) >= \
00056 (SAGA_VERSION_FULL & ~SAGA_VERSION_SUBMINORMASK)) \
00057
00058
00059 #define SAGA_VERSION_ISCOMPATIBLE() \
00060 SAGA_VERSION_ISCOMPATIBLE_EX(saga::get_engine_version()) \
00061
00062
00065 namespace saga
00066 {
00071 SAGA_EXPORT unsigned long get_engine_version (void);
00072
00077 SAGA_EXPORT unsigned long get_saga_version (void);
00078
00083 SAGA_EXPORT extern char const SAGA_CHECK_VERSION[];
00084
00085 }
00087
00088
00089
00090 namespace
00091 {
00092 char const* check_saga_version()
00093 {
00094 return saga::SAGA_CHECK_VERSION;
00095 }
00096 }
00097
00098 #endif // !SAGA_VERSION_HPP
00099