| # 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. |
| Should be run from the checkout root (i.e. as `tools/crates/run_gnrt.py ...`) |
| GNRT_DIR = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'gnrt') |
| GNRT_MANIFEST_PATH = os.path.join(GNRT_DIR, 'Cargo.toml') |
| from run_cargo import (RunCargo, DEFAULT_SYSROOT) |
| parser = argparse.ArgumentParser(description='build and run gnrt') |
| parser.add_argument('--rust-sysroot', |
| help='use cargo and rustc from here') |
| parser.add_argument('--out-dir', |
| help='put target and cargo home dir here') |
| (args, gnrt_args) = parser.parse_known_args() |
| target_dir = os.path.abspath(os.path.join(args.out_dir, 'target')) |
| home_dir = os.path.abspath(os.path.join(target_dir, 'cargo_home')) |
| return RunCargo(args.rust_sysroot, home_dir, [ |
| '--locked', 'run', '--release', '--manifest-path', GNRT_MANIFEST_PATH, |
| '--target-dir', target_dir, '--' |
| if __name__ == '__main__': |