summaryrefslogtreecommitdiffstats
path: root/llvm/utils/llvm-build
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2014-11-19 03:34:20 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2014-11-19 03:34:20 +0000
commit4fdb6ec39b9ea8a65e09a9ca595143bb427780d6 (patch)
tree921c273ff408dc19a8f01c1da2c4a7b2556ba72e /llvm/utils/llvm-build
parenta8ed79ab2217ce993463147468fd8a7e4eb4d344 (diff)
downloadbcm5719-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.py11
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
OpenPOWER on IntegriCloud