diff options
author | 2021-01-02 20:29:13 +0000 | |
---|---|---|
committer | 2021-01-02 20:29:13 +0000 | |
commit | 46035553bfdd96e63c94e32da0210227ec2e3cf1 (patch) | |
tree | b191f708fb9a2995ba745b2f31cdeeaee4872b7f /gnu/llvm/libcxx/utils/cat_files.py | |
parent | Move Makefiles for libc++ and libc++abi to gnu/lib in preparation for an (diff) | |
download | wireguard-openbsd-46035553bfdd96e63c94e32da0210227ec2e3cf1.tar.xz wireguard-openbsd-46035553bfdd96e63c94e32da0210227ec2e3cf1.zip |
Import libc++ 10.0.1 release.
Diffstat (limited to 'gnu/llvm/libcxx/utils/cat_files.py')
-rwxr-xr-x | gnu/llvm/libcxx/utils/cat_files.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/llvm/libcxx/utils/cat_files.py b/gnu/llvm/libcxx/utils/cat_files.py new file mode 100755 index 00000000000..ac4f3869669 --- /dev/null +++ b/gnu/llvm/libcxx/utils/cat_files.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +#===----------------------------------------------------------------------===## +# +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +# See https://llvm.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# +#===----------------------------------------------------------------------===## + +from argparse import ArgumentParser +import sys + +def print_and_exit(msg): + sys.stderr.write(msg + '\n') + sys.exit(1) + +def main(): + parser = ArgumentParser( + description="Concatenate two files into a single file") + parser.add_argument( + '-o', '--output', dest='output', required=True, + help='The output file. stdout is used if not given', + type=str, action='store') + parser.add_argument( + 'files', metavar='files', nargs='+', + help='The files to concatenate') + + args = parser.parse_args() + + if len(args.files) < 2: + print_and_exit('fewer than 2 inputs provided') + data = '' + for filename in args.files: + with open(filename, 'r') as f: + data += f.read() + if len(data) != 0 and data[-1] != '\n': + data += '\n' + assert len(data) > 0 and "cannot cat empty files" + with open(args.output, 'w') as f: + f.write(data) + + +if __name__ == '__main__': + main() + sys.exit(0) |