summaryrefslogtreecommitdiff
path: root/bin/arm-linux-androideabi-gcc-broken
diff options
context:
space:
mode:
Diffstat (limited to 'bin/arm-linux-androideabi-gcc-broken')
-rwxr-xr-xbin/arm-linux-androideabi-gcc-broken77
1 files changed, 77 insertions, 0 deletions
diff --git a/bin/arm-linux-androideabi-gcc-broken b/bin/arm-linux-androideabi-gcc-broken
new file mode 100755
index 0000000..97c02a0
--- /dev/null
+++ b/bin/arm-linux-androideabi-gcc-broken
@@ -0,0 +1,77 @@
+#!/usr/bin/python
+
+from __future__ import print_function
+import os
+import sys
+import time
+
+class CompilerWrapper():
+ def __init__(self, argv):
+ self.args = argv
+ self.execargs = []
+ self.real_compiler = None
+ self.argv0 = None
+ self.append_flags = []
+ self.prepend_flags = []
+ self.custom_flags = {
+ '--gomacc-path': None
+ }
+
+ def set_real_compiler(self):
+ """Find the real compiler with the absolute path."""
+ compiler_path = os.path.dirname(os.path.abspath(__file__))
+ if os.path.islink(__file__):
+ compiler = os.path.basename(os.readlink(__file__))
+ else:
+ compiler = os.path.basename(os.path.abspath(__file__))
+ self.real_compiler = os.path.join(
+ compiler_path,
+ "40337694-a816-11e9-ad6c-9bcb01b061bd")
+ self.argv0 = self.real_compiler
+
+ def process_gomacc_command(self):
+ """Return the gomacc command if '--gomacc-path' is set."""
+ gomacc = self.custom_flags['--gomacc-path']
+ if gomacc and os.path.isfile(gomacc):
+ self.argv0 = gomacc
+ self.execargs += [gomacc]
+
+ def parse_custom_flags(self):
+ i = 0
+ args = []
+ while i < len(self.args):
+ if self.args[i] in self.custom_flags:
+ self.custom_flags[self.args[i]] = self.args[i + 1]
+ i = i + 2
+ else:
+ args.append(self.args[i])
+ i = i + 1
+ self.args = args
+
+ def add_flags(self):
+ self.args = self.prepend_flags + self.args + self.append_flags
+
+ def print_deprecation_warning(self):
+ print("Android GCC has been deprecated in favor of Clang, and will be removed from\n"
+ "Android in 2020-01 as per the deprecation plan in:\n"
+ "https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/master/GCC_4_9_DEPRECATION.md\n\n",
+ file=sys.stderr)
+
+
+ def invoke_compiler(self):
+ self.print_deprecation_warning()
+ self.set_real_compiler()
+ self.parse_custom_flags()
+ self.process_gomacc_command()
+ self.add_flags()
+ self.execargs += [self.real_compiler] + self.args
+ time.sleep(3)
+ os.execv(self.argv0, self.execargs)
+
+
+def main(argv):
+ cw = CompilerWrapper(argv[1:])
+ cw.invoke_compiler()
+
+if __name__ == "__main__":
+ main(sys.argv)