LokiExport.h

00001 
00002 // The Loki Library
00003 // Copyright (c) 2006 by Peter Kümmel
00004 // Permission to use, copy, modify, distribute and sell this software for any 
00005 //     purpose is hereby granted without fee, provided that the above copyright 
00006 //     notice appear in all copies and that both that copyright notice and this 
00007 //     permission notice appear in supporting documentation.
00008 // The author makes no representations about the 
00009 //     suitability of this software for any purpose. It is provided "as is" 
00010 //     without express or implied warranty.
00012 #ifndef LOKI_LOKIEXPORT_INC_
00013 #define LOKI_LOKIEXPORT_INC_
00014 
00015 // $Id: LokiExport.h 748 2006-10-17 19:49:08Z syntheticpp $
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 

Generated on Sun Feb 25 16:52:26 2007 for Loki by  doxygen 1.5.1-p1