File indexing completed on 2026-05-10 08:42:48
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_HOST_MACOSX_HOSTINFOMACOSX_H
0010 #define LLDB_HOST_MACOSX_HOSTINFOMACOSX_H
0011
0012 #include "lldb/Host/posix/HostInfoPosix.h"
0013 #include "lldb/Utility/FileSpec.h"
0014 #include "lldb/Utility/XcodeSDK.h"
0015 #include "llvm/ADT/StringRef.h"
0016 #include "llvm/Support/VersionTuple.h"
0017 #include <optional>
0018
0019 namespace lldb_private {
0020
0021 class ArchSpec;
0022
0023 class HostInfoMacOSX : public HostInfoPosix {
0024 friend class HostInfoBase;
0025
0026 public:
0027 static llvm::VersionTuple GetOSVersion();
0028 static llvm::VersionTuple GetMacCatalystVersion();
0029 static std::optional<std::string> GetOSBuildString();
0030 static FileSpec GetProgramFileSpec();
0031 static FileSpec GetXcodeContentsDirectory();
0032 static FileSpec GetXcodeDeveloperDirectory();
0033
0034
0035 static llvm::Expected<llvm::StringRef> GetSDKRoot(SDKOptions options);
0036 static llvm::Expected<llvm::StringRef> FindSDKTool(XcodeSDK sdk,
0037 llvm::StringRef tool);
0038
0039
0040 static SharedCacheImageInfo
0041 GetSharedCacheImageInfo(llvm::StringRef image_name);
0042
0043 protected:
0044 static bool ComputeSupportExeDirectory(FileSpec &file_spec);
0045 static void ComputeHostArchitectureSupport(ArchSpec &arch_32,
0046 ArchSpec &arch_64);
0047 static bool ComputeHeaderDirectory(FileSpec &file_spec);
0048 static bool ComputeSystemPluginsDirectory(FileSpec &file_spec);
0049 static bool ComputeUserPluginsDirectory(FileSpec &file_spec);
0050 };
0051 }
0052
0053 #endif