def process_compilers_late(self):
    "Processes additional compilers after kwargs have been evaluated.\n\n        This can add extra compilers that might be required by keyword\n        arguments, such as link_with or dependencies. It will also try to guess\n        which compiler to use if one hasn't been selected already.\n        "
    if self.is_cross:
        compilers = self.environment.coredata.cross_compilers
    else:
        compilers = self.environment.coredata.compilers
    if (self.link_targets or self.link_whole_targets):
        extra = set()
        for t in itertools.chain(self.link_targets, self.link_whole_targets):
            for (name, compiler) in t.compilers.items():
                if (name in clink_langs):
                    extra.add((name, compiler))
        for (name, compiler) in sorted(extra, key=(lambda p: sort_clink(p[0]))):
            self.compilers[name] = compiler
    if (not self.compilers):
        for lang in clink_langs:
            if (lang in compilers):
                self.compilers[lang] = compilers[lang]
                break
Processes additional compilers after kwargs have been evaluated.

This can add extra compilers that might be required by keyword
arguments, such as link_with or dependencies. It will also try to guess
which compiler to use if one hasn't been selected already.
def process_compilers_late(self):
    "Processes additional compilers after kwargs have been evaluated.\n\n        This can add extra compilers that might be required by keyword\n        arguments, such as link_with or dependencies. It will also try to guess\n        which compiler to use if one hasn't been selected already.\n        "
    if self.is_cross:
        compilers = self.environment.coredata.cross_compilers
    else:
        compilers = self.environment.coredata.compilers
    if (self.link_targets or self.link_whole_targets):
        extra = set()
        for t in itertools.chain(self.link_targets, self.link_whole_targets):
            for (name, compiler) in t.compilers.items():
                if (name in clink_langs):
                    extra.add((name, compiler))
        for (name, compiler) in sorted(extra, key=(lambda p: sort_clink(p[0]))):
            self.compilers[name] = compiler
    if (not self.compilers):
        for lang in clink_langs:
            if (lang in compilers):
                self.compilers[lang] = compilers[lang]
                break