;
25 const char*LinkingOutput)
const{
29 const bool Static= Args.hasArg(options::OPT_static);
30 const boolShared = Args.hasArg(options::OPT_shared);
31ArgStringList CmdArgs;
34Args.ClaimAllArgs(options::OPT_g_Group);
36Args.ClaimAllArgs(options::OPT_emit_llvm);
39Args.ClaimAllArgs(options::OPT_w);
42Args.ClaimAllArgs(options::OPT_pie);
45Args.ClaimAllArgs(options::OPT_rdynamic);
47 if(!
D.SysRoot.empty())
48CmdArgs.push_back(Args.MakeArgString(
"--sysroot="+
D.SysRoot));
50CmdArgs.push_back(
"--eh-frame-hdr");
52CmdArgs.push_back(
"-Bstatic");
55CmdArgs.push_back(
"-shared");
56CmdArgs.push_back(
"--enable-new-dtags");
59CmdArgs.push_back(
"-shared");
62CmdArgs.push_back(
"--no-undefined");
64 if(Triple.isRISCV64()) {
65CmdArgs.push_back(
"-X");
66 if(Args.hasArg(options::OPT_mno_relax))
67CmdArgs.push_back(
"--no-relax");
72CmdArgs.push_back(
"-o");
76 if(!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles,
85Args.addAllArgs(CmdArgs, {options::OPT_L, options::OPT_T_Group,
86options::OPT_s, options::OPT_t});
89 if(
D.isUsingLTO()) {
90assert(!Inputs.empty() &&
"Must have at least one input.");
92 autoInput = llvm::find_if(
94 if(Input == Inputs.end())
97Input = Inputs.begin();
106 if(!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs,
109 boolStaticOpenMP = Args.hasArg(options::OPT_static_openmp) && !
Static;
116Args.ClaimAllArgs(options::OPT_stdlib_EQ);
122 if(
D.IsFlangMode() &&
123!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {
128CmdArgs.push_back(
"-lgcc");
130CmdArgs.push_back(
"--push-state");
131CmdArgs.push_back(
"--as-needed");
132CmdArgs.push_back(
"-lgcc_s");
133CmdArgs.push_back(
"--no-as-needed");
134CmdArgs.push_back(
"--pop-state");
136CmdArgs.push_back(
"-lroot");
138CmdArgs.push_back(
"-lgcc");
140CmdArgs.push_back(
"--push-state");
141CmdArgs.push_back(
"--as-needed");
142CmdArgs.push_back(
"-lgcc_s");
143CmdArgs.push_back(
"--no-as-needed");
144CmdArgs.push_back(
"--pop-state");
148Args.claimAllArgs(options::OPT_pthread, options::OPT_pthreads);
150 if(!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles,
158 const char*Exec = Args.MakeArgString(
getToolChain().GetLinkerPath());
159 C.addCommand(std::make_unique<Command>(JA, *
this,
161Exec, CmdArgs, Inputs, Output));
179llvm::opt::ArgStringList &CC1Args)
const{
182 if(DriverArgs.hasArg(options::OPT_nostdinc))
185 if(!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
187llvm::sys::path::append(Dir,
"include");
191 if(DriverArgs.hasArg(options::OPT_nostdlibinc))
195StringRef CIncludeDirs(C_INCLUDE_DIRS);
196 if(!CIncludeDirs.empty()) {
198CIncludeDirs.split(dirs,
":");
199 for(StringRef dir : dirs) {
201llvm::sys::path::is_absolute(dir) ? StringRef(
D.SysRoot) :
"";
208 "/boot/system/non-packaged/develop/headers"));
210 "/boot/system/develop/headers/os"));
212 "/boot/system/develop/headers/os/app"));
214 "/boot/system/develop/headers/os/device"));
216 "/boot/system/develop/headers/os/drivers"));
218 "/boot/system/develop/headers/os/game"));
220 "/boot/system/develop/headers/os/interface"));
222 "/boot/system/develop/headers/os/kernel"));
224 "/boot/system/develop/headers/os/locale"));
226 "/boot/system/develop/headers/os/mail"));
228 "/boot/system/develop/headers/os/media"));
230 "/boot/system/develop/headers/os/midi"));
232 "/boot/system/develop/headers/os/midi2"));
234 "/boot/system/develop/headers/os/net"));
236 "/boot/system/develop/headers/os/opengl"));
238 "/boot/system/develop/headers/os/storage"));
240 "/boot/system/develop/headers/os/support"));
242 "/boot/system/develop/headers/os/translation"));
244 "/boot/system/develop/headers/os/add-ons/graphics"));
246 "/boot/system/develop/headers/os/add-ons/input_server"));
248 "/boot/system/develop/headers/os/add-ons/mail_daemon"));
250 "/boot/system/develop/headers/os/add-ons/registrar"));
252 "/boot/system/develop/headers/os/add-ons/screen_saver"));
254 "/boot/system/develop/headers/os/add-ons/tracker"));
256 "/boot/system/develop/headers/os/be_apps/Deskbar"));
258 "/boot/system/develop/headers/os/be_apps/NetPositive"));
260 "/boot/system/develop/headers/os/be_apps/Tracker"));
262 "/boot/system/develop/headers/3rdparty"));
264 "/boot/system/develop/headers/bsd"));
266 "/boot/system/develop/headers/glibc"));
268 "/boot/system/develop/headers/gnu"));
270 "/boot/system/develop/headers/posix"));
272 "/boot/system/develop/headers"));
276llvm::opt::ArgStringList &CC1Args)
const{
278 concat(
getDriver().SysRoot,
"/boot/system/develop/headers/c++/v1"));
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...
InputInfo - Wrapper for information about an input source.
const char * getFilename() const
The JSON file list parser is used to communicate input to InstallAPI.
static constexpr ResponseFileSupport AtFileCurCP()
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4