Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2015-08-14 | Fix several issues in outer operation recipe override logic | Boris Kolpackov | 1 | -0/+40 | |
2015-08-13 | Rework postponed logic | Boris Kolpackov | 1 | -1/+1 | |
Specifically, now postponed is only used by the execution mode logic and rules should not return it directly. | |||||
2015-08-03 | match_only rework, part 2 | Boris Kolpackov | 1 | -0/+6 | |
2015-07-31 | Essential install module functionality | Boris Kolpackov | 1 | -34/+88 | |
2015-07-29 | Initial support for target type/pattern-specific variables | Boris Kolpackov | 1 | -1/+44 | |
2015-07-24 | Add support for generated test input/output | Boris Kolpackov | 1 | -2/+2 | |
2015-07-24 | Further test module development | Boris Kolpackov | 1 | -1/+2 | |
2015-07-21 | Improve nested operations support | Boris Kolpackov | 1 | -1/+1 | |
The idea is this: we need to be able to override "conditional, inner for outer" recipes with the "unconditional inner" ones. Here is the concrete scenario: we have {update, test} action and the lib{} target that is both mentioned as a prerequisite of ./ and exe{}, which is a test. At first, we want to ignore lib{} when reached as a prerequisite of ./. But then we get to it via exe{} (which is a test and thus should be updated). At this point we should override the recipe for lib{} with the one that would update it rather than ignore. | |||||
2015-07-21 | Add alias{} target type, use as base for dir{} | Boris Kolpackov | 1 | -4/+14 | |
2015-07-07 | Rework module architecture | Boris Kolpackov | 1 | -77/+0 | |
Now the target type and rule maps are in scopes (builtins -- in global scope). We also now have the map of loaded modules in the root scope of each project. | |||||
2015-07-01 | Group state support | Boris Kolpackov | 1 | -1/+2 | |
2015-07-01 | Cleanup group "see through" design | Boris Kolpackov | 1 | -15/+19 | |
2015-06-30 | Group "see through" iteration, take 1 | Boris Kolpackov | 1 | -0/+12 | |
2015-06-26 | Part two of dependency injection with auto-generation support | Boris Kolpackov | 1 | -0/+11 | |
2015-06-25 | Part one of dependency injection with auto-generation support | Boris Kolpackov | 1 | -1/+9 | |
2015-06-24 | First take on the cli module plus necessary infrastructure | Boris Kolpackov | 1 | -14/+60 | |
2015-06-18 | Move path_mtime to filesystem, rename file_mtime, follow symlinks | Boris Kolpackov | 1 | -3/+8 | |
2015-05-22 | Avoid relying on static initialization order | Boris Kolpackov | 1 | -16/+14 | |
2015-05-11 | Correct copyright | Boris Kolpackov | 1 | -1/+1 | |
2015-04-24 | Implement lib/liba/libso{} target group, shared/static library build | Boris Kolpackov | 1 | -19/+3 | |
2015-04-17 | Search in target group during variable lookup | Boris Kolpackov | 1 | -3/+7 | |
2015-04-17 | Add support for target groups, use to handle obj/obja/objso object targets | Boris Kolpackov | 1 | -14/+16 | |
2015-04-15 | New variables architecture | Boris Kolpackov | 1 | -4/+21 | |
Now operator[] is only used for lookup. | |||||
2015-04-15 | Initial library support | Boris Kolpackov | 1 | -0/+37 | |
2015-04-13 | Add separate type to represent directory paths | Boris Kolpackov | 1 | -19/+19 | |
2015-04-07 | Provide more convenient access to root scope | Boris Kolpackov | 1 | -8/+23 | |
2015-03-27 | Rework dependency state dump support | Boris Kolpackov | 1 | -1/+1 | |
We now have a combined (scopes, variables, and targets) dump. | |||||
2015-03-24 | Make meta-operations control build loop; add disfigure skeleton | Boris Kolpackov | 1 | -5/+5 | |
2015-03-13 | Add support for "first" and "last" execution modes | Boris Kolpackov | 1 | -5/+12 | |
2015-03-12 | Implement clean operation | Boris Kolpackov | 1 | -2/+15 | |
2015-03-10 | Further operation implementation | Boris Kolpackov | 1 | -0/+2 | |
2015-03-09 | Build according to buildspec | Boris Kolpackov | 1 | -31/+109 | |
At this stage operations are still ignored. | |||||
2015-03-04 | Move roots and bases to appropriate scopes | Boris Kolpackov | 1 | -1/+1 | |
2015-03-03 | Implement new default target logic, canonical directory name (empty value) | Boris Kolpackov | 1 | -1/+0 | |
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 | 1 | -3/+5 | |
2015-02-27 | Variable assignment, appending support | Boris Kolpackov | 1 | -1/+1 | |
2015-02-24 | Use prefix_map for scopes, establish root scope | Boris Kolpackov | 1 | -1/+1 | |
2015-02-24 | Add fsdir{} for creating directories | Boris Kolpackov | 1 | -0/+9 | |
2015-02-23 | Don't create new target for alias/action/dir prerequisite | Boris Kolpackov | 1 | -1/+16 | |
2015-02-23 | Redo rule match/build logic | Boris Kolpackov | 1 | -40/+122 | |
Now the rule is fully responsible for searching, matching, and building of prerequisites. | |||||
2015-02-20 | Rename 'directory' to 'dir' in target, prerequisite | Boris Kolpackov | 1 | -2/+2 | |
2015-02-20 | Rework extension handling logic | Boris Kolpackov | 1 | -1/+1 | |
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 | 1 | -2/+14 | |
2015-01-20 | Diagnostic infrastructure revamp | Boris Kolpackov | 1 | -3/+3 | |
2015-01-16 | Implement rule chaining for cxx::link | Boris Kolpackov | 1 | -2/+44 | |
2015-01-14 | Track file extension in target, prerequisite | Boris Kolpackov | 1 | -1/+6 | |
2015-01-08 | Implement tracing support | Boris Kolpackov | 1 | -2/+14 | |
Also use to-relative path translation in diagnostics. | |||||
2014-12-18 | Initial support for loading dependency info from buildfiles | Boris Kolpackov | 1 | -8/+17 | |
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-10 | Add rules | Boris Kolpackov | 1 | -0/+38 | |
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 |