[Lldb-commits] [lldb] 79daa3d - Teach GetXcodeSDK to look in the Xcode that contains LLDB
Adrian Prantl via lldb-commits
lldb-commits at lists.llvm.org
Fri Jun 5 11:59:35 PDT 2020
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;
More information about the lldb-commits
mailing list