diff options
Diffstat (limited to 'include/defs.h')
-rw-r--r-- | include/defs.h | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/include/defs.h b/include/defs.h index bd36c01..4b197ed 100644 --- a/include/defs.h +++ b/include/defs.h @@ -1,8 +1,19 @@ // ---------------------------------------------------------------------------- // Making or using sword as a Windows DLL // ---------------------------------------------------------------------------- +#ifndef SWORDDEFS_H +#define SWORDDEFS_H + +#ifdef NO_SWORD_NAMESPACE + #define SWORD_NAMESPACE_START namespace sword { + #define SWORD_NAMESPACE_END }; using namespace sword; +#else + #define SWORD_NAMESPACE_START namespace sword { + #define SWORD_NAMESPACE_END } +#endif -#if defined(__SWMSW__) + +SWORD_NAMESPACE_START // _declspec works in BC++ 5 and later, as well as VC++ #if defined(_MSC_VER) @@ -37,7 +48,7 @@ # define SWDLLEXPORT_CTORFN # endif -#elif defined(__GNUWIN32__) || defined(__BORLANDC__) +#elif defined(__GNUWIN32__) # ifdef SWMAKINGDLL # define SWDLLEXPORT __declspec( dllexport ) @@ -53,6 +64,20 @@ # define SWDLLEXPORT_CTORFN # endif +#elif defined(__BORLANDC__) +# ifdef SWMAKINGDLL +# define SWDLLEXPORT _export +# define SWDLLEXPORT_DATA(type) __declspec( dllexport ) type +# define SWDLLEXPORT_CTORFN +# elif defined(SWUSINGDLL) +# define SWDLLEXPORT __declspec( dllimport ) +# define SWDLLEXPORT_DATA(type) __declspec( dllimport ) type +# define SWDLLEXPORT_CTORFN +# else +# define SWDLLEXPORT +# define SWDLLEXPORT_DATA(type) type +# define SWDLLEXPORT_CTORFN +# endif #else # define SWDLLEXPORT @@ -60,15 +85,12 @@ # define SWDLLEXPORT_CTORFN #endif -#else // !Windows -# define SWDLLEXPORT -# define SWDLLEXPORT_DATA(type) type -# define SWDLLEXPORT_CTORFN -#endif // Win/!Win - // For ostream, istream ofstream #if defined(__BORLANDC__) && defined( _RTLDLL ) # define SWDLLIMPORT __import #else # define SWDLLIMPORT #endif + +SWORD_NAMESPACE_END +#endif //SWORDDEFS_H |