9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_BAREMETAL_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_BAREMETAL_H
25 const llvm::opt::ArgList &Args);
28 static bool handlesTarget(
const llvm::Triple &Triple);
30 void findMultilibs(
const Driver &
D,
const llvm::Triple &Triple,
31 const llvm::opt::ArgList &Args);
34 Tool *buildLinker()
const override;
35 Tool *buildStaticLibTool()
const override;
52 return ToolChain::RLT_CompilerRT;
55 return ToolChain::CST_Libcxx;
61 AddClangSystemIncludeArgs(
const llvm::opt::ArgList &DriverArgs,
62 llvm::opt::ArgStringList &CC1Args)
const override;
64 addClangTargetOptions(
const llvm::opt::ArgList &DriverArgs,
65 llvm::opt::ArgStringList &CC1Args,
67 void AddClangCXXStdlibIncludeArgs(
68 const llvm::opt::ArgList &DriverArgs,
69 llvm::opt::ArgStringList &CC1Args)
const override;
70 void AddCXXStdlibLibArgs(
const llvm::opt::ArgList &Args,
71 llvm::opt::ArgStringList &CmdArgs)
const override;
72 void AddLinkRuntimeLib(
const llvm::opt::ArgList &Args,
73 llvm::opt::ArgStringList &CmdArgs)
const;
74 std::string computeSysRoot()
const override;
78 using OrderedMultilibs =
79 llvm::iterator_range<llvm::SmallVector<Multilib>::const_reverse_iterator>;
80 OrderedMultilibs getOrderedMultilibs()
const;
91 :
Tool(
"baremetal::StaticLibTool",
"llvm-ar", TC) {}
98 const llvm::opt::ArgList &TCArgs,
99 const char *LinkingOutput)
const override;
109 const llvm::opt::ArgList &TCArgs,
110 const char *LinkingOutput)
const override;
Compilation - A set of tasks to perform for a single driver invocation.
Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like comma...
The JSON file list parser is used to communicate input to InstallAPI.