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 getMultilibMacroDefinesStr(llvm::opt::ArgList &Args)
const override;
77 using OrderedMultilibs =
78 llvm::iterator_range<llvm::SmallVector<Multilib>::const_reverse_iterator>;
79 OrderedMultilibs getOrderedMultilibs()
const;
94 :
Tool(
"baremetal::StaticLibTool",
"llvm-ar", TC) {}
101 const llvm::opt::ArgList &TCArgs,
102 const char *LinkingOutput)
const override;
112 const llvm::opt::ArgList &TCArgs,
113 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.