/// Only print tool bindings, don't build any jobs.
bool CCCPrintBindings : 1;
+ /// Name to use when calling the generic gcc.
+ std::string CCCGenericGCCName;
+
private:
/// Use the clang compiler where possible.
bool CCCUseClang : 1;
DefaultImageName(_DefaultImageName),
Host(0),
CCCIsCXX(false), CCCEcho(false), CCCPrintBindings(false),
- CCCUseClang(true), CCCUseClangCXX(false), CCCUseClangCPP(true),
+ CCCGenericGCCName("gcc"), CCCUseClang(true), CCCUseClangCXX(false),
+ CCCUseClangCPP(true),
SuppressMissingInputWarning(false)
{
// Only use clang on i386 and x86_64 by default.
} else if (!strcmp(Opt, "echo")) {
CCCEcho = true;
+ } else if (!strcmp(Opt, "gcc-name")) {
+ assert(Start+1 < End && "FIXME: -ccc- argument handling.");
+ CCCGenericGCCName = *++Start;
+
} else if (!strcmp(Opt, "clang-cxx")) {
CCCUseClangCXX = true;
} else if (!strcmp(Opt, "no-clang")) {
II.getInputArg().render(Args, CmdArgs);
}
+ const char *GCCName =
+ getToolChain().getHost().getDriver().CCCGenericGCCName.c_str();
const char *Exec =
- Args.MakeArgString(getToolChain().GetProgramPath(C, "gcc").c_str());
+ Args.MakeArgString(getToolChain().GetProgramPath(C, GCCName).c_str());
Dest.addCommand(new Command(Exec, CmdArgs));
}