mirror of
https://github.com/luau-lang/luau.git
synced 2025-05-04 10:33:46 +01:00
Export Luau public symbols to WebAssembly
Instead of only exporting the symbols for the web repl, export all public Luau symbols to the wasm build.
This commit is contained in:
parent
a26024fb4b
commit
159326798e
3 changed files with 10 additions and 2 deletions
|
@ -79,7 +79,7 @@ static std::string runCode(lua_State* L, const std::string& source)
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" const char* executeScript(const char* source)
|
LUA_API const char* executeScript(const char* source)
|
||||||
{
|
{
|
||||||
// setup flags
|
// setup flags
|
||||||
for (Luau::FValue<bool>* flag = Luau::FValue<bool>::list; flag; flag = flag->next)
|
for (Luau::FValue<bool>* flag = Luau::FValue<bool>::list; flag; flag = flag->next)
|
||||||
|
|
|
@ -110,7 +110,7 @@ if(LUAU_BUILD_WEB)
|
||||||
target_link_libraries(Luau.Web PRIVATE Luau.Compiler Luau.VM)
|
target_link_libraries(Luau.Web PRIVATE Luau.Compiler Luau.VM)
|
||||||
|
|
||||||
# declare exported functions to emscripten
|
# declare exported functions to emscripten
|
||||||
target_link_options(Luau.Web PRIVATE -sEXPORTED_FUNCTIONS=['_executeScript'] -sEXPORTED_RUNTIME_METHODS=['ccall','cwrap'])
|
target_link_options(Luau.Web PRIVATE -sEXPORTED_RUNTIME_METHODS=['ccall','cwrap'])
|
||||||
|
|
||||||
# add -fexceptions for emscripten to allow exceptions to be caught in C++
|
# add -fexceptions for emscripten to allow exceptions to be caught in C++
|
||||||
target_link_options(Luau.Web PRIVATE -fexceptions)
|
target_link_options(Luau.Web PRIVATE -fexceptions)
|
||||||
|
|
|
@ -2,6 +2,10 @@
|
||||||
// This code is based on Lua 5.x implementation licensed under MIT License; see lua_LICENSE.txt for details
|
// This code is based on Lua 5.x implementation licensed under MIT License; see lua_LICENSE.txt for details
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef __EMSCRIPTEN__
|
||||||
|
#include <emscripten.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
// When debugging complex issues, consider enabling one of these:
|
// When debugging complex issues, consider enabling one of these:
|
||||||
// This will reallocate the stack very aggressively at every opportunity; use this with asan to catch stale stack pointers
|
// This will reallocate the stack very aggressively at every opportunity; use this with asan to catch stale stack pointers
|
||||||
// #define HARDSTACKTESTS 1
|
// #define HARDSTACKTESTS 1
|
||||||
|
@ -34,7 +38,11 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Can be used to reconfigure visibility/exports for public APIs */
|
/* Can be used to reconfigure visibility/exports for public APIs */
|
||||||
|
#ifdef __EMSCRIPTEN__
|
||||||
|
#define LUA_API extern "C" EMSCRIPTEN_KEEPALIVE
|
||||||
|
#else
|
||||||
#define LUA_API extern
|
#define LUA_API extern
|
||||||
|
#endif
|
||||||
#define LUALIB_API LUA_API
|
#define LUALIB_API LUA_API
|
||||||
|
|
||||||
/* Can be used to reconfigure visibility for internal APIs */
|
/* Can be used to reconfigure visibility for internal APIs */
|
||||||
|
|
Loading…
Add table
Reference in a new issue