Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

defs.h

00001 // ----------------------------------------------------------------------------
00002 // Making or using sword as a Windows DLL
00003 // ----------------------------------------------------------------------------
00004 #ifndef SWORDDEFS_H
00005 #define SWORDDEFS_H
00006 
00007 #ifdef NO_SWORD_NAMESPACE
00008  #define SWORD_NAMESPACE_START
00009  #define SWORD_NAMESPACE_END
00010 #else
00011  #define SWORD_NAMESPACE_START namespace sword {
00012  #define SWORD_NAMESPACE_END }
00013 #endif
00014 
00015 
00016 SWORD_NAMESPACE_START
00017 
00018 // _declspec works in BC++ 5 and later, as well as VC++
00019 #if defined(_MSC_VER)
00020 
00021 #  ifdef SWMAKINGDLL
00022 #    define SWDLLEXPORT _declspec( dllexport )
00023 #    define SWDLLEXPORT_DATA(type) _declspec( dllexport ) type
00024 #    define SWDLLEXPORT_CTORFN
00025 #  elif defined(SWUSINGDLL)
00026 #    define SWDLLEXPORT _declspec( dllimport )
00027 #    define SWDLLEXPORT_DATA(type) _declspec( dllimport ) type
00028 #    define SWDLLEXPORT_CTORFN
00029 #  else
00030 #    define SWDLLEXPORT
00031 #    define SWDLLEXPORT_DATA(type) type
00032 #    define SWDLLEXPORT_CTORFN
00033 #  endif
00034 
00035 #elif defined(__SWPM__)
00036 
00037 #  ifdef SWMAKINGDLL
00038 #    define SWDLLEXPORT _Export
00039 #    define SWDLLEXPORT_DATA(type) _Export type
00040 #    define SWDLLEXPORT_CTORFN
00041 #  elif defined(SWUSINGDLL)
00042 #    define SWDLLEXPORT _Export
00043 #    define SWDLLEXPORT_DATA(type) _Export type
00044 #    define SWDLLEXPORT_CTORFN
00045 #  else
00046 #    define SWDLLEXPORT
00047 #    define SWDLLEXPORT_DATA(type) type
00048 #    define SWDLLEXPORT_CTORFN
00049 #  endif
00050 
00051 #elif defined(__GNUWIN32__)
00052 
00053 #  ifdef SWMAKINGDLL
00054 #    define SWDLLEXPORT __declspec( dllexport )
00055 #    define SWDLLEXPORT_DATA(type) __declspec( dllexport ) type
00056 #    define SWDLLEXPORT_CTORFN
00057 #  elif defined(SWUSINGDLL)
00058 #    define SWDLLEXPORT __declspec( dllimport )
00059 #    define SWDLLEXPORT_DATA(type) __declspec( dllimport ) type
00060 #    define SWDLLEXPORT_CTORFN
00061 #  else
00062 #    define SWDLLEXPORT
00063 #    define SWDLLEXPORT_DATA(type) type
00064 #    define SWDLLEXPORT_CTORFN
00065 #  endif
00066 
00067 #elif defined(__BORLANDC__)
00068 #  ifdef SWMAKINGDLL
00069 #    define SWDLLEXPORT _export
00070 #    define SWDLLEXPORT_DATA(type) __declspec( dllexport ) type
00071 #    define SWDLLEXPORT_CTORFN
00072 #  elif defined(SWUSINGDLL)
00073 #    define SWDLLEXPORT __declspec( dllimport )
00074 #    define SWDLLEXPORT_DATA(type) __declspec( dllimport ) type
00075 #    define SWDLLEXPORT_CTORFN
00076 #  else
00077 #    define SWDLLEXPORT
00078 #    define SWDLLEXPORT_DATA(type) type
00079 #    define SWDLLEXPORT_CTORFN
00080 #  endif
00081 
00082 #else
00083 #  define SWDLLEXPORT
00084 #  define SWDLLEXPORT_DATA(type) type
00085 #  define SWDLLEXPORT_CTORFN
00086 #endif
00087 
00088 // For ostream, istream ofstream
00089 #if defined(__BORLANDC__) && defined( _RTLDLL )
00090 #  define SWDLLIMPORT __import
00091 #else
00092 #  define SWDLLIMPORT
00093 #endif
00094 
00095 SWORD_NAMESPACE_END
00096 #endif //SWORDDEFS_H

Generated on Fri Feb 28 22:01:38 2003 for The Sword Project by doxygen1.3-rc3