[Lldb-commits] [lldb] [lldb]HostInfoMacOSX] Search CommandLineTools directory when looking up SDK paths (PR #128712)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Tue Feb 25 09:21:26 PST 2025
================
@@ -581,6 +626,21 @@ static bool ResolveAndVerifyCandidateSupportDir(FileSpec &path) {
"XcodeSDK not specified");
XcodeSDK sdk = *options.XcodeSDKSelection;
auto key = sdk.GetString();
+
+ // xcrun doesn't search SDKs in the CommandLineTools (CLT) directory. So if
+ // a program was compiled against a CLT SDK, but that SDK wasn't present in
+ // any of the Xcode installations, then xcrun would fail to find the SDK
+ // (which is expensive). To avoid this we first try to find the specified SDK
+ // in the CLT directory.
+ auto clt_root_dir = find_cached_path(g_sdk_path, g_sdk_path_mutex, key, [&] {
+ return GetCommandLineToolsSDKRoot(sdk.GetVersion());
----------------
JDevlieghere wrote:
Yeah, you don't know you need the CLT until you know it's not in Xcode, which is exactly the problem this is trying to avoid.
https://github.com/llvm/llvm-project/pull/128712
More information about the lldb-commits
mailing list