00001 #ifndef __LGI_INC_H
00002 #define __LGI_INC_H
00003
00004 #define LGI_EXCEPTIONS 0
00005
00006 #ifdef LGI_STATIC
00007
00008
00009 #define LgiFunc extern
00010 #define LgiClass
00011 #define LgiExtern extern
00012
00013 #else
00014
00015
00016
00017 #ifdef WIN32 // _MSC_VER
00018
00019 #ifdef LGI_LIBRARY
00020
00021 #ifdef __cplusplus
00022 #define LgiFunc extern "C" __declspec(dllexport)
00023 #else
00024 #define LgiFunc __declspec(dllexport)
00025 #endif
00026
00027 #define LgiClass __declspec(dllexport)
00028 #define LgiExtern extern __declspec(dllexport)
00029 #define LgiTemplate
00030
00031 #else
00032
00033 #ifdef __cplusplus
00034 #define LgiFunc extern "C" __declspec(dllimport)
00035 #else
00036 #define LgiFunc __declspec(dllimport)
00037 #endif
00038
00039 #define LgiClass __declspec(dllimport)
00040 #define LgiExtern extern __declspec(dllimport)
00041 #define LgiTemplate extern
00042
00043 #endif
00044
00045 #else // Unix like OS
00046
00047 #ifdef __cplusplus
00048 #define LgiFunc extern "C"
00049 #else
00050 #define LgiFunc extern
00051 #endif
00052
00053 #if __GNUC__ >= 4
00054 #if LGI_LIBRARY
00055 #define LgiClass __attribute__((visibility("default")))
00056 #define LgiExtern extern
00057 #else
00058 #define LgiClass __attribute__((visibility("default")))
00059 #define LgiExtern extern
00060 #endif
00061 #else
00062 #define LgiClass
00063 #define LgiExtern extern
00064 #endif
00065
00066 #endif
00067
00068 #endif
00069
00070 #endif