- (*i)->configure(opts, flag&2);
- if((*i)->get_need_path())
- (*i)->set_path(config.get_option((*i)->get_name()+"_path").value);
+ init_config();
+
+ if(flag && config.process(opts) && !builder.get_dry_run())
+ {
+ if(builder.get_verbose()>=2)
+ cout<<"Configuration of "<<name<<" changed\n";
+ config.save(source/".options.cache");
+ }
+
+ for(PackageList::iterator i=all_reqs.begin(); i!=all_reqs.end(); ++i)
+ {
+ if((*i)->get_need_path())
+ (*i)->set_path(config.get_option((*i)->get_name()+"_path").value);
+ (*i)->configure(opts, flag&2);
+ }