X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcondition.cpp;h=4b45dca51f2eeaf06a13880d2c214b3fe557d594;hb=c679a9dd1a97ae3b1ffa568143d42d02c2ca9e74;hp=97e93f1b1c6d5d3780df328a0dfc3925e1e44923;hpb=445edbc3c42bbd7880cc414cf153ddfd196bfc1c;p=builder.git diff --git a/source/condition.cpp b/source/condition.cpp index 97e93f1..4b45dca 100644 --- a/source/condition.cpp +++ b/source/condition.cpp @@ -1,13 +1,18 @@ +/* $Id$ + +This file is part of builder +Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #include #include "condition.h" -#include "package.h" +#include "sourcepackage.h" using namespace std; using namespace Msp; -#include - -Condition::Condition(Package &p, const string &expr): +Condition::Condition(SourcePackage &p, const string &expr): pkg(p) { vector parts=split(expr); @@ -16,7 +21,7 @@ Condition::Condition(Package &p, const string &expr): { if(*i=="and") continue; - + unsigned token=i->find_first_of("=!"); if(token==string::npos) expression.insert(StringMap::value_type(*i, "!0")); @@ -27,12 +32,6 @@ Condition::Condition(Package &p, const string &expr): } } -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(); @@ -62,7 +61,7 @@ Condition::Loader::Loader(Condition &c): 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()