Author: Adrian Prantl Date: 2020-06-05T11:59:22-07:00 New Revision: 79daa3d896495e2755e530ce0658be3e80dfe4c9
URL: https://github.com/llvm/llvm-project/commit/79daa3d896495e2755e530ce0658be3e80dfe4c9 DIFF: https://github.com/llvm/llvm-project/commit/79daa3d896495e2755e530ce0658be3e80dfe4c9.diff LOG: Teach GetXcodeSDK to look in the Xcode that contains LLDB instead of preferring the one chosen with xcode-select. <rdar://problem/64000666> Differential Revision: https://reviews.llvm.org/D81210 Added: Modified: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm Removed: ################################################################################ diff --git a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm index 5c459a041383..cf2f2dcb3aff 100644 --- a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm +++ b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm @@ -358,7 +358,21 @@ static void ParseOSVersion(llvm::VersionTuple &version, NSString *Key) { XcodeSDK::Info info = sdk.Parse(); std::string sdk_name = XcodeSDK::GetCanonicalName(info); auto find_sdk = [](std::string sdk_name) -> std::string { - std::string xcrun_cmd = "xcrun --show-sdk-path --sdk " + sdk_name; + std::string xcrun_cmd; + Environment env = Host::GetEnvironment(); + std::string developer_dir = env.lookup("DEVELOPER_DIR"); + if (developer_dir.empty()) + if (FileSpec fspec = HostInfo::GetShlibDir()) + if (FileSystem::Instance().Exists(fspec)) { + FileSpec path( + XcodeSDK::FindXcodeContentsDirectoryInPath(fspec.GetPath())); + if (path.RemoveLastPathComponent()) + developer_dir = path.GetPath(); + } + if (!developer_dir.empty()) + xcrun_cmd = "/usr/bin/env DEVELOPER_DIR=\"" + developer_dir + "\" "; + xcrun_cmd += "xcrun --show-sdk-path --sdk " + sdk_name; + int status = 0; int signo = 0; std::string output_str; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits