* Start of a helper tool to evaluate job expressions efficiently.
[?]
Mar 5, 2009, 2:59 PM
4N5APGRGHTKFMEJ7THSJX6TSYYAP3BUZQG73AJBKCQLXOOEHPATQCDependencies
- [2]
CLXEECMF* Start putting build results in a database.
Change contents
- file addition: c[2.4]
- file addition: Makefile[0.1]
NIX = /home/eelco/Dev/nix/instATERM = /home/eelco/Dev/nix/externals/inst-atermeval-jobs: eval-jobs.cclibtool --mode=link g++ -o eval-jobs eval-jobs.cc -I$(NIX)/include/nix -I$(ATERM)/include -L$(NIX)/lib/nix/ -lmain -lexpr -L$(ATERM)/lib -lATerm - file addition: eval-jobs.cc[0.1]
#include <map>#include <iostream>#include "shared.hh"#include "store-api.hh"#include "eval.hh"#include "parser.hh"#include "expr-to-xml.hh"using namespace nix;void printHelp(){std::cout << "Syntax: eval-jobs <expr>\n";}void run(Strings args){EvalState state;Path releaseExpr;for (Strings::iterator i = args.begin(); i != args.end(); ) {string arg = *i++;if (arg[0] == '-')throw UsageError(format("unknown flag `%1%'") % arg);elsereleaseExpr = arg;}store = openStore();Expr e = evalExpr(state, parseExprFromFile(state, releaseExpr));PathSet context;printTermAsXML(e, std::cout, context);}string programId = "eval-jobs";