#include "lldb/Host/Config.h"
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/Host.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Host/HostInfoBase.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/Threading.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Host.h"
#include "llvm/TargetParser/Triple.h"
#include <mutex>
#include <optional>
#include <thread>
usingnamespacelldb;
usingnamespacelldb_private;
namespace {
struct HostInfoBaseFields { … };
}
static HostInfoBaseFields *g_fields = …;
static HostInfoBase::SharedLibraryDirectoryHelper *g_shlib_dir_helper = …;
void HostInfoBase::Initialize(SharedLibraryDirectoryHelper *helper) { … }
void HostInfoBase::Terminate() { … }
llvm::Triple HostInfoBase::GetTargetTriple() { … }
const ArchSpec &HostInfoBase::GetArchitecture(ArchitectureKind arch_kind) { … }
std::optional<HostInfoBase::ArchitectureKind>
HostInfoBase::ParseArchitectureKind(llvm::StringRef kind) { … }
FileSpec HostInfoBase::GetShlibDir() { … }
FileSpec HostInfoBase::GetSupportExeDir() { … }
FileSpec HostInfoBase::GetHeaderDir() { … }
FileSpec HostInfoBase::GetSystemPluginDir() { … }
FileSpec HostInfoBase::GetUserPluginDir() { … }
FileSpec HostInfoBase::GetProcessTempDir() { … }
FileSpec HostInfoBase::GetGlobalTempDir() { … }
ArchSpec HostInfoBase::GetAugmentedArchSpec(llvm::StringRef triple) { … }
bool HostInfoBase::ComputePathRelativeToLibrary(FileSpec &file_spec,
llvm::StringRef dir) { … }
bool HostInfoBase::ComputeSharedLibraryDirectory(FileSpec &file_spec) { … }
bool HostInfoBase::ComputeSupportExeDirectory(FileSpec &file_spec) { … }
bool HostInfoBase::ComputeProcessTempFileDirectory(FileSpec &file_spec) { … }
bool HostInfoBase::ComputeTempFileBaseDirectory(FileSpec &file_spec) { … }
bool HostInfoBase::ComputeGlobalTempFileDirectory(FileSpec &file_spec) { … }
bool HostInfoBase::ComputeHeaderDirectory(FileSpec &file_spec) { … }
bool HostInfoBase::ComputeSystemPluginsDirectory(FileSpec &file_spec) { … }
bool HostInfoBase::ComputeUserPluginsDirectory(FileSpec &file_spec) { … }
void HostInfoBase::ComputeHostArchitectureSupport(ArchSpec &arch_32,
ArchSpec &arch_64) { … }