Index: lldb/lit/helper/build.py =================================================================== --- lldb/lit/helper/build.py +++ lldb/lit/helper/build.py @@ -283,17 +283,19 @@ print('Using alternate compiler "{0}" to match selected target.'.format(self.compiler)) if self.mode == 'link' or self.mode == 'compile-and-link': - self.linker = self._find_linker('link') if toolchain_type == 'msvc' else self._find_linker('lld-link') + self.linker = self._find_linker('link') if toolchain_type == 'msvc' else self._find_linker('lld-link', args.tools_dir) if not self.linker: raise ValueError('Unable to find an appropriate linker.') self.compile_env, self.link_env = self._get_visual_studio_environment() - def _find_linker(self, name): + def _find_linker(self, name, search_paths=[]): if sys.platform == 'win32': name = name + '.exe' compiler_dir = os.path.dirname(self.compiler) linker_path = os.path.join(compiler_dir, name) + if not os.path.exists(linker_path): + linker_path = find_executable(name, search_paths) if not os.path.exists(linker_path): raise ValueError('Could not find \'{}\''.format(linker_path)) return linker_path