[Lldb-commits] [lldb] [lldb]HostInfoMacOSX] Search CommandLineTools directory when looking up SDK paths (PR #128712)
Michael Buch via lldb-commits
lldb-commits at lists.llvm.org
Tue Feb 25 05:43:58 PST 2025
================
@@ -569,10 +572,52 @@ static bool ResolveAndVerifyCandidateSupportDir(FileSpec &path) {
cache.insert({key, {error, true}});
return llvm::createStringError(llvm::inconvertibleErrorCode(), error);
}
+
+ if (path_or_err->empty())
+ return llvm::createStringError("Empty path determined for '%s'",
+ key.data());
+
auto it_new = cache.insert({key, {*path_or_err, false}});
return it_new.first->second.str;
}
+static llvm::Expected<std::string>
+GetCommandLineToolsSDKRoot(llvm::VersionTuple version) {
+ std::string clt_root_dir;
+ FileSystem::Instance().EnumerateDirectory(
+ "/Library/Developer/CommandLineTools/SDKs/", /*find_directories=*/true,
+ /*find_files=*/false, /*find_other=*/false,
+ [&](void *baton, llvm::sys::fs::file_type file_type,
+ llvm::StringRef name) {
+ assert(file_type == llvm::sys::fs::file_type::directory_file);
+
+ if (!name.ends_with(".sdk"))
+ return FileSystem::eEnumerateDirectoryResultNext;
+
+ llvm::Expected<std::optional<clang::DarwinSDKInfo>> sdk_info =
----------------
Michael137 wrote:
Hmm but looks like it's only able to parse the XML version, not the binary one?
https://github.com/llvm/llvm-project/pull/128712
More information about the lldb-commits
mailing list