This revision was automatically updated to reflect the committed changes. Closed by commit rG99515783a63c: Don't search for sim SDK path until we know we need it (authored by jasonmolenda).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122373/new/ https://reviews.llvm.org/D122373 Files: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
Index: lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h =================================================================== --- lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h +++ lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h @@ -59,7 +59,8 @@ llvm::Triple::OSType preferred_os, llvm::SmallVector<llvm::Triple::OSType, 4> supported_os, llvm::SmallVector<llvm::StringRef, 4> supported_triples, - llvm::StringRef sdk, XcodeSDK::Type sdk_type, + std::string sdk_name_preferred, std::string sdk_name_secondary, + XcodeSDK::Type sdk_type, CoreSimulatorSupport::DeviceType::ProductFamilyID kind, bool force, const ArchSpec *arch); Index: lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp =================================================================== --- lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp +++ lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp @@ -274,13 +274,23 @@ return result; } +static llvm::StringRef GetXcodeSDKDir(std::string preferred, + std::string secondary) { + llvm::StringRef sdk; + sdk = HostInfo::GetXcodeSDKPath(XcodeSDK(std::move(preferred))); + if (sdk.empty()) + sdk = HostInfo::GetXcodeSDKPath(XcodeSDK(std::move(secondary))); + return sdk; +} + PlatformSP PlatformAppleSimulator::CreateInstance( const char *class_name, const char *description, ConstString plugin_name, llvm::SmallVector<llvm::Triple::ArchType, 4> supported_arch, llvm::Triple::OSType preferred_os, llvm::SmallVector<llvm::Triple::OSType, 4> supported_os, llvm::SmallVector<llvm::StringRef, 4> supported_triples, - llvm::StringRef sdk, lldb_private::XcodeSDK::Type sdk_type, + std::string sdk_name_preferred, std::string sdk_name_secondary, + lldb_private::XcodeSDK::Type sdk_type, CoreSimulatorSupport::DeviceType::ProductFamilyID kind, bool force, const ArchSpec *arch) { Log *log = GetLog(LLDBLog::Platform); @@ -338,6 +348,8 @@ if (create) { LLDB_LOGF(log, "%s::%s() creating platform", class_name, __FUNCTION__); + llvm::StringRef sdk = + GetXcodeSDKDir(sdk_name_preferred, sdk_name_secondary); return PlatformSP(new PlatformAppleSimulator( class_name, description, plugin_name, preferred_os, supported_triples, sdk, sdk_type, kind)); @@ -514,15 +526,6 @@ !arch->TripleEnvironmentWasSpecified(); } -static llvm::StringRef GetXcodeSDKDir(std::string preferred, - std::string secondary) { - llvm::StringRef sdk; - sdk = HostInfo::GetXcodeSDKPath(XcodeSDK(std::move(preferred))); - if (sdk.empty()) - sdk = HostInfo::GetXcodeSDKPath(XcodeSDK(std::move(secondary))); - return sdk; -} - static const char *g_ios_plugin_name = "ios-simulator"; static const char *g_ios_description = "iPhone simulator platform plug-in."; @@ -540,10 +543,6 @@ static PlatformSP CreateInstance(bool force, const ArchSpec *arch) { if (shouldSkipSimulatorPlatform(force, arch)) return nullptr; - llvm::StringRef sdk; - sdk = HostInfo::GetXcodeSDKPath(XcodeSDK("iPhoneSimulator.Internal.sdk")); - if (sdk.empty()) - sdk = HostInfo::GetXcodeSDKPath(XcodeSDK("iPhoneSimulator.sdk")); return PlatformAppleSimulator::CreateInstance( "PlatformiOSSimulator", g_ios_description, @@ -566,7 +565,7 @@ #endif #endif }, - GetXcodeSDKDir("iPhoneSimulator.Internal.sdk", "iPhoneSimulator.sdk"), + "iPhoneSimulator.Internal.sdk", "iPhoneSimulator.sdk", XcodeSDK::Type::iPhoneSimulator, CoreSimulatorSupport::DeviceType::ProductFamilyID::iPhone, force, arch); } @@ -604,7 +603,7 @@ #endif #endif }, - GetXcodeSDKDir("AppleTVSimulator.Internal.sdk", "AppleTVSimulator.sdk"), + "AppleTVSimulator.Internal.sdk", "AppleTVSimulator.sdk", XcodeSDK::Type::AppleTVSimulator, CoreSimulatorSupport::DeviceType::ProductFamilyID::appleTV, force, arch); @@ -646,7 +645,7 @@ #endif #endif }, - GetXcodeSDKDir("WatchSimulator.Internal.sdk", "WatchSimulator.sdk"), + "WatchSimulator.Internal.sdk", "WatchSimulator.sdk", XcodeSDK::Type::WatchSimulator, CoreSimulatorSupport::DeviceType::ProductFamilyID::appleWatch, force, arch); Index: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm =================================================================== --- lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm +++ lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm @@ -379,6 +379,13 @@ args.AppendArgument("--sdk"); args.AppendArgument(sdk); + Log *log = GetLog(LLDBLog::Host); + if (log) { + std::string cmdstr; + args.GetCommandString(cmdstr); + log->Printf("GetXcodeSDK() running shell cmd '%s'", cmdstr.c_str()); + } + 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