| #!/usr/bin/env fuchsia-vendored-python |
| # Copyright 2022 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import argparse |
| import sys |
| |
| # Used as part of the clang_doc template to generate a .cc file that includes a given list of |
| # headers. |
| # |
| # Pass the .cc file to write as --out-cc=<file> and the headers to include as the remaining |
| # arguments. |
| # |
| # Example: |
| # |
| # clang_doc_generate_source.py --out-cc=foo.cc a.h b.h |
| |
| |
| def main(): |
| parser = argparse.ArgumentParser( |
| 'Generates a .cc file that #includes a given set of headers.') |
| parser.add_argument( |
| '--out-cc', help='The name of the .cc file to generate.', required=True) |
| parser.add_argument( |
| 'files', help='Header file names to output', nargs='+', metavar='file') |
| args = parser.parse_args() |
| |
| with open(args.out_cc, 'w') as output: |
| for f in args.files: |
| output.write('#include "%s"\n' % f) |
| |
| |
| if __name__ == '__main__': |
| sys.exit(main()) |