summaryrefslogtreecommitdiff
path: root/platform/osx
diff options
context:
space:
mode:
Diffstat (limited to 'platform/osx')
-rw-r--r--platform/osx/SCsub12
-rw-r--r--platform/osx/platform_osx_builders.py21
2 files changed, 24 insertions, 9 deletions
diff --git a/platform/osx/SCsub b/platform/osx/SCsub
index 4dfa46528a..5c973c30c2 100644
--- a/platform/osx/SCsub
+++ b/platform/osx/SCsub
@@ -3,14 +3,8 @@
import os
Import('env')
-def make_debug(target, source, env):
- if (env["macports_clang"] != 'no'):
- mpprefix = os.environ.get("MACPORTS_PREFIX", "/opt/local")
- mpclangver = env["macports_clang"]
- os.system(mpprefix + '/libexec/llvm-' + mpclangver + '/bin/llvm-dsymutil {0} -o {0}.dSYM'.format(target[0]))
- else:
- os.system('dsymutil {0} -o {0}.dSYM'.format(target[0]))
- os.system('strip -u -r {0}'.format(target[0]))
+from platform_methods import run_in_subprocess
+import platform_osx_builders
files = [
'crash_handler_osx.mm',
@@ -25,5 +19,5 @@ files = [
prog = env.add_program('#bin/godot', files)
if (env["debug_symbols"] == "full" or env["debug_symbols"] == "yes") and env["separate_debug_symbols"]:
- env.AddPostAction(prog, make_debug)
+ env.AddPostAction(prog, run_in_subprocess(platform_osx_builders.make_debug_osx))
diff --git a/platform/osx/platform_osx_builders.py b/platform/osx/platform_osx_builders.py
new file mode 100644
index 0000000000..81997f674b
--- /dev/null
+++ b/platform/osx/platform_osx_builders.py
@@ -0,0 +1,21 @@
+"""Functions used to generate source files during build time
+
+All such functions are invoked in a subprocess on Windows to prevent build flakiness.
+
+"""
+import os
+from platform_methods import subprocess_main
+
+
+def make_debug_osx(target, source, env):
+ if (env["macports_clang"] != 'no'):
+ mpprefix = os.environ.get("MACPORTS_PREFIX", "/opt/local")
+ mpclangver = env["macports_clang"]
+ os.system(mpprefix + '/libexec/llvm-' + mpclangver + '/bin/llvm-dsymutil {0} -o {0}.dSYM'.format(target[0]))
+ else:
+ os.system('dsymutil {0} -o {0}.dSYM'.format(target[0]))
+ os.system('strip -u -r {0}'.format(target[0]))
+
+
+if __name__ == '__main__':
+ subprocess_main(globals())