X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgnucompiler.cpp;h=b8b25152e70acfce73e0c9f9e313daf8460f3979;hb=5e00719d0c63e306786ff36df61797cdbc86f3e9;hp=2928cbfe21b30c88ea0b1d8a538ade7449b2f443;hpb=c3968651eb8a2ba66a95398f0571dd5afd37225c;p=builder.git diff --git a/source/gnucompiler.cpp b/source/gnucompiler.cpp index 2928cbf..b8b2515 100644 --- a/source/gnucompiler.cpp +++ b/source/gnucompiler.cpp @@ -69,7 +69,7 @@ Target *GnuCompiler::create_source(const FS::Path &path) const return new CSourceFile(builder, path); } -Target *GnuCompiler::create_target(const list &sources, const string &) +Target *GnuCompiler::create_target(const vector &sources, const string &) { if(sources.size()!=1) throw invalid_argument("GnuCompiler::create_target"); @@ -84,13 +84,14 @@ string GnuCompiler::create_build_signature(const BuildInfo &binfo) const 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) @@ -125,7 +126,7 @@ void GnuCompiler::prepare_syspath() 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); @@ -144,7 +145,7 @@ void GnuCompiler::prepare_syspath() 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; @@ -156,13 +157,13 @@ void GnuCompiler::prepare_syspath() 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())); } } @@ -174,7 +175,7 @@ void GnuCompiler::prepare_version() 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) @@ -183,7 +184,7 @@ 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));