From: Daniel Dunbar Date: Tue, 6 Dec 2011 23:13:42 +0000 (+0000) Subject: llvm-build: Don't generate duplicate dependencies when LLVMBuild files define X-Git-Tag: android-x86-6.0-r1~255^2~336 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=309fc86e7c2b7ef805e75ff2be1da8d3f6b920d5;p=android-x86%2Fexternal-llvm.git llvm-build: Don't generate duplicate dependencies when LLVMBuild files define multiple components. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145989 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/llvm-build/llvmbuild/main.py b/utils/llvm-build/llvmbuild/main.py index c77ffcd14b3..9c3126c4801 100644 --- a/utils/llvm-build/llvmbuild/main.py +++ b/utils/llvm-build/llvmbuild/main.py @@ -397,9 +397,15 @@ class LLVMProjectInfo(object): # Construct a list of all the dependencies of the Makefile fragment # itself. These include all the LLVMBuild files themselves, as well as # all of our own sources. + # + # Many components may come from the same file, so we make sure to unique + # these. + build_paths = set() for ci in self.component_infos: - yield os.path.join(self.source_root, ci.subpath[1:], - 'LLVMBuild.txt') + p = os.path.join(self.source_root, ci.subpath[1:], 'LLVMBuild.txt') + if p not in build_paths: + yield p + build_paths.add(p) # Gather the list of necessary sources by just finding all loaded # modules that are inside the LLVM source tree.