result += 'd';
if(binfo.strip)
result += 's';
- result += ",l";
- result += join(binfo.libs.begin(), binfo.libs.end(), ",l");
+ if(!binfo.libs.empty())
+ {
+ result += ",l";
+ result += join(binfo.libs.begin(), binfo.libs.end(), ",l");
+ }
return result;
}
}
}
- const BuildInfo &binfo = comp.get_build_info();
+ BuildInfo binfo;
+ target.collect_build_info(binfo);
for(BuildInfo::PathList::const_iterator i=binfo.libpath.begin(); i!=binfo.libpath.end(); ++i)
argv.push_back("-L"+i->str());
if(binfo.strip)
argv.push_back("-pthread");
const Architecture &native_arch = builder.get_native_arch();
- if(architecture->get_bits()!=native_arch.get_bits())
+ if(architecture->is_native() && architecture->get_bits()!=native_arch.get_bits())
argv.push_back(format("-m%d", architecture->get_bits()));
argv.push_back("-o");
}
}
+ for(BuildInfo::WordList::const_iterator i=binfo.libs.begin(); i!=binfo.libs.end(); ++i)
+ if(i->size()>10 && !i->compare(i->size()-10, 10, ".framework"))
+ {
+ argv.push_back("-framework");
+ argv.push_back(i->substr(0, i->size()-10));
+ }
+
if(static_link_ok)
argv.push_back("-static");
else if(architecture->get_system()=="windows")