aboutsummaryrefslogtreecommitdiffstats
path: root/include/defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/defs.h')
-rw-r--r--include/defs.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/include/defs.h b/include/defs.h
new file mode 100644
index 0000000..b22ed8a
--- /dev/null
+++ b/include/defs.h
@@ -0,0 +1,76 @@
+// ----------------------------------------------------------------------------
+// Making or using sword as a Windows DLL
+// ----------------------------------------------------------------------------
+
+#define FILTERPAD 80
+
+#if defined(__SWMSW__)
+
+// _declspec works in BC++ 5 and later, as well as VC++
+#if defined(_MSC_VER)
+
+# ifdef SWMAKINGDLL
+# define SWDLLEXPORT _declspec( dllexport )
+# 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
+
+#elif defined(__SWPM__)
+
+# ifdef SWMAKINGDLL
+# define SWDLLEXPORT _Export
+# define SWDLLEXPORT_DATA(type) _Export type
+# define SWDLLEXPORT_CTORFN
+# elif defined(SWUSINGDLL)
+# define SWDLLEXPORT _Export
+# define SWDLLEXPORT_DATA(type) _Export type
+# define SWDLLEXPORT_CTORFN
+# else
+# define SWDLLEXPORT
+# define SWDLLEXPORT_DATA(type) type
+# define SWDLLEXPORT_CTORFN
+# endif
+
+#elif defined(__GNUWIN32__) || defined(__BORLANDC__)
+
+# ifdef SWMAKINGDLL
+# define SWDLLEXPORT __declspec( dllexport )
+# 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
+# define SWDLLEXPORT_DATA(type) type
+# 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