1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31

build / rust / write_rustflags.py [blame]

#!/usr/bin/env vpython3

# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Writes all command line arguments to a file, separated by newlines.

import argparse
import os
import sys

# Set up path to be able to import action_helpers
sys.path.append(
    os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir,
                 os.pardir, 'build'))
import action_helpers


def main():
  parser = argparse.ArgumentParser(description='Run Rust build script.')
  parser.add_argument('--output', required=True, help='output file')
  args, flags = parser.parse_known_args()
  # AtomicOutput will ensure we only write to the file on disk if what we
  # give to write() is different than what's currently on disk.
  with action_helpers.atomic_output(args.output) as output:
    output.write(b'\n'.join([f.encode('utf-8') for f in flags]))


if __name__ == '__main__':
  sys.exit(main())