summaryrefslogtreecommitdiff
path: root/include/services.h
diff options
context:
space:
mode:
authorcyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-26 01:41:39 +0000
committercyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-26 01:41:39 +0000
commitc5b9eaeda030638a6fbd59396f7ad61baaf70fad (patch)
treefd7fa9e2782d1e54c02fd999dbf5576c81af4376 /include/services.h
parent90f6431603714f3c2abbe44550bca8824bb8bbe6 (diff)
Various fixes for compiling under Windows.
Also updated ms_* modules to use std::vector Memo struct from earlier commit. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1797 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'include/services.h')
-rw-r--r--include/services.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/include/services.h b/include/services.h
index ad67f1eb4..163d620fa 100644
--- a/include/services.h
+++ b/include/services.h
@@ -178,10 +178,18 @@ extern int strncasecmp(const char *, const char *, size_t);
#define MARK_DEPRECATED
#endif
-/** XXX: we need to grab these from inspircd -- w00t
- */
-#define DllExport
-#define CoreExport
+#ifdef _WIN32
+# ifdef MODULE_COMPILE
+# define CoreExport __declspec(dllimport)
+# define DllExport __declspec(dllexport)
+# else
+# define CoreExport __declspec(dllexport)
+# define DllExport __declspec(dllimport)
+# endif
+#else
+# define DllExport
+# define CoreExport
+#endif
/** This definition is used as shorthand for the various classes
* and functions needed to make a module loadable by the OS.
@@ -203,7 +211,7 @@ extern int strncasecmp(const char *, const char *, size_t);
} \
return TRUE; \
} \
- extern "C" DllExport void *destroy_module(y *m) \
+ extern "C" DllExport void destroy_module(y *m) \
{ \
delete m; \
}