summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorruki <[email protected]>2020-10-01 23:06:57 +0800
committerruki <[email protected]>2020-10-01 23:06:57 +0800
commit377653b33dcc31a36298a8e44c84448c8fb66e0f (patch)
treedde3a9ea2dcdb82bccc8e6ea31c6a2364ba09ffe /core/src
parentbb5bd5ada48d8d7195dce30af970534acdfda611 (diff)
fix luajit extern for win
Diffstat (limited to 'core/src')
-rw-r--r--core/src/lcurses/xmake.lua1
-rw-r--r--core/src/xmake/engine.c2
-rw-r--r--core/src/xmake/prefix.h7
3 files changed, 10 insertions, 0 deletions
diff --git a/core/src/lcurses/xmake.lua b/core/src/lcurses/xmake.lua
index 9ad46d4e8..9588518be 100644
--- a/core/src/lcurses/xmake.lua
+++ b/core/src/lcurses/xmake.lua
@@ -22,6 +22,7 @@ target("lcurses")
-- add options
if is_plat("windows") then
add_options("pdcurses")
+ set_languages("c89")
else
add_options("curses")
end
diff --git a/core/src/xmake/engine.c b/core/src/xmake/engine.c
index 74b0183da..7d1070376 100644
--- a/core/src/xmake/engine.c
+++ b/core/src/xmake/engine.c
@@ -221,7 +221,9 @@ tb_int_t xm_semver_select(lua_State* lua);
#ifdef XM_CONFIG_API_HAVE_CURSES
// register curses
+__tb_extern_c_enter__
tb_int_t xm_curses_register(lua_State* lua);
+__tb_extern_c_leave__
#endif
// open cjson
diff --git a/core/src/xmake/prefix.h b/core/src/xmake/prefix.h
index 5ee1a7f90..63d03ebd9 100644
--- a/core/src/xmake/prefix.h
+++ b/core/src/xmake/prefix.h
@@ -25,6 +25,13 @@
* includes
*/
#include "prefix/prefix.h"
+#include "luaconf.h"
+#if defined(TB_CONFIG_OS_WINDOWS) && defined(__cplusplus)
+# undef LUA_API
+# undef LUALIB_API
+# define LUA_API extern "C"
+# define LUALIB_API LUA_API
+#endif
#include "luajit.h"
#include "lualib.h"
#include "lauxlib.h"