//===- Driver.h -------------------------------------------------*- C++ -*-===// // // The LLVM Linker // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef LLD_ELF_DRIVER_H #define LLD_ELF_DRIVER_H #include "SymbolTable.h" #include "lld/Core/LLVM.h" #include "llvm/ADT/StringRef.h" #include "llvm/Option/ArgList.h" namespace lld { namespace elf2 { extern class LinkerDriver *Driver; // Entry point of the ELF linker. void link(ArrayRef Args); class LinkerDriver { public: void main(ArrayRef Args); void createFiles(llvm::opt::InputArgList &Args); template void link(llvm::opt::InputArgList &Args); void addFile(StringRef Path); private: template