Files
revng-revng/lib/Recompile/LinkForTranslationPipe.cpp
Alessandro Di Federico 553d869d03 Drop Pipe::print method
2024-06-20 10:24:51 +02:00

35 lines
1.1 KiB
C++

/// \file LinkForTranslation.cpp
/// The link for translation pipe is used to link object files into a
/// executable.
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include "revng/Pipeline/AllRegistries.h"
#include "revng/Pipes/ModelGlobal.h"
#include "revng/Recompile/LinkForTranslation.h"
#include "revng/Recompile/LinkForTranslationPipe.h"
#include "revng/Support/ResourceFinder.h"
using namespace llvm;
using namespace llvm::sys;
using namespace pipeline;
using namespace ::revng::pipes;
void LinkForTranslation::run(const ExecutionContext &Ctx,
BinaryFileContainer &InputBinary,
ObjectFileContainer &ObjectFile,
TranslatedFileContainer &OutputBinary) {
if (not InputBinary.exists() or not ObjectFile.exists())
return;
const model::Binary &Model = *getModelFromContext(Ctx);
linkForTranslation(Model,
*InputBinary.path(),
*ObjectFile.path(),
OutputBinary.getOrCreatePath());
}
static RegisterPipe<LinkForTranslation> E5;