[CAS] swift dependency scanning using CAS for compiler caching (#66366)

Teach swift dependency scanner to use CAS to capture the full dependencies for a build and construct build commands with immutable inputs from CAS.

This allows swift compilation caching using CAS.
This commit is contained in:
Steven Wu
2023-06-12 10:55:53 -07:00
committed by GitHub
parent 2db4a038c3
commit b1f99b8e93
34 changed files with 2671 additions and 298 deletions

View File

@@ -822,6 +822,9 @@ namespace swift {
/// clang CASOptions.
std::string CASPath;
/// Cache key for imported bridging header.
std::string BridgingHeaderPCHCacheKey;
/// Disable validating the persistent PCH.
bool PCHDisableValidation = false;
@@ -891,6 +894,9 @@ namespace swift {
/// built and provided to the compiler invocation.
bool DisableImplicitClangModules = false;
/// Enable ClangIncludeTree for explicit module builds.
bool UseClangIncludeTree = false;
/// Return a hash code of any components from these options that should
/// contribute to a Swift Bridging PCH hash.
llvm::hash_code getPCHHashComponents() const {