summaryrefslogtreecommitdiff
path: root/xmake/scripts/module
diff options
context:
space:
mode:
authorruki <[email protected]>2024-04-04 00:52:36 +0800
committerruki <[email protected]>2024-04-04 00:52:36 +0800
commit257bbb3fa4a5c2f47f4a9481ea5a6899aac27a2c (patch)
treec2e8e732ab3696cdefe96ce76d7a600ddeed3bf1 /xmake/scripts/module
parentc04f30ad9010b58554554f925584ec97682a3f18 (diff)
replace foo tests
Diffstat (limited to 'xmake/scripts/module')
-rw-r--r--xmake/scripts/module/xmi.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/xmake/scripts/module/xmi.h b/xmake/scripts/module/xmi.h
index 2f828e31d..cfddb3aee 100644
--- a/xmake/scripts/module/xmi.h
+++ b/xmake/scripts/module/xmi.h
@@ -61,10 +61,22 @@
# define lua_Integer xmi_lua_Integer
#endif
+// extern c
+#ifdef __cplusplus
+# define xmi_extern_c_enter extern "C" {
+# define xmi_extern_c_leave }
+#else
+# define xmi_extern_c_enter
+# define xmi_extern_c_leave
+#endif
+
// define lua module entry function
#define luaopen(name, lua) \
__dummy = 1; \
xmi_lua_ops_t* g_lua_ops = NULL; \
+xmi_extern_c_enter \
+int xmiopen_##name(lua); \
+xmi_extern_c_leave \
int xmisetup(xmi_lua_ops_t* ops) { \
g_lua_ops = ops; \
return __dummy; \
@@ -100,18 +112,12 @@ extern xmi_lua_ops_t* g_lua_ops;
/* //////////////////////////////////////////////////////////////////////////////////////
* interfaces
*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
+xmi_extern_c_enter
// setup lua interfaces
int xmisetup(xmi_lua_ops_t* ops);
-#ifdef __cplusplus
-}
-#endif
-
+xmi_extern_c_leave
#endif