Author: ericwf Date: Mon Jan 2 21:55:29 2017 New Revision: 290853 URL: http://llvm.org/viewvc/llvm-project?rev=290853&view=rev Log: Fix creating __generated_config on Windows
Added: libcxx/trunk/utils/cat_files.py (with props) Modified: libcxx/trunk/include/CMakeLists.txt Modified: libcxx/trunk/include/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/CMakeLists.txt?rev=290853&r1=290852&r2=290853&view=diff ============================================================================== --- libcxx/trunk/include/CMakeLists.txt (original) +++ libcxx/trunk/include/CMakeLists.txt Mon Jan 2 21:55:29 2017 @@ -35,8 +35,13 @@ if (LIBCXX_INSTALL_HEADERS) # Generate and install a custom __config header. The new header is created # by prepending __config_site to the current __config header. add_custom_command(OUTPUT ${LIBCXX_BINARY_DIR}/__generated_config - COMMAND ${CMAKE_COMMAND} -E copy ${LIBCXX_BINARY_DIR}/__config_site ${LIBCXX_BINARY_DIR}/__generated_config - COMMAND ${UNIX_CAT} ${LIBCXX_SOURCE_DIR}/include/__config >> ${LIBCXX_BINARY_DIR}/__generated_config + COMMAND ${CMAKE_COMMAND} -E copy + ${LIBCXX_BINARY_DIR}/__config_site + ${LIBCXX_BINARY_DIR}/__generated_config + COMMAND ${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/cat_files.py + ${LIBCXX_BINARY_DIR}/__generated_config + ${LIBCXX_SOURCE_DIR}/include/__config + -o ${LIBCXX_BINARY_DIR}/__generated_config DEPENDS ${LIBCXX_SOURCE_DIR}/include/__config ${LIBCXX_BINARY_DIR}/__config_site ) Added: libcxx/trunk/utils/cat_files.py URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/cat_files.py?rev=290853&view=auto ============================================================================== --- libcxx/trunk/utils/cat_files.py (added) +++ libcxx/trunk/utils/cat_files.py Mon Jan 2 21:55:29 2017 @@ -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) Propchange: libcxx/trunk/utils/cat_files.py ------------------------------------------------------------------------------ svn:executable = * _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits