summaryrefslogtreecommitdiff
path: root/site_scons
diff options
context:
space:
mode:
authorEric Milkie <milkie@10gen.com>2013-09-10 17:11:44 -0400
committerEric Milkie <milkie@10gen.com>2013-09-12 16:05:43 -0400
commit8214ffd81ccc4d6f485f9c0b9c1417136706054a (patch)
tree19c75a9af6106d180cb6a3e3d10138744ccf0fa8 /site_scons
parent887aa5ba231e7ed8b7be86d4dac6bf0a211f91d5 (diff)
downloadmongo-8214ffd81ccc4d6f485f9c0b9c1417136706054a.tar.gz
SERVER-9771 allow libdeps to process emitter intermediate output with targets that may be strings
Diffstat (limited to 'site_scons')
-rw-r--r--site_scons/libdeps.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/site_scons/libdeps.py b/site_scons/libdeps.py
index bc1c2e315bb..e17a4fa0f55 100644
--- a/site_scons/libdeps.py
+++ b/site_scons/libdeps.py
@@ -199,6 +199,9 @@ def get_syslibdeps(source, target, env, for_signature):
return result
def __append_direct_libdeps(node, prereq_nodes):
+ # We do not bother to decorate nodes that are not actual Objects
+ if type(node) == str:
+ return
if getattr(node.attributes, 'libdeps_direct', None) is None:
node.attributes.libdeps_direct = []
node.attributes.libdeps_direct.extend(prereq_nodes)
@@ -235,6 +238,8 @@ def libdeps_emitter(target, source, env):
libdep_files.append(env.File(os.path.join(dir_name, file_name)))
for t in target:
+ # target[0] must be a Node and not a string, or else libdeps will fail to
+ # work properly.
__append_direct_libdeps(t, libdep_files)
for dependent in env.Flatten([env.get('LIBDEPS_DEPENDENTS', [])]):