diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2014-11-19 03:34:20 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2014-11-19 03:34:20 +0000 |
commit | 4fdb6ec39b9ea8a65e09a9ca595143bb427780d6 (patch) | |
tree | 921c273ff408dc19a8f01c1da2c4a7b2556ba72e /llvm/utils/llvm-build | |
parent | a8ed79ab2217ce993463147468fd8a7e4eb4d344 (diff) | |
download | bcm5719-llvm-4fdb6ec39b9ea8a65e09a9ca595143bb427780d6.tar.gz bcm5719-llvm-4fdb6ec39b9ea8a65e09a9ca595143bb427780d6.zip |
Teach llvm-build to avoid touching LibraryDependencies.inc unless the contents
change. This saves us from rebuilding llvm-config each time we reconfigure.
llvm-svn: 222308
Diffstat (limited to 'llvm/utils/llvm-build')
-rw-r--r-- | llvm/utils/llvm-build/llvmbuild/main.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/llvm/utils/llvm-build/llvmbuild/main.py b/llvm/utils/llvm-build/llvmbuild/main.py index 36c7d53add1..353741fdbf8 100644 --- a/llvm/utils/llvm-build/llvmbuild/main.py +++ b/llvm/utils/llvm-build/llvmbuild/main.py @@ -1,4 +1,5 @@ from __future__ import absolute_import +import filecmp import os import sys @@ -382,7 +383,7 @@ subdirectories = %s # Write out the library table. make_install_dir(os.path.dirname(output_path)) - f = open(output_path, 'w') + f = open(output_path+'.new', 'w') f.write("""\ //===- llvm-build generated file --------------------------------*- C++ -*-===// // @@ -420,6 +421,14 @@ subdirectories = %s f.write('};\n') f.close() + if not os.path.isfile(output_path): + os.rename(output_path+'.new', output_path) + elif filecmp.cmp(output_path, output_path+'.new'): + os.remove(output_path+'.new') + else: + os.remove(output_path) + os.rename(output_path+'.new', output_path) + def get_required_libraries_for_component(self, ci, traverse_groups = False): """ get_required_libraries_for_component(component_info) -> iter |