return new CSourceFile(builder, path);
}
-Target *GnuCompiler::create_target(const list<Target *> &sources, const string &)
+Target *GnuCompiler::create_target(const vector<Target *> &sources, const string &)
{
if(sources.size()!=1)
- throw invalid_argument("GnuCCompiler::create_target");
+ throw invalid_argument("GnuCompiler::create_target");
SourceFile &source = dynamic_cast<SourceFile &>(*sources.front());
ObjectFile *obj = new ObjectFile(builder, *source.get_component(), source);
obj->set_tool(*this);
if(!executable)
return string();
- string result = FS::basename(executable->get_path());
+ string result = Tool::create_build_signature(binfo);
if(!architecture->get_cpu().empty())
{
result += ",m";
result += architecture->get_cpu();
}
- result += ',';
+ if(binfo.debug || binfo.optimize)
+ result += ',';
if(binfo.debug)
result += 'g';
if(binfo.optimize)
argv.push_back("--sysroot="+sysroot.str());
argv.push_back("-");
- builder.get_logger().log("auxcommands", format("Running %s", join(argv.begin(), argv.end())));
+ builder.get_logger().log("auxcommands", "Running %s", join(argv.begin(), argv.end()));
try
{
string output = ExternalTask::run_and_capture_output(argv, FS::Path(), true);
else if(record_path)
{
FS::Path path = strip(output.substr(start, newline-start));
- builder.get_logger().log("tools", format("Got %s system path: %s", tag, path));
+ builder.get_logger().log("tools", "Got %s system path: %s", tag, path);
system_path.push_back(path);
}
start = newline+1;
if(!path_found)
{
- builder.get_logger().log("tools", format("No %s system path found, using defaults", tag));
+ builder.get_logger().log("tools", "No %s system path found, using defaults", tag);
if(!sysroot.empty())
system_path.push_back(sysroot/"usr/include");
else if(architecture->is_native())
system_path.push_back("/usr/include");
else
- system_path.push_back("/usr/"+architecture->get_cross_prefix()+"/include");
+ system_path.push_back(format("/usr/%s/include", architecture->get_cross_prefix()));
}
}
prepare_version("-dumpversion");
if(version>=0x70000)
prepare_version("-dumpfullversion");
- builder.get_logger().log("tools", format("%s version is %d.%d.%d", FS::basename(executable->get_path()), version>>16, (version>>8)&0xFF, version&0xFF));
+ builder.get_logger().log("tools", "%s version is %d.%d.%d", FS::basename(executable->get_path()), version>>16, (version>>8)&0xFF, version&0xFF);
}
void GnuCompiler::prepare_version(const string &arg)
argv.push_back(executable->get_path().str());
argv.push_back(arg);
- builder.get_logger().log("auxcommands", format("Running %s", join(argv.begin(), argv.end())));
+ builder.get_logger().log("auxcommands", "Running %s", join(argv.begin(), argv.end()));
try
{
string version_str = strip(ExternalTask::run_and_capture_output(argv));