From 8214ffd81ccc4d6f485f9c0b9c1417136706054a Mon Sep 17 00:00:00 2001 From: Eric Milkie Date: Tue, 10 Sep 2013 17:11:44 -0400 Subject: SERVER-9771 allow libdeps to process emitter intermediate output with targets that may be strings --- site_scons/libdeps.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'site_scons') 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', [])]): -- cgit v1.2.1