Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2015-03-09 | Add meta/operation lists, lift operations in buildspec | Boris Kolpackov | 6 | -30/+149 | |
2015-03-09 | Add support for skipping already loaded/included buildfiles at top level | Boris Kolpackov | 5 | -15/+32 | |
The idea is that a buildfile shall be included/loaded only once for any given out_root. | |||||
2015-03-09 | Build according to buildspec | Boris Kolpackov | 9 | -248/+406 | |
At this stage operations are still ignored. | |||||
2015-03-07 | Add support for buildspec | Boris Kolpackov | 7 | -18/+402 | |
2015-03-06 | Add support for lexing and parsing name pairs | Boris Kolpackov | 6 | -46/+218 | |
We will need it for the buildspec and also if/when we support map variable types. | |||||
2015-03-04 | Treat names that end with directory separators as directories | Boris Kolpackov | 2 | -28/+57 | |
2015-03-04 | Move roots and bases to appropriate scopes | Boris Kolpackov | 18 | -111/+424 | |
2015-03-03 | Use names() to handle include/source, support include of directories | Boris Kolpackov | 4 | -20/+57 | |
This gives us variable expansion and directory prefixes. Also, in include, if the path is a directory (either ends with / or has dir{} type), then we append 'buildfile'. | |||||
2015-03-03 | Implement new default target logic, canonical directory name (empty value) | Boris Kolpackov | 6 | -145/+158 | |
The logic is as follows: if we have an explicit current directory target, then that's the default target. Otherwise, we take the first target and use it as a prerequisite to create an implicit current directory target, effectively making it the default target via an alias. If there are no targets in this buildfile, then we don't do anything. | |||||
2015-03-02 | Cleanup to support clang compilation | Boris Kolpackov | 5 | -45/+39 | |
2015-03-02 | Implement variable expansion | Boris Kolpackov | 5 | -20/+230 | |
2015-03-02 | Indicate whether token is separated from previous one by whitespaces | Boris Kolpackov | 5 | -92/+117 | |
2015-03-02 | Implement value lexing mode | Boris Kolpackov | 2 | -20/+67 | |
So that we can do foo=g++ without having to resort to quoting | |||||
2015-03-02 | Clean up clang warnings | Boris Kolpackov | 7 | -18/+19 | |
2015-02-27 | Variable assignment, appending support | Boris Kolpackov | 20 | -54/+493 | |
2015-02-26 | Support for scope parents, initial variable support | Boris Kolpackov | 9 | -40/+134 | |
2015-02-24 | Sort out diagnostics for mkdir | Boris Kolpackov | 4 | -12/+54 | |
2015-02-24 | Use prefix_map for scopes, establish root scope | Boris Kolpackov | 11 | -14/+120 | |
2015-02-24 | Make empty key to always be prefix in prefix_map | Boris Kolpackov | 3 | -14/+15 | |
2015-02-24 | Add fsdir{} for creating directories | Boris Kolpackov | 5 | -1/+103 | |
2015-02-23 | Clean up file names | Boris Kolpackov | 6 | -7/+7 | |
2015-02-23 | Rename "select" to "apply" | Boris Kolpackov | 5 | -12/+12 | |
2015-02-23 | Don't create new target for alias/action/dir prerequisite | Boris Kolpackov | 2 | -3/+18 | |
2015-02-23 | Redo rule match/build logic | Boris Kolpackov | 22 | -416/+891 | |
Now the rule is fully responsible for searching, matching, and building of prerequisites. | |||||
2015-02-20 | Get rid of parse_ prefix in parser function names | Boris Kolpackov | 2 | -32/+32 | |
2015-02-20 | Rename 'directory' to 'dir' in target, prerequisite | Boris Kolpackov | 7 | -25/+23 | |
2015-02-20 | Rework extension handling logic | Boris Kolpackov | 7 | -64/+55 | |
We no longer support hxx{vector.}. Rather, the target type can decide, e.g., based on a config variable, whether to append an extension. Also, in the future we may support a syntax to specify that this is a complete name, e.g., hxx{'vector'}. | |||||
2015-02-19 | Add support for sourcing/including buildfiles, print, dir{} alias | Boris Kolpackov | 25 | -121/+542 | |
2015-01-20 | Diagnostic infrastructure revamp | Boris Kolpackov | 24 | -437/+662 | |
2015-01-16 | Add support for directory prefixes | Boris Kolpackov | 5 | -19/+73 | |
For example: cxx{driver ../{foo bar}} cxx{driver} ../cxx{foo bar} | |||||
2015-01-16 | Implement rule chaining for cxx::link | Boris Kolpackov | 19 | -229/+387 | |
2015-01-15 | Implement rule ambiguity detection | Boris Kolpackov | 6 | -21/+111 | |
Also establish the infrastructure for rule hinting | |||||
2015-01-15 | Allow specifying prefix_map delimiter as template argument | Boris Kolpackov | 2 | -10/+31 | |
2015-01-14 | Implement prefix_map | Boris Kolpackov | 4 | -0/+319 | |
2015-01-14 | Track file extension in target, prerequisite | Boris Kolpackov | 14 | -34/+244 | |
2015-01-08 | Implement tracing support | Boris Kolpackov | 18 | -28/+544 | |
Also use to-relative path translation in diagnostics. | |||||
2015-01-05 | Rename 'bd' to 'b' | Boris Kolpackov | 3 | -4/+7 | |
What the heck, let's be bold, right? | |||||
2015-01-05 | Determine work, home, and {src,out}_{root,base} directories | Boris Kolpackov | 6 | -4/+160 | |
2014-12-18 | Initial support for loading dependency info from buildfiles | Boris Kolpackov | 22 | -185/+783 | |
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 | |||||
2014-12-15 | Parse directory scopes | Boris Kolpackov | 7 | -72/+174 | |
2014-12-12 | Initial buildfile parser implementation | Boris Kolpackov | 8 | -38/+327 | |
g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx ../../../build/parser.cxx && ./driver | |||||
2014-12-12 | Add test for lexer | Boris Kolpackov | 3 | -2/+131 | |
g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx && ./driver | |||||
2014-12-11 | Initial lexer implementation for buildfiles | Boris Kolpackov | 6 | -1/+438 | |
2014-12-11 | Improve diagnostics and error handling | Boris Kolpackov | 4 | -56/+143 | |
g++-4.9 -std=c++14 -g -I.. -o bd bd.cxx target.cxx native.cxx rule.cxx cxx/rule.cxx cxx/target.cxx process.cxx timestamp.cxx path.cxx | |||||
2014-12-11 | Initial implementation of dependency injection (g++ -M output) | Boris Kolpackov | 3 | -8/+155 | |
2014-12-10 | Add rules | Boris Kolpackov | 13 | -93/+792 | |
g++-4.9 -std=c++11 -g -I.. -o bd bd.cxx target.cxx native.cxx rule.cxx cxx/rule.cxx cxx/target.cxx process.cxx timestamp.cxx path.cxx | |||||
2014-12-08 | Add filesystem path class | Boris Kolpackov | 4 | -0/+716 | |
g++-4.9 -std=c++11 -I.. -o bd bd.cxx process.cxx timestamp.cxx path.cxx | |||||
2014-12-05 | Add support for starting processes, getting file timestamps | Boris Kolpackov | 6 | -13/+690 | |
g++-4.9 -std=c++11 -I.. -o bd bd.cxx process.cxx timestamp.cxx | |||||
2014-12-03 | Add .gitignore files | Boris Kolpackov | 2 | -0/+8 | |
2014-12-03 | Initial build tool sketch (simulation) | Boris Kolpackov | 2 | -0/+132 | |
To build: g++-4.9 -std=c++11 -g -I.. -o bd bd.cxx |