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 std::string computeSysRoot()
const override;
74 using OrderedMultilibs =
75 llvm::iterator_range<llvm::SmallVector<Multilib>::const_reverse_iterator>;
76 OrderedMultilibs getOrderedMultilibs()
const;
89 :
Tool(
"baremetal::StaticLibTool",
"llvm-ar", TC) {}
96 const llvm::opt::ArgList &TCArgs,
97 const char *LinkingOutput)
const override;
107 const llvm::opt::ArgList &TCArgs,
108 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.