From c0c85b67516653c181fbce7c61c2df3e31e4edd8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 18 Dec 2014 07:14:53 +0200 Subject: Initial support for loading dependency info from buildfiles Also a new iteration on the overall architecture. Now, for the first time, build can read the buildfile and build itself. g++-4.9 -std=c++14 -g -I.. -o bd bd.cxx algorithm.cxx scope.cxx parser.cxx lexer.cxx target.cxx prerequisite.cxx rule.cxx native.cxx cxx/target.cxx cxx/rule.cxx process.cxx timestamp.cxx path.cxx g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx ../../../build/parser.cxx ../../../build/scope.cxx ../../../build/target.cxx ../../../build/native.cxx ../../../build/prerequisite.cxx ../../../build/path.cxx ../../../build/timestamp.cxx --- tests/build/parser/driver.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'tests/build') diff --git a/tests/build/parser/driver.cxx b/tests/build/parser/driver.cxx index 0b83cb0..a8c8fc9 100644 --- a/tests/build/parser/driver.cxx +++ b/tests/build/parser/driver.cxx @@ -7,6 +7,10 @@ #include #include +#include +#include +#include + #include #include @@ -19,6 +23,10 @@ parse (const char*); int main () { + target_types.insert (file::static_type); + target_types.insert (exe::static_type); + target_types.insert (obj::static_type); + assert (parse ("")); assert (parse ("foo:")); assert (parse ("foo bar:")); @@ -36,7 +44,7 @@ main () assert (parse ("exe{foo bar}:")); assert (parse ("{exe{foo bar}}:")); assert (parse ("exe{{foo bar} fox}:")); - assert (parse ("exe{foo}: obj{bar baz} biz.o lib{fox}")); + assert (parse ("exe{foo}: obj{bar baz} biz.o file{fox}")); assert (!parse (":")); assert (!parse ("foo")); @@ -77,7 +85,7 @@ parse (const char* s) try { - p.parse (is, path ()); + p.parse (is, path (), scopes[path::current ()]); } catch (const parser_error&) { -- cgit v1.1