9#ifndef LLVM_WINDOWSDRIVER_MSVCPATHS_H
10#define LLVM_WINDOWSDRIVER_MSVCPATHS_H
56 const std::string &VCToolChainPath,
68 std::optional<llvm::StringRef> WinSdkDir,
69 std::optional<llvm::StringRef> WinSdkVersion,
70 std::optional<llvm::StringRef> WinSysRoot,
71 std::string &Path,
int &Major,
72 std::string &WindowsSDKIncludeVersion,
73 std::string &WindowsSDKLibVersion);
76 std::optional<llvm::StringRef> WinSdkDir,
77 std::optional<llvm::StringRef> WinSdkVersion,
78 std::optional<llvm::StringRef> WinSysRoot,
79 std::string &Path, std::string &UCRTVersion);
83 vfs::FileSystem &VFS, std::optional<llvm::StringRef> VCToolsDir,
84 std::optional<llvm::StringRef> VCToolsVersion,
85 std::optional<llvm::StringRef> WinSysRoot, std::string &Path,
100 std::optional<llvm::StringRef> VCToolsVersion,
This file defines the SmallString class.
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
StringRef - Represent a constant reference to a string, i.e.
The virtual file system interface.
This is an optimization pass for GlobalISel generic memory operations.
const char * archToWindowsSDKArch(llvm::Triple::ArchType Arch)
bool findVCToolChainViaCommandLine(vfs::FileSystem &VFS, std::optional< llvm::StringRef > VCToolsDir, std::optional< llvm::StringRef > VCToolsVersion, std::optional< llvm::StringRef > WinSysRoot, std::string &Path, ToolsetLayout &VSLayout)
bool getWindowsSDKDir(vfs::FileSystem &VFS, std::optional< llvm::StringRef > WinSdkDir, std::optional< llvm::StringRef > WinSdkVersion, std::optional< llvm::StringRef > WinSysRoot, std::string &Path, int &Major, std::string &WindowsSDKIncludeVersion, std::string &WindowsSDKLibVersion)
Get Windows SDK installation directory.
bool useUniversalCRT(ToolsetLayout VSLayout, const std::string &VCToolChainPath, llvm::Triple::ArchType TargetArch, llvm::vfs::FileSystem &VFS)
bool findVCToolChainViaEnvironment(vfs::FileSystem &VFS, std::string &Path, ToolsetLayout &VSLayout)
bool findVCToolChainViaSetupConfig(vfs::FileSystem &VFS, std::optional< llvm::StringRef > VCToolsVersion, std::string &Path, ToolsetLayout &VSLayout)
const char * archToLegacyVCArch(llvm::Triple::ArchType Arch)
const char * archToDevDivInternalArch(llvm::Triple::ArchType Arch)
std::string getSubDirectoryPath(SubDirectoryType Type, ToolsetLayout VSLayout, const std::string &VCToolChainPath, llvm::Triple::ArchType TargetArch, llvm::StringRef SubdirParent="")
bool appendArchToWindowsSDKLibPath(int SDKMajor, llvm::SmallString< 128 > LibPath, llvm::Triple::ArchType Arch, std::string &path)
bool findVCToolChainViaRegistry(std::string &Path, ToolsetLayout &VSLayout)
bool getUniversalCRTSdkDir(vfs::FileSystem &VFS, std::optional< llvm::StringRef > WinSdkDir, std::optional< llvm::StringRef > WinSdkVersion, std::optional< llvm::StringRef > WinSysRoot, std::string &Path, std::string &UCRTVersion)