void SourcePackage::create_build_info()
{
- build_info.update_from(builder.get_current_arch().get_build_info());
-
// XXX Currently, a package-specific settings will override cmdline. This might or might not be desirable.
const StringList &warnings = builder.get_warnings();
build_info.warnings.insert(build_info.warnings.begin(), warnings.begin(), warnings.end());
string optimize = config.get_option("optimize").value;
if(!optimize.empty() && optimize!="0")
{
- build_info.cflags.push_back("-O"+optimize);
- build_info.ldflags.push_back("-O"+optimize);
+ if(optimize=="s" || optimize=="size")
+ build_info.optimize = -1;
+ else
+ build_info.optimize = lexical_cast<unsigned>(optimize);
}
if(lexical_cast<bool>(config.get_option("debug").value))
{
- build_info.cflags.push_back("-ggdb");
- build_info.defines.push_back("DEBUG");
+ build_info.debug = true;
+ build_info.defines["DEBUG"] = "1";
}
for(FeatureList::iterator i=features.begin(); i!=features.end(); ++i)
if(lexical_cast<bool>(config.get_option("with_"+i->name).value))
- build_info.cflags.push_back("-DWITH_"+toupper(i->name));
+ build_info.defines["WITH_"+toupper(i->name)] = "1";
for(ConditionList::iterator i=conditions.begin(); i!=conditions.end(); ++i)
if(i->eval())