Newer
Older
ctx.setManifestOutputPath(ctx.allocate(path));
// Add the input files to the input graph.
if (!ctx.hasInputGraph())
ctx.setInputGraph(std::unique_ptr<InputGraph>(new InputGraph()));
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
for (auto &file : files) {
if (isReadingDirectiveSection)
if (file->parse(ctx, diagnostics))
return false;
ctx.inputGraph().addInputElement(std::move(file));
}
// Add the library group to the input graph.
if (!isReadingDirectiveSection) {
auto group = std::unique_ptr<Group>(new PECOFFGroup());
ctx.setLibraryGroup(group.get());
ctx.inputGraph().addInputElement(std::move(group));
}
// Add the library files to the library group.
for (std::unique_ptr<FileNode> &lib : libraries) {
if (!hasLibrary(ctx, lib.get())) {
if (isReadingDirectiveSection)
if (lib->parse(ctx, diagnostics))
return false;
ctx.getLibraryGroup()->processInputElement(std::move(lib));
}
}
// Validate the combination of options used.
}
} // namespace lld