(self)
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.
Processes additional compilers after kwargs have been evaluated.
Processes additional compilers after kwargs have been evaluated .
def process_compilers_late(self):
        """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.
        """
        # Populate list of compilers
        compilers = self.environment.coredata.compilers[self.for_machine]

        # did user override clink_langs for this target?
        link_langs = [self.link_language] if self.link_language else clink_langs

        # If this library is linked against another library we need to consider
        # the languages of those libraries as well.
        if self.link_targets or self.link_whole_targets:
            extra = set()
            for t in itertools.chain(self.link_targets, self.link_whole_targets):
                if isinstance(t, CustomTarget) or isinstance(t, CustomTargetIndex):
                    continue # We can't know anything about these.
                for name, compiler in t.compilers.items():
                    if name in link_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:
            # No source files or parent targets, target consists of only object
            # files of unknown origin. Just add the first clink compiler
            # that we have and hope that it can link these objects
            for lang in link_langs:
                if lang in compilers:
                    self.compilers[lang] = compilers[lang]
                    break
def process_compilers_late ( self ) : # Populate list of compilers compilers = self . environment . coredata . compilers [ self . for_machine ] # did user override clink_langs for this target? link_langs = [ self . link_language ] if self . link_language else clink_langs # If this library is linked against another library we need to consider # the languages of those libraries as well. if self . link_targets or self . link_whole_targets : extra = set ( ) for t in itertools . chain ( self . link_targets , self . link_whole_targets ) : if isinstance ( t , CustomTarget ) or isinstance ( t , CustomTargetIndex ) : continue # We can't know anything about these. for name , compiler in t . compilers . items ( ) : if name in link_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 : # No source files or parent targets, target consists of only object # files of unknown origin. Just add the first clink compiler # that we have and hope that it can link these objects for lang in link_langs : if lang in compilers : self . compilers [ lang ] = compilers [ lang ] break