1 //===- lld/Common/Driver.h - Linker Driver Emulator -----------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLD_COMMON_DRIVER_H 10 #define LLD_COMMON_DRIVER_H 11 12 #include "llvm/ADT/ArrayRef.h" 13 #include "llvm/Support/raw_ostream.h" 14 15 namespace lld { 16 namespace coff { 17 bool link(llvm::ArrayRef<const char *> args, bool canExitEarly, 18 llvm::raw_ostream &stdoutOS, llvm::raw_ostream &stderrOS); 19 } 20 21 namespace mingw { 22 bool link(llvm::ArrayRef<const char *> args, bool canExitEarly, 23 llvm::raw_ostream &stdoutOS, llvm::raw_ostream &stderrOS); 24 } 25 26 namespace elf { 27 bool link(llvm::ArrayRef<const char *> args, bool canExitEarly, 28 llvm::raw_ostream &stdoutOS, llvm::raw_ostream &stderrOS); 29 } 30 31 namespace mach_o { 32 bool link(llvm::ArrayRef<const char *> args, bool canExitEarly, 33 llvm::raw_ostream &stdoutOS, llvm::raw_ostream &stderrOS); 34 } 35 36 namespace macho { 37 bool link(llvm::ArrayRef<const char *> args, bool canExitEarly, 38 llvm::raw_ostream &stdoutOS, llvm::raw_ostream &stderrOS); 39 } 40 41 namespace wasm { 42 bool link(llvm::ArrayRef<const char *> args, bool canExitEarly, 43 llvm::raw_ostream &stdoutOS, llvm::raw_ostream &stderrOS); 44 } 45 } 46 47 #endif 48