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