summaryrefslogtreecommitdiff
path: root/platform/osx
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2017-09-21 10:30:17 +0200
committerGitHub <noreply@github.com>2017-09-21 10:30:17 +0200
commite8a0c5da77bc9d8a1944f5f368d7c414a6c0624a (patch)
tree6016cfaeb25589e4a43035aa812a6062eff421ac /platform/osx
parent34c4c8046cb0d74878af879a9737d6878a75a464 (diff)
parent88be952fc9021df7e10adc49211e5024d200a665 (diff)
Merge pull request #11243 from hpvb/add-debug-info-on-release
Create separate debug info files by default
Diffstat (limited to 'platform/osx')
-rw-r--r--platform/osx/SCsub13
-rw-r--r--platform/osx/detect.py11
2 files changed, 18 insertions, 6 deletions
diff --git a/platform/osx/SCsub b/platform/osx/SCsub
index 5b2de54535..27bffbe80e 100644
--- a/platform/osx/SCsub
+++ b/platform/osx/SCsub
@@ -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)
+
diff --git a/platform/osx/detect.py b/platform/osx/detect.py
index d3ebdfe992..24302b5ff9 100644
--- a/platform/osx/detect.py
+++ b/platform/osx/detect.py
@@ -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'])