diff options
author | Daniel Dunbar <daniel@zuster.org> | 2012-05-15 18:44:12 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2012-05-15 18:44:12 +0000 |
commit | 177a119621f14a6ced87982ada75372815b636cf (patch) | |
tree | 0fdbed0f5c118afdd51db1f22e25b1eec3c98009 /utils | |
parent | e1accd76606721d3efcdc9b511b74e64c9ac3947 (diff) |
llvm-build: Don't emit library information for disabled targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156837 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/llvm-build/llvmbuild/componentinfo.py | 15 | ||||
-rw-r--r-- | utils/llvm-build/llvmbuild/main.py | 7 |
2 files changed, 21 insertions, 1 deletions
diff --git a/utils/llvm-build/llvmbuild/componentinfo.py b/utils/llvm-build/llvmbuild/componentinfo.py index 737b857dfb..c32cc1aeb0 100644 --- a/utils/llvm-build/llvmbuild/componentinfo.py +++ b/utils/llvm-build/llvmbuild/componentinfo.py @@ -68,6 +68,21 @@ class ComponentInfo(object): def get_llvmbuild_fragment(self): abstract + def get_parent_target_group(self): + """get_parent_target_group() -> ComponentInfo or None + + Return the nearest parent target group (if any), or None if the + component is not part of any target group. + """ + + # If this is a target group, return it. + if self.type_name == 'TargetGroup': + return self + + # Otherwise recurse on the parent, if any. + if self.parent_instance: + return self.parent_instance.get_parent_target_group() + class GroupComponentInfo(ComponentInfo): """ Group components have no semantics as far as the build system are concerned, diff --git a/utils/llvm-build/llvmbuild/main.py b/utils/llvm-build/llvmbuild/main.py index 2be9cd6b44..48b59bdac3 100644 --- a/utils/llvm-build/llvmbuild/main.py +++ b/utils/llvm-build/llvmbuild/main.py @@ -319,11 +319,16 @@ subdirectories = %s # dependencies for added library groups. entries = {} for c in self.ordered_component_infos: - # Skip optional components which are not enabled + # Skip optional components which are not enabled. if c.type_name == 'OptionalLibrary' \ and c.name not in enabled_optional_components: continue + # Skip target groups which are not enabled. + tg = c.get_parent_target_group() + if tg and not tg.enabled: + continue + # Only certain components are in the table. if c.type_name not in ('Library', 'OptionalLibrary', \ 'LibraryGroup', 'TargetGroup'): |