aboutsummaryrefslogtreecommitdiff
path: root/build/algorithm.ixx
AgeCommit message (Collapse)AuthorFilesLines
2015-08-31Rework scoping logicBoris Kolpackov1-2/+2
Now the src directory is entered into the scope map and points to the same scope as out. This means that targets that are in src, not out (e.g., source files) will "see" rules, variables, etc. This becomes important when we try, for example, to install a source file (say, a header) from src: we need the rule as well as the install.* variables.
2015-08-14Rework meta/operation registrationBoris Kolpackov1-4/+4
We now have global tables for meta/operation. Plus each can then be enabled on the per-project basis.
2015-08-13Rework postponed logicBoris Kolpackov1-7/+24
Specifically, now postponed is only used by the execution mode logic and rules should not return it directly.
2015-08-03Fix few bugsBoris Kolpackov1-1/+2
2015-08-03match_only and dependents count rework, part 1Boris Kolpackov1-0/+7
2015-07-24Add support for generated test input/outputBoris Kolpackov1-9/+18
2015-07-22Fix postponed re-examination logicBoris Kolpackov1-1/+4
Now postponed takes precedence over changed.
2015-07-21Improve nested operations supportBoris Kolpackov1-3/+9
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-15Implement project-qualified names/prerequisites, two-stage importBoris Kolpackov1-2/+7
2015-07-14Add notion of strong/weak amalgamation, make strong new clean boundaryBoris Kolpackov1-3/+7
2015-07-01Group state supportBoris Kolpackov1-5/+28
2015-07-01Cleanup group "see through" designBoris Kolpackov1-3/+23
2015-06-30Group "see through" iteration, take 1Boris Kolpackov1-1/+8
2015-06-26Part two of dependency injection with auto-generation supportBoris Kolpackov1-0/+11
2015-06-24First take on the cli module plus necessary infrastructureBoris Kolpackov1-3/+15
2015-06-22Remove prerequisite rewriting for c/cxx chainingBoris Kolpackov1-2/+21
2015-05-22Get rid of gcc, clang warnings (-Wall)Boris Kolpackov1-1/+1
2015-05-11Correct copyrightBoris Kolpackov1-1/+1
2015-04-26Rework resolved prerequisite targets storageBoris Kolpackov1-14/+0
2015-04-24Implement lib/liba/libso{} target group, shared/static library buildBoris Kolpackov1-5/+5
2015-04-17Add support for target groups, use to handle obj/obja/objso object targetsBoris Kolpackov1-4/+20
2015-03-13Add support for "first" and "last" execution modesBoris Kolpackov1-1/+11
2015-03-12Implement clean operationBoris Kolpackov1-0/+27
2015-03-10Further operation implementationBoris Kolpackov1-4/+4
2015-02-23Redo rule match/build logicBoris Kolpackov1-0/+16
Now the rule is fully responsible for searching, matching, and building of prerequisites.