summaryrefslogtreecommitdiff
path: root/site_scons
diff options
context:
space:
mode:
authorAndrew Morrow <andrew.morrow@10gen.com>2019-08-22 19:12:25 +0000
committerevergreen <evergreen@mongodb.com>2019-08-22 19:12:25 +0000
commitc2ac6fb3c04fd97cefbdc4f8bca0ee57e031a260 (patch)
treeb6dbc9711c21c39d7b420600e66b6050e9803f34 /site_scons
parente94d9343cfd381a15222ac77a407515bf8645785 (diff)
downloadmongo-c2ac6fb3c04fd97cefbdc4f8bca0ee57e031a260.tar.gz
SERVER-42887 Ensure PDBs remain in the runtime component on windows
Diffstat (limited to 'site_scons')
-rw-r--r--site_scons/site_tools/auto_install_binaries.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/site_scons/site_tools/auto_install_binaries.py b/site_scons/site_tools/auto_install_binaries.py
index 1d39b9a1807..4344949761d 100644
--- a/site_scons/site_tools/auto_install_binaries.py
+++ b/site_scons/site_tools/auto_install_binaries.py
@@ -511,6 +511,12 @@ def add_package_name_alias(env, component, role, name):
raise Exception("No role provided for package name alias")
env[PACKAGE_ALIAS_MAP][(component, role)] = name
+def add_role_dependencies(env, role, dependencies):
+ current = env[ROLE_DEPENDENCIES].get(role, None)
+ if not current:
+ current = env[ROLE_DEPENDENCIES][role] = list()
+ current.extend(dependencies)
+ current = list(set(current))
def suffix_mapping(env, directory=False, default_roles=False):
"""Generate a SuffixMap object from source and target."""
@@ -610,22 +616,22 @@ def generate(env): # pylint: disable=too-many-statements
# TODO: make this configurable?
env[ROLE_DEPENDENCIES] = {
"debug": [
+ "base",
+
# TODO: Debug should depend on these when making packages, but shouldn't when building
# the legacy tarball. Probably fuel for the above configurability fire. For now, make it not
# depend so that we can get AIB in place for the dist builders.
-
# "runtime",
- # "base",
],
"dev": [
- "runtime",
"base",
+ "runtime",
],
"meta": [
- "dev",
- "runtime",
"base",
"debug",
+ "dev",
+ "runtime",
],
"runtime": [
"base",
@@ -637,6 +643,7 @@ def generate(env): # pylint: disable=too-many-statements
env.AddMethod(add_package_name_alias, "AddPackageNameAlias")
env.AddMethod(auto_install, "AutoInstall")
env.AddMethod(finalize_install_dependencies, "FinalizeInstallDependencies")
+ env.AddMethod(add_role_dependencies, "AddRoleDependencies")
env.Tool("install")
# TODO: we should probably expose these as PseudoBuilders and let