-def indirect_syslibs(bld, t, chain, loops):
- '''recursively calculate the indirect system library dependencies for a target
-
- An indirect syslib results from a subsystem dependency
- '''
-
- ret = getattr(t, 'indirect_syslibs', None)
- if ret is not None:
- return ret
-
- ret = set()
- for obj in t.direct_objects:
- if obj in chain:
- dependency_loop(loops, t, obj)
- continue
- chain.add(obj)
- t2 = bld.name_to_obj(obj, bld.env)
- r2 = indirect_syslibs(bld, t2, chain, loops)
- chain.remove(obj)
- ret = ret.union(t2.direct_syslibs)
- ret = ret.union(r2)
-
- t.indirect_syslibs = ret
- return ret
-
-