(self)
return langs
Sometimes you want to link to a C++ library that exports C API, which
        means the linker must link in the C++ stdlib, and we must use a C++
        compiler for linking. The same is also applicable for objc/objc++, etc,
        so we can keep using clink_langs for the priority order.

        See: https://github.com/mesonbuild/meson/issues/1653
Sometimes you want to link to a C++ library that exports C API, which
        means the linker must link in the C++ stdlib, and we must use a C++
        compiler for linking. The same is also applicable for objc/objc++, etc,
        so we can keep using clink_langs for the priority order.
Sometimes you want to link to a C ++ library that exports C API which means the linker must link in the C ++ stdlib and we must use a C ++ compiler for linking . The same is also applicable for objc / objc ++ etc so we can keep using clink_langs for the priority order .
def get_langs_used_by_deps(self) -> T.List[str]:
        '''
        Sometimes you want to link to a C++ library that exports C API, which
        means the linker must link in the C++ stdlib, and we must use a C++
        compiler for linking. The same is also applicable for objc/objc++, etc,
        so we can keep using clink_langs for the priority order.

        See: https://github.com/mesonbuild/meson/issues/1653
        '''
        langs = [] # type: T.List[str]

        # Check if any of the external libraries were written in this language
        for dep in self.external_deps:
            if dep.language is None:
                continue
            if dep.language not in langs:
                langs.append(dep.language)
        # Check if any of the internal libraries this target links to were
        # written in this language
        for link_target in itertools.chain(self.link_targets, self.link_whole_targets):
            if isinstance(link_target, (CustomTarget, CustomTargetIndex)):
                continue
            for language in link_target.compilers:
                if language not in langs:
                    langs.append(language)

        return langs
def get_langs_used_by_deps ( self ) -> T . List [ str ] : langs = [ ] # type: T.List[str] # Check if any of the external libraries were written in this language for dep in self . external_deps : if dep . language is None : continue if dep . language not in langs : langs . append ( dep . language ) # Check if any of the internal libraries this target links to were # written in this language for link_target in itertools . chain ( self . link_targets , self . link_whole_targets ) : if isinstance ( link_target , ( CustomTarget , CustomTargetIndex ) ) : continue for language in link_target . compilers : if language not in langs : langs . append ( language ) return langs