diff options
author | Eric Fiselier <eric@efcs.ca> | 2017-01-03 03:55:29 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2017-01-03 03:55:29 +0000 |
commit | 887894aaef8fe7b436d48dd825dbcf5dfd4cf3ad (patch) | |
tree | 2bfe573754c5e706b4a4ed8ebb4a5447fdbd1869 /libcxx/utils/cat_files.py | |
parent | 33d305b54b0b4cc8c03b6d53a12f8a3f5ebf9d9b (diff) | |
download | bcm5719-llvm-887894aaef8fe7b436d48dd825dbcf5dfd4cf3ad.tar.gz bcm5719-llvm-887894aaef8fe7b436d48dd825dbcf5dfd4cf3ad.zip |
Fix creating __generated_config on Windows
llvm-svn: 290853
Diffstat (limited to 'libcxx/utils/cat_files.py')
-rwxr-xr-x | libcxx/utils/cat_files.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/libcxx/utils/cat_files.py b/libcxx/utils/cat_files.py new file mode 100755 index 00000000000..83e7632f34a --- /dev/null +++ b/libcxx/utils/cat_files.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +#===----------------------------------------------------------------------===## +# +# The LLVM Compiler Infrastructure +# +# This file is dual licensed under the MIT and the University of Illinois Open +# Source Licenses. See LICENSE.TXT for details. +# +#===----------------------------------------------------------------------===## + +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) |