summaryrefslogtreecommitdiff
path: root/include/defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/defs.h')
-rw-r--r--include/defs.h38
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