- if(builder.get_verbose()>=2)
- IO::print("Configuration of %s changed\n", name);
+ builder.get_logger().log("configure", format("Configuration of %s changed", name));
{
const StringList &reqs = i->get_requires();
for(StringList::const_iterator j=reqs.begin(); j!=reqs.end(); ++j)
{
const StringList &reqs = i->get_requires();
for(StringList::const_iterator j=reqs.begin(); j!=reqs.end(); ++j)
// 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());
// 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());
- 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);
}
for(FeatureList::iterator i=features.begin(); i!=features.end(); ++i)
if(lexical_cast<bool>(config.get_option("with_"+i->name).value))
}
for(FeatureList::iterator i=features.begin(); i!=features.end(); ++i)
if(lexical_cast<bool>(config.get_option("with_"+i->name).value))
for(ConditionList::iterator i=conditions.begin(); i!=conditions.end(); ++i)
if(i->eval())
build_info.update_from(i->get_build_info());
for(ConditionList::iterator i=conditions.begin(); i!=conditions.end(); ++i)
if(i->eval())
build_info.update_from(i->get_build_info());
for(list<Component>::iterator i=components.begin(); i!=components.end(); ++i)
{
i->create_build_info();
if(i->get_type()==Component::LIBRARY)
export_binfo.libs.push_back(i->get_name());
}
for(list<Component>::iterator i=components.begin(); i!=components.end(); ++i)
{
i->create_build_info();
if(i->get_type()==Component::LIBRARY)
export_binfo.libs.push_back(i->get_name());
}
+}
+
+void SourcePackage::create_targets()
+{
+ bool pc_needed = false;
+ for(ComponentList::const_iterator i=components.begin(); i!=components.end(); ++i)
+ {
+ i->create_targets();
+ if(i->get_type()==Component::LIBRARY || i->get_type()==Component::HEADERS)
+ pc_needed = true;
+ }