Merge pull request #11243 from hpvb/add-debug-info-on-release
Create separate debug info files by default
This commit is contained in:
commit
e8a0c5da77
|
@ -80,6 +80,8 @@ build/
|
|||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
*.debug
|
||||
*.dSYM
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
|
|
|
@ -21,7 +21,7 @@ def can_build():
|
|||
def get_opts():
|
||||
|
||||
return [
|
||||
('debug_release', 'Add debug symbols to release version', 'no')
|
||||
('debug_symbols', 'Add debug symbols to release version (yes/no/full)', 'yes')
|
||||
]
|
||||
|
||||
|
||||
|
@ -36,16 +36,21 @@ def configure(env):
|
|||
## Build type
|
||||
|
||||
if (env["target"] == "release"):
|
||||
if (env["debug_release"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-O3', '-ffast-math'])
|
||||
if (env["debug_symbols"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-g1'])
|
||||
if (env["debug_symbols"] == "full"):
|
||||
env.Prepend(CCFLAGS=['-g2'])
|
||||
else:
|
||||
env.Prepend(CCFLAGS=['-O3', '-ffast-math'])
|
||||
|
||||
elif (env["target"] == "release_debug"):
|
||||
env.Prepend(CCFLAGS=['-O2', '-ffast-math', '-DDEBUG_ENABLED'])
|
||||
if (env["debug_symbols"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-g1'])
|
||||
if (env["debug_symbols"] == "full"):
|
||||
env.Prepend(CCFLAGS=['-g2'])
|
||||
|
||||
elif (env["target"] == "debug"):
|
||||
env.Prepend(CCFLAGS=['-g2', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
|
||||
env.Prepend(CCFLAGS=['-g3', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
|
||||
|
||||
## Architecture
|
||||
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
Import('env')
|
||||
|
||||
def make_debug(target, source, env):
|
||||
os.system('dsymutil %s -o %s.dSYM' % (target[0], target[0]))
|
||||
|
||||
files = [
|
||||
'crash_handler_osx.mm',
|
||||
'os_osx.mm',
|
||||
|
@ -13,8 +17,7 @@ files = [
|
|||
'power_osx.cpp',
|
||||
]
|
||||
|
||||
prog = env.Program('#bin/godot', files)
|
||||
if (env['target'] == "debug" or env['target'] == "release_debug"):
|
||||
# Build the .dSYM file for atos
|
||||
action = "dsymutil " + File(prog)[0].path + " -o " + File(prog)[0].path + ".dSYM"
|
||||
env.AddPostAction(prog, action)
|
||||
binary = env.Program('#bin/godot', files)
|
||||
if env["debug_symbols"] == "full" or env["debug_symbols"] == "yes":
|
||||
env.AddPostAction(binary, make_debug)
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ def get_opts():
|
|||
|
||||
return [
|
||||
('osxcross_sdk', 'OSXCross SDK version', 'darwin14'),
|
||||
('debug_symbols', 'Add debug symbols to release version (yes/no/full)', 'yes'),
|
||||
]
|
||||
|
||||
|
||||
|
@ -36,10 +37,18 @@ def configure(env):
|
|||
## Build type
|
||||
|
||||
if (env["target"] == "release"):
|
||||
env.Prepend(CCFLAGS=['-O2', '-ffast-math', '-fomit-frame-pointer', '-ftree-vectorize', '-msse2'])
|
||||
env.Prepend(CCFLAGS=['-O3', '-ffast-math', '-fomit-frame-pointer', '-ftree-vectorize', '-msse2'])
|
||||
if (env["debug_symbols"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-g1'])
|
||||
if (env["debug_symbols"] == "full"):
|
||||
env.Prepend(CCFLAGS=['-g2'])
|
||||
|
||||
elif (env["target"] == "release_debug"):
|
||||
env.Prepend(CCFLAGS=['-O2', '-DDEBUG_ENABLED'])
|
||||
if (env["debug_symbols"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-g1'])
|
||||
if (env["debug_symbols"] == "full"):
|
||||
env.Prepend(CCFLAGS=['-g2'])
|
||||
|
||||
elif (env["target"] == "debug"):
|
||||
env.Prepend(CCFLAGS=['-g3', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
Import('env')
|
||||
|
||||
def make_debug_mingw(target, source, env):
|
||||
os.system('objcopy --only-keep-debug %s %s.debug' % (target[0], target[0]))
|
||||
os.system('strip --strip-debug --strip-unneeded %s' % (target[0]))
|
||||
os.system('objcopy --add-gnu-debuglink=%s.debug %s' % (target[0], target[0]))
|
||||
|
||||
common_win = [
|
||||
"context_gl_win.cpp",
|
||||
|
@ -22,10 +27,14 @@ obj = env.RES(restarget, 'godot_res.rc')
|
|||
|
||||
common_win.append(obj)
|
||||
|
||||
env.Program('#bin/godot', ['godot_win.cpp'] + common_win, PROGSUFFIX=env["PROGSUFFIX"])
|
||||
binary = env.Program('#bin/godot', ['godot_win.cpp'] + common_win, PROGSUFFIX=env["PROGSUFFIX"])
|
||||
|
||||
# Microsoft Visual Studio Project Generation
|
||||
if (env['vsproj']) == "yes":
|
||||
env.vs_srcs = env.vs_srcs + ["platform/windows/godot_win.cpp"]
|
||||
for x in common_win:
|
||||
env.vs_srcs = env.vs_srcs + ["platform/windows/" + str(x)]
|
||||
|
||||
if not os.getenv("VCINSTALLDIR"):
|
||||
if env["debug_symbols"] == "full" or env["debug_symbols"] == "yes":
|
||||
env.AddPostAction(binary, make_debug_mingw)
|
||||
|
|
|
@ -64,6 +64,7 @@ def get_opts():
|
|||
return [
|
||||
('mingw_prefix_32', 'MinGW prefix (Win32)', mingw32),
|
||||
('mingw_prefix_64', 'MinGW prefix (Win64)', mingw64),
|
||||
('debug_symbols', 'Add debug symbols to release version (yes/no/full)', 'yes')
|
||||
]
|
||||
|
||||
|
||||
|
@ -213,11 +214,20 @@ def configure(env):
|
|||
|
||||
env.Append(LINKFLAGS=['-Wl,--subsystem,windows'])
|
||||
|
||||
if (env["debug_symbols"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-g1'])
|
||||
if (env["debug_symbols"] == "full"):
|
||||
env.Prepend(CCFLAGS=['-g2'])
|
||||
|
||||
elif (env["target"] == "release_debug"):
|
||||
env.Append(CCFLAGS=['-O2', '-DDEBUG_ENABLED'])
|
||||
if (env["debug_symbols"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-g1'])
|
||||
if (env["debug_symbols"] == "full"):
|
||||
env.Prepend(CCFLAGS=['-g2'])
|
||||
|
||||
elif (env["target"] == "debug"):
|
||||
env.Append(CCFLAGS=['-g', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
|
||||
env.Append(CCFLAGS=['-g3', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
|
||||
|
||||
## Compiler configuration
|
||||
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
Import('env')
|
||||
|
||||
def make_debug(target, source, env):
|
||||
os.system('objcopy --only-keep-debug %s %s.debug' % (target[0], target[0]))
|
||||
os.system('strip --strip-debug --strip-unneeded %s' % (target[0]))
|
||||
os.system('objcopy --add-gnu-debuglink=%s.debug %s' % (target[0], target[0]))
|
||||
|
||||
common_x11 = [
|
||||
"context_gl_x11.cpp",
|
||||
|
@ -12,4 +17,6 @@ common_x11 = [
|
|||
"power_x11.cpp",
|
||||
]
|
||||
|
||||
env.Program('#bin/godot', ['godot_x11.cpp'] + common_x11)
|
||||
binary = env.Program('#bin/godot', ['godot_x11.cpp'] + common_x11)
|
||||
if env["debug_symbols"] == "full" or env["debug_symbols"] == "yes":
|
||||
env.AddPostAction(binary, make_debug)
|
||||
|
|
|
@ -44,7 +44,6 @@ def can_build():
|
|||
|
||||
return True
|
||||
|
||||
|
||||
def get_opts():
|
||||
|
||||
return [
|
||||
|
@ -55,7 +54,7 @@ def get_opts():
|
|||
('use_lto', 'Use link time optimization', 'no'),
|
||||
('pulseaudio', 'Detect & use pulseaudio', 'yes'),
|
||||
('udev', 'Use udev for gamepad connection callbacks', 'no'),
|
||||
('debug_release', 'Add debug symbols to release version', 'no'),
|
||||
('debug_symbols', 'Add debug symbols to release version (yes/no/full)', 'yes')
|
||||
]
|
||||
|
||||
|
||||
|
@ -77,16 +76,20 @@ def configure(env):
|
|||
# -O3 -ffast-math is identical to -Ofast. We need to split it out so we can selectively disable
|
||||
# -ffast-math in code for which it generates wrong results.
|
||||
env.Prepend(CCFLAGS=['-O3', '-ffast-math'])
|
||||
if (env["debug_release"] == "yes"):
|
||||
if (env["debug_symbols"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-g1'])
|
||||
if (env["debug_symbols"] == "full"):
|
||||
env.Prepend(CCFLAGS=['-g2'])
|
||||
|
||||
elif (env["target"] == "release_debug"):
|
||||
env.Prepend(CCFLAGS=['-O2', '-ffast-math', '-DDEBUG_ENABLED'])
|
||||
if (env["debug_release"] == "yes"):
|
||||
if (env["debug_symbols"] == "yes"):
|
||||
env.Prepend(CCFLAGS=['-g1'])
|
||||
if (env["debug_symbols"] == "full"):
|
||||
env.Prepend(CCFLAGS=['-g2'])
|
||||
|
||||
elif (env["target"] == "debug"):
|
||||
env.Prepend(CCFLAGS=['-g2', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
|
||||
env.Prepend(CCFLAGS=['-g3', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
|
||||
env.Append(LINKFLAGS=['-rdynamic'])
|
||||
|
||||
## Architecture
|
||||
|
|
Loading…
Reference in New Issue