+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
#include <msp/strings/utils.h>
#include "condition.h"
-#include "package.h"
+#include "sourcepackage.h"
using namespace std;
using namespace Msp;
-#include <iostream>
-
-Condition::Condition(Package &p, const string &expr):
+Condition::Condition(SourcePackage &p, const string &expr):
pkg(p)
{
vector<string> parts=split(expr);
{
if(*i=="and")
continue;
-
+
unsigned token=i->find_first_of("=!");
if(token==string::npos)
expression.insert(StringMap::value_type(*i, "!0"));
}
}
-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();
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()