| #!/usr/bin/env python3 |
| # Copyright 2023 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # THIS FILE IS AUTOMATICALLY GENERATED |
| """ |
| Builds `upload_system_symbols` (Go required), then packages everything necessary |
| to extract and upload system symbols on a macOS system into `symbol_tools.zip` |
| in the out directory. |
| """ |
| import os |
| import shutil |
| import subprocess |
| import sys |
| |
| |
| def build_upload_system_symbols(arch): |
| if not shutil.which("go"): |
| print("`go` not present in PATH", file=sys.stderr) |
| return False |
| sources = [ |
| @GO_SOURCES@ |
| ] |
| env = os.environ.copy() |
| env["GOARCH"] = arch |
| env["CC_FOR_TARGET"] = f"clang -arch {arch}" |
| cmd = ["go", "build", "-o", "upload_system_symbols"] + sources |
| subprocess.check_call(cmd, env=env) |
| return True |
| |
| |
| def main(): |
| arch = "@ARCH@" |
| os.chdir("@CWD@") |
| if not build_upload_system_symbols(arch): |
| return False |
| subprocess.check_call([ |
| "zip", "-j", |
| "symbol_tools.zip", |
| "dsc_extractor", |
| "symupload", |
| "dump_syms", |
| "upload_system_symbols", |
| @EXTRA@ |
| ]) |
| return True |
| |
| if __name__ == '__main__': |
| sys.exit(0 if main() else 1) |