diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-01-07 22:37:44 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-01-07 22:37:44 +0000 |
commit | 1fc44ff546776e255457fe69c71515b5cf6129df (patch) | |
tree | 39015ae248d2c41e843ebcb37e03453ca4974146 /bin/arm-linux-androideabi-g++-broken | |
parent | b67258c95ba647b535a48ebfddd391f4bf938a5a (diff) | |
parent | 43f29365491f08788a05909838c3243a2e9fe6e6 (diff) | |
download | arm-linux-androideabi-4.9-1fc44ff546776e255457fe69c71515b5cf6129df.tar.gz |
gcc-4.9: move binaries to find build breakages am: 25c216f841 am: a22d06d0bd am: 43f2936549
Change-Id: I121aa4b043110390ac58ff0cd9363e9859a9a3ab
Diffstat (limited to 'bin/arm-linux-androideabi-g++-broken')
-rwxr-xr-x | bin/arm-linux-androideabi-g++-broken | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/bin/arm-linux-androideabi-g++-broken b/bin/arm-linux-androideabi-g++-broken new file mode 100755 index 0000000..6958262 --- /dev/null +++ b/bin/arm-linux-androideabi-g++-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, + "561b170a-a816-11e9-b283-6b5a5e00ead0") + 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) |