diff options
author | Andrew Morrow <acm@mongodb.com> | 2018-03-28 11:59:39 -0400 |
---|---|---|
committer | Andrew Morrow <acm@mongodb.com> | 2018-03-29 12:15:39 -0400 |
commit | 73a74e4ba33af61b2f102ddf11e674ee30dc2768 (patch) | |
tree | ec11fffd096488f006e9e3a6f33ff4b80c1315fe /site_scons | |
parent | 45c86eb7be9a2ce2ffd112f22f7cdc131d35b0aa (diff) | |
download | mongo-73a74e4ba33af61b2f102ddf11e674ee30dc2768.tar.gz |
SERVER-33980 Reduce dependencies for embedded commands
Diffstat (limited to 'site_scons')
-rw-r--r-- | site_scons/site_tools/auto_install_binaries.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/site_scons/site_tools/auto_install_binaries.py b/site_scons/site_tools/auto_install_binaries.py index 19232645e26..87821f0341b 100644 --- a/site_scons/site_tools/auto_install_binaries.py +++ b/site_scons/site_tools/auto_install_binaries.py @@ -26,8 +26,21 @@ def generate(env): for s in map(env.Entry, env.Flatten(source)): setattr(s.attributes, "aib_install_actions", actions) - tags = kwargs.get('INSTALL_ALIAS', []) - if tags: + # Get the tags. If no tags were set, or a non-falsish thing + # was set then interpret that as a request for normal + # tagging. Auto include the 'all' tag, and generate + # aliases. If the user explicitly set the INSTALL_ALIAS to + # something falsy, interpret that as meaning no tags at all, + # so that we have a way to exempt targets from auto + # installation. + tags = kwargs.get('INSTALL_ALIAS', None) + if tags is None or tags: + tags = set(tags or []) + tags.add('all') + if 'default' in tags: + tags.remove('default') + env.Alias('install', actions) + env.Default('install') env.Alias(['install-' + tag for tag in tags], actions) return actions @@ -64,6 +77,8 @@ def generate(env): install_sources = node.sources for install_source in install_sources: is_executor = install_source.get_executor() + if not is_executor: + continue is_targets = is_executor.get_all_targets() for is_target in (is_targets or []): grandchildren = is_target.children() |