summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2010-08-21 13:03:50 +0800
committerChia-I Wu <[email protected]>2010-08-21 14:13:59 +0800
commit29cff9ce2e9445d90076a521510310ef63eea435 (patch)
treedad543ce745c01a66e9c226b694c870a72a055d6
parentdf98423f24bca147b36076e39fe53f42028052ef (diff)
mapi: Use MAPI_EXPORT to export public functions.
mapi.h is included by vgapi and st/vega. On win32, the macro expands to dllexport and dllimport respectively.
-rw-r--r--src/mapi/mapi/mapi.h22
-rw-r--r--src/mapi/vgapi/SConscript1
2 files changed, 17 insertions, 6 deletions
diff --git a/src/mapi/mapi/mapi.h b/src/mapi/mapi/mapi.h
index 8832b3dfb6e..c7e43e22e9f 100644
--- a/src/mapi/mapi/mapi.h
+++ b/src/mapi/mapi/mapi.h
@@ -31,26 +31,36 @@
#include "u_compiler.h"
+#ifdef _WIN32
+#ifdef MAPI_DLL_EXPORTS
+#define MAPI_EXPORT __declspec(dllexport)
+#else
+#define MAPI_EXPORT __declspec(dllimport)
+#endif
+#else /* _WIN32 */
+#define MAPI_EXPORT PUBLIC
+#endif
+
typedef void (*mapi_proc)(void);
struct mapi_table;
-PUBLIC void
+MAPI_EXPORT void
mapi_init(const char *spec);
-PUBLIC mapi_proc
+MAPI_EXPORT mapi_proc
mapi_get_proc_address(const char *name);
-PUBLIC struct mapi_table *
+MAPI_EXPORT struct mapi_table *
mapi_table_create(void);
-PUBLIC void
+MAPI_EXPORT void
mapi_table_destroy(struct mapi_table *tbl);
-PUBLIC void
+MAPI_EXPORT void
mapi_table_fill(struct mapi_table *tbl, const mapi_proc *procs);
-PUBLIC void
+MAPI_EXPORT void
mapi_table_make_current(const struct mapi_table *tbl);
#endif /* _MAPI_H_ */
diff --git a/src/mapi/vgapi/SConscript b/src/mapi/vgapi/SConscript
index bf51264ab94..20d7f2744d0 100644
--- a/src/mapi/vgapi/SConscript
+++ b/src/mapi/vgapi/SConscript
@@ -18,6 +18,7 @@ if env['platform'] != 'winddk':
env.Append(CPPDEFINES = [
'MAPI_ABI_HEADER=\\"vgapi/vgapi_tmp.h\\"',
+ 'MAPI_DLL_EXPORTS',
'KHRONOS_DLL_EXPORTS',
])