bool static_link_ok = (binfo.libmode<=BuildInfo::STATIC);
- if(architecture->get_system()=="windows" && architecture->get_cross_prefix().find("mingw")!=string::npos)
- argv.push_back("-lmingw32");
-
const Target::Dependencies &depends = target.get_dependencies();
for(Target::Dependencies::const_iterator i=depends.begin(); i!=depends.end(); ++i)
{
if(static_link_ok)
argv.push_back("-static");
- else if(architecture->get_system()=="windows")
- argv.push_back("-Wl,--enable-auto-import");
+ else
+ {
+ if(compiler_tag=="CXX")
+ {
+ BuildInfo::LibModeMap::const_iterator i = binfo.libmodes.find("stdc++");
+ if(i!=binfo.libmodes.end() && i->second<=BuildInfo::STATIC)
+ argv.push_back("-static-libstdc++");
+ }
+
+ if(architecture->get_system()=="windows")
+ argv.push_back("-Wl,--enable-auto-import");
+ }
return new ExternalTask(argv, work_dir);
}