[Web] Use fvisibility=hidden for side module when dlink_enabled.
This hugely reduces the number of exports, making it acceptable for browsers. Note that dlink + threads is still not working due to upstream issues with the pthread emulation library. Should hopefully be solved once emscripten move to native WASM threads.
This commit is contained in:
parent
0f7625ab46
commit
5eed870a6a
2 changed files with 5 additions and 0 deletions
|
@ -70,6 +70,9 @@ if env["dlink_enabled"]:
|
|||
sys_env.Append(LINKFLAGS=["-s", "WARN_ON_UNDEFINED_SYMBOLS=0"])
|
||||
# Force exporting the standard library (printf, malloc, etc.)
|
||||
sys_env["ENV"]["EMCC_FORCE_STDLIBS"] = "libc,libc++,libc++abi"
|
||||
sys_env["CCFLAGS"].remove("-fvisibility=hidden")
|
||||
sys_env["LINKFLAGS"].remove("-fvisibility=hidden")
|
||||
|
||||
# The main emscripten runtime, with exported standard libraries.
|
||||
sys = sys_env.Program(build_targets, ["web_runtime.cpp"])
|
||||
|
||||
|
|
|
@ -211,6 +211,8 @@ def configure(env: "Environment"):
|
|||
|
||||
env.Append(CCFLAGS=["-s", "SIDE_MODULE=2"])
|
||||
env.Append(LINKFLAGS=["-s", "SIDE_MODULE=2"])
|
||||
env.Append(CCFLAGS=["-fvisibility=hidden"])
|
||||
env.Append(LINKFLAGS=["-fvisibility=hidden"])
|
||||
env.extra_suffix = ".dlink" + env.extra_suffix
|
||||
|
||||
# Reduce code size by generating less support code (e.g. skip NodeJS support).
|
||||
|
|
Loading…
Add table
Reference in a new issue