aboutsummaryrefslogtreecommitdiffstats
path: root/build/scripts/link_o.py
diff options
context:
space:
mode:
Diffstat (limited to 'build/scripts/link_o.py')
-rw-r--r--build/scripts/link_o.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/build/scripts/link_o.py b/build/scripts/link_o.py
new file mode 100644
index 0000000000..298f7ee16c
--- /dev/null
+++ b/build/scripts/link_o.py
@@ -0,0 +1,29 @@
+import subprocess
+import sys
+import os
+
+
+def flt(args):
+ for a in args:
+ if a == '-o':
+ yield '-Wl,-r'
+ yield '-fuse-ld=lld'
+ yield '-nodefaultlibs'
+ yield '-nostartfiles'
+ yield '-Wl,-no-pie'
+ yield '-o'
+ elif a.endswith('.o'):
+ yield a
+ elif '--ld' in a:
+ yield a
+ elif '--target' in a:
+ yield a
+
+
+if '-apple-macos' in str(sys.argv):
+ cmd = sys.argv[1:]
+else:
+ cmd = [sys.argv[1]] + list(flt(sys.argv[2:]))
+
+
+subprocess.check_call(cmd)