00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __UT_DSOVersion__
00025 #define __UT_DSOVersion__
00026
00027 #define UT_DSO_VERSION "11.0"
00028
00029 #include <SYS/SYS_Types.h>
00030 #include <SYS/SYS_Visibility.h>
00031
00032 extern "C" {
00033 class UT_DSOInfo
00034 {
00035 public:
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 bool loadGlobal;
00047 };
00048
00049 SYS_VISIBILITY_EXPORT void HoudiniDSOVersion(const char **version_string);
00050 SYS_VISIBILITY_EXPORT void HoudiniGetTagInfo(const char **version_string);
00051
00052
00053
00054
00055
00056
00057
00058
00059 SYS_VISIBILITY_EXPORT void HoudiniDSOInit(UT_DSOInfo& dsoinfo);
00060 }
00061
00062 #ifdef MAKING_DSO
00063
00064 extern "C" SYS_VISIBILITY_EXPORT void
00065 HoudiniDSOVersion(const char **v) { *v = UT_DSO_VERSION; }
00066 #ifdef UT_DSO_TAGINFO
00067 extern "C" SYS_VISIBILITY_EXPORT void
00068 HoudiniGetTagInfo(const char **v) { *v = UT_DSO_TAGINFO; }
00069 #endif
00070
00071 #endif // MAKING_DSO
00072
00073 #ifdef MAKING_DSO
00074 #define UT_DSOVERSION_EXPORT extern "C" SYS_VISIBILITY_EXPORT
00075 #else
00076 #define UT_DSOVERSION_EXPORT static inline
00077 #endif
00078
00079 #if defined(__GNUC__)
00080 UT_DSOVERSION_EXPORT unsigned
00081 HoudiniCompilerVersion() { return (__GNUC__ * 100 + __GNUC_MINOR__); }
00082 #elif defined(_MSC_VER)
00083 UT_DSOVERSION_EXPORT unsigned
00084 HoudiniCompilerVersion() { return (_MSC_VER); }
00085 #else
00086 #error Unsupported compiler
00087 #endif
00088
00089 #endif // __UT_DSOVersion__