*/
#include <msp/strings/utils.h>
+#include "builder.h"
#include "condition.h"
#include "sourcepackage.h"
}
}
-void Condition::resolve_refs()
-{
- for(PkgRefList::iterator i=requires.begin(); i!=requires.end(); ++i)
- i->resolve();
-}
-
bool Condition::eval()
{
const Config &conf=pkg.get_config();
if(i->second[1]=='=')
++start;
- if((conf.get_option(i->first).value==i->second.substr(start))==neg)
+ string value;
+ if(conf.is_option(i->first))
+ value=conf.get_option(i->first).value;
+ else if(i->first=="arch")
+ value=pkg.get_builder().get_current_arch().get_name();
+
+ if((value==i->second.substr(start))==neg)
result=false;
}
void Condition::Loader::require(const string &pkg)
{
- cond.requires.push_back(PackageRef(cond.pkg.get_builder(), pkg));
+ cond.requires.push_back(pkg);
}
void Condition::Loader::build_info()