Fix debug symbols logic on platform=web to match Godot core.

(cherry picked from commit 9ea9b4797c)
This commit is contained in:
Ben Lubar
2025-08-09 17:36:34 -05:00
committed by David Snopek
parent 9d8c520bb9
commit 0eeb43c4be

View File

@@ -2,6 +2,10 @@ import os
import subprocess
def using_emcc(env):
return "emcc" in os.path.basename(env["CC"])
def using_clang(env):
return "clang" in os.path.basename(env["CC"])
@@ -89,7 +93,13 @@ def generate(env):
# Adding dwarf-4 explicitly makes stacktraces work with clang builds,
# otherwise addr2line doesn't understand them.
env.Append(CCFLAGS=["-gdwarf-4"])
if env.dev_build:
if using_emcc(env):
# Emscripten only produces dwarf symbols when using "-g3".
env.AppendUnique(CCFLAGS=["-g3"])
# Emscripten linker needs debug symbols options too.
env.AppendUnique(LINKFLAGS=["-gdwarf-4"])
env.AppendUnique(LINKFLAGS=["-g3"])
elif env.dev_build:
env.Append(CCFLAGS=["-g3"])
else:
env.Append(CCFLAGS=["-g2"])