00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012 #ifndef LOKI_LOKIEXPORT_INC_
00013 #define LOKI_LOKIEXPORT_INC_
00014
00015
00016
00017
00018 #ifdef __GNUC__
00019
00020 #ifdef _HAVE_GCC_VISIBILITY
00021 #define LOKI_EXPORT_SPEC __attribute__ ((visibility("default")))
00022 #define LOKI_IMPORT_SPEC
00023 #else
00024 #define LOKI_EXPORT_SPEC
00025 #define LOKI_IMPORT_SPEC
00026 #endif
00027
00028 #else
00029
00030 #ifdef _WIN32
00031 #define LOKI_EXPORT_SPEC __declspec(dllexport)
00032 #define LOKI_IMPORT_SPEC __declspec(dllimport)
00033 #else
00034 #define LOKI_EXPORT_SPEC
00035 #define LOKI_IMPORT_SPEC
00036 #endif
00037
00038 #endif
00039
00040
00041 #if (defined(LOKI_MAKE_DLL) && defined(LOKI_DLL)) || \
00042 (defined(LOKI_MAKE_DLL) && defined(LOKI_STATIC)) || \
00043 (defined(LOKI_DLL) && defined(LOKI_STATIC))
00044 #error export macro error: you could not build AND use the library
00045 #endif
00046
00047 #ifdef LOKI_MAKE_DLL
00048 #define LOKI_EXPORT LOKI_EXPORT_SPEC
00049 #endif
00050
00051 #ifdef LOKI_DLL
00052 #define LOKI_EXPORT LOKI_IMPORT_SPEC
00053 #endif
00054
00055 #ifdef LOKI_STATIC
00056 #define LOKI_EXPORT
00057 #endif
00058
00059 #if !defined(LOKI_EXPORT) && !defined(EXPLICIT_EXPORT)
00060 #define LOKI_EXPORT
00061 #endif
00062
00063 #ifndef LOKI_EXPORT
00064 #error export macro error: LOKI_EXPORT was not defined, disable EXPLICIT_EXPORT or define a export specification
00065 #endif
00066
00067
00068 #endif // end file guardian
00069