def test_paths_containing_libs(dirs_with_libfiles): lib_to_dirs, all_dirs = dirs_with_libfiles assert (set(fs.paths_containing_libs(all_dirs, ['libgfortran'])) == set( lib_to_dirs['libgfortran'])) assert (set(fs.paths_containing_libs(all_dirs, ['libirc'])) == set( lib_to_dirs['libirc']))
def implicit_rpaths(self): if self.enable_implicit_rpaths is False: return [] exe_paths = [x for x in [self.cc, self.cxx, self.fc, self.f77] if x] link_dirs = self._get_compiler_link_paths(exe_paths) all_required_libs = (list(self.required_libs) + Compiler._all_compiler_rpath_libraries) return list(paths_containing_libs(link_dirs, all_required_libs))
def implicit_rpaths(self): if self.enable_implicit_rpaths is False: return [] # Put CXX first since it has the most linking issues # And because it has flags that affect linking exe_paths = [x for x in [self.cxx, self.cc, self.fc, self.f77] if x] link_dirs = self._get_compiler_link_paths(exe_paths) all_required_libs = (list(self.required_libs) + Compiler._all_compiler_rpath_libraries) return list(paths_containing_libs(link_dirs, all_required_libs))