]> git.tdb.fi Git - builder.git/blobdiff - source/condition.cpp
Remove deprecated features
[builder.git] / source / condition.cpp
diff --git a/source/condition.cpp b/source/condition.cpp
deleted file mode 100644 (file)
index 413870e..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <msp/strings/utils.h>
-#include "builder.h"
-#include "condition.h"
-#include "sourcepackage.h"
-
-using namespace std;
-using namespace Msp;
-
-Condition::Condition(SourcePackage &p, const string &expr):
-       pkg(p)
-{
-       vector<string> parts = split(expr);
-
-       for(vector<string>::iterator i=parts.begin(); i!=parts.end(); ++i)
-       {
-               if(*i=="and")
-                       continue;
-
-               string::size_type token = i->find_first_of("=!");
-               if(token==string::npos)
-                       expression.insert(Expression::value_type(*i, "="));
-               else if(token==0 && (*i)[0]=='!')
-                       expression.insert(Expression::value_type(i->substr(1), "!"));
-               else
-                       expression.insert(Expression::value_type(i->substr(0, token), i->substr(token)));
-       }
-}
-
-bool Condition::eval()
-{
-       const Config &conf = pkg.get_config();
-
-       bool result = true;
-       for(Expression::iterator i=expression.begin(); i!=expression.end(); ++i)
-       {
-               bool neg = (i->second[0]=='!');
-               unsigned start = 1;
-               if(i->second[1]=='=')
-                       ++start;
-               string value = i->second.substr(start);
-
-               bool match = false;
-               if(conf.is_option(i->first))
-               {
-                       if(value.empty())
-                               match = lexical_cast<bool>(conf.get_option(i->first).value);
-                       else
-                               match = (conf.get_option(i->first).value==value);
-               }
-               else if(i->first=="arch")
-                       match = pkg.get_builder().get_current_arch().match_name(value);
-
-               if(match==neg)
-                       result = false;
-       }
-
-       return result;
-}
-
-
-Condition::Loader::Loader(Condition &c):
-       DataFile::ObjectLoader<Condition>(c)
-{
-       add("require",    &Loader::require);
-       add("build_info", &Loader::build_info);
-}
-
-void Condition::Loader::require(const string &pkg)
-{
-       obj.requires.push_back(pkg);
-}
-
-void Condition::Loader::build_info()
-{
-       load_sub(obj.build_info);
-}