def get_dependencies(self, exclude=None, internal=True):
    transitive_deps = []
    if (exclude is None):
        exclude = []
    if internal:
        link_targets = itertools.chain(self.link_targets, self.link_whole_targets)
    else:
        link_targets = self.link_targets
    for t in link_targets:
        if ((t in transitive_deps) or (t in exclude)):
            continue
        transitive_deps.append(t)
        if isinstance(t, StaticLibrary):
            transitive_deps += t.get_dependencies((transitive_deps + exclude), internal)
    return transitive_deps
def get_dependencies(self, exclude=None, internal=True):
    transitive_deps = []
    if (exclude is None):
        exclude = []
    if internal:
        link_targets = itertools.chain(self.link_targets, self.link_whole_targets)
    else:
        link_targets = self.link_targets
    for t in link_targets:
        if ((t in transitive_deps) or (t in exclude)):
            continue
        transitive_deps.append(t)
        if isinstance(t, StaticLibrary):
            transitive_deps += t.get_dependencies((transitive_deps + exclude), internal)
    return transitive_deps