mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Add support for dependency file generation with -emit-dependencies.
This performs very conservative dependency generation for each compile task within a full compilation. Any source file, swiftmodule, or Objective-C header file that is /touched/ gets added to the dependencies list, which is written out on a per-input basis at the end of compilation. This does /not/ handle dependencies for the aggregated swiftmodule, swiftdoc, generated header, or linked binary. This is just the minimum needed to get Xcode to recognize what needs to be rebuilt when a header or Swift source file changes. We can revisit this later. This finishes <rdar://problem/14899639> for now. Swift SVN r18045
This commit is contained in:
@@ -30,7 +30,9 @@ typedef std::pair<Identifier, SourceLoc> AccessPathElem;
|
||||
} // end unnamed namespace
|
||||
|
||||
// Defined out-of-line so that we can see ~ModuleFile.
|
||||
SerializedModuleLoader::SerializedModuleLoader(ASTContext &ctx) : Ctx(ctx) {}
|
||||
SerializedModuleLoader::SerializedModuleLoader(ASTContext &ctx,
|
||||
DependencyTracker *tracker)
|
||||
: ModuleLoader(tracker), Ctx(ctx) {}
|
||||
SerializedModuleLoader::~SerializedModuleLoader() = default;
|
||||
|
||||
static llvm::error_code
|
||||
@@ -297,6 +299,8 @@ Module *SerializedModuleLoader::loadModule(SourceLoc importLoc,
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
addDependency(moduleInputBuffer->getBufferIdentifier());
|
||||
}
|
||||
|
||||
assert(moduleInputBuffer);
|
||||
|
||||
Reference in New Issue
Block a user