aboutsummaryrefslogtreecommitdiff
path: root/build/target
AgeCommit message (Collapse)AuthorFilesLines
2015-12-01Implement support for definition target type aliasesBoris Kolpackov1-11/+24
For example: define cli=file Currently, the semantics is that of a real alias with only name differences that are used for display. See tests/define/buildfile for more use cases.
2015-11-30Don't try to install targets from other projectsBoris Kolpackov1-0/+11
2015-11-30Tighten unresolved group logicBoris Kolpackov1-14/+19
Now a wildcard/fallback rule should explicitly detect and handle unresolved situation.
2015-11-29Allow for target group members to remain unresolvedBoris Kolpackov1-6/+10
This, for example, can happen when we have a fallback rule for dist(update) or configure(update).
2015-08-27Dist module/meta-operation initial implementationBoris Kolpackov1-0/+10
2015-08-24New variable architectureBoris Kolpackov1-11/+11
2015-08-14Don't short-cut to group_state if recipe is group_recipeBoris Kolpackov1-11/+7
This way we mess up the dependents count.
2015-08-14Fix several issues in outer operation recipe override logicBoris Kolpackov1-23/+1
2015-08-13Rework postponed logicBoris Kolpackov1-19/+12
Specifically, now postponed is only used by the execution mode logic and rules should not return it directly.
2015-08-03match_only rework, part 2Boris Kolpackov1-4/+10
2015-07-31Essential install module functionalityBoris Kolpackov1-0/+68
2015-07-29Initial support for target type/pattern-specific variablesBoris Kolpackov1-2/+3
2015-07-24Add support for generated test input/outputBoris Kolpackov1-4/+18
2015-07-21Improve nested operations supportBoris Kolpackov1-5/+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-21Add alias{} target type, use as base for dir{}Boris Kolpackov1-4/+17
2015-07-20Implement pre/post operation supportBoris Kolpackov1-3/+3
Also, extend execution mode/postponed logic to propagate the postponed target state. At the top, we now re-try postponed targets. This results in the expected behavior when, for example, cleaning two targets with one depending on the other.
2015-07-20Implement support for importing installed librariesBoris Kolpackov1-0/+19
2015-07-15Implement project-qualified names/prerequisites, two-stage importBoris Kolpackov1-1/+1
2015-07-14Fix postfix operator++/-- implementationsBoris Kolpackov1-3/+3
2015-07-14Add notion of strong/weak amalgamation, make strong new clean boundaryBoris Kolpackov1-0/+7
2015-07-08Implement automatic amalgamation discoveryBoris Kolpackov1-8/+2
2015-07-07Rework module architectureBoris Kolpackov1-27/+3
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-02Various improvements to cli moduleBoris Kolpackov1-0/+6
2015-07-01Clean up group state, mtime designBoris Kolpackov1-5/+31
2015-07-01Group state supportBoris Kolpackov1-10/+35
2015-07-01Cleanup group "see through" designBoris Kolpackov1-138/+175
2015-06-30Group "see through" iteration, take 1Boris Kolpackov1-6/+219
2015-06-26Part two of dependency injection with auto-generation supportBoris Kolpackov1-0/+3
2015-06-25Part one of dependency injection with auto-generation supportBoris Kolpackov1-0/+3
2015-06-24First take on the cli module plus necessary infrastructureBoris Kolpackov1-14/+66
2015-06-22Remove prerequisite rewriting for c/cxx chainingBoris Kolpackov1-2/+1
2015-06-18Move path_mtime to filesystem, rename file_mtime, follow symlinksBoris Kolpackov1-4/+4
2015-06-18Move path and filesystem from build2 to libbutlBoris Kolpackov1-3/+1
2015-06-18Move map-key from build2 to libbutl, rename multi-indexBoris Kolpackov1-3/+3
2015-06-18Move some utilities from build2 to libbutlBoris Kolpackov1-8/+8
2015-05-22Avoid relying on static initialization orderBoris Kolpackov1-7/+22
2015-05-11Correct copyrightBoris Kolpackov1-1/+1
2015-04-28Second iteration over import/export supportBoris Kolpackov1-3/+3
2015-04-26Rework resolved prerequisite targets storageBoris Kolpackov1-33/+31
2015-04-24Implement lib/liba/libso{} target group, shared/static library buildBoris Kolpackov1-23/+146
2015-04-17Search in target group during variable lookupBoris Kolpackov1-5/+8
2015-04-17Add support for target groups, use to handle obj/obja/objso object targetsBoris Kolpackov1-60/+84
2015-04-15New variables architectureBoris Kolpackov1-9/+33
Now operator[] is only used for lookup.
2015-04-15Initial library supportBoris Kolpackov1-3/+34
2015-04-13Add separate type to represent directory pathsBoris Kolpackov1-7/+7
2015-04-07Provide more convenient access to root scopeBoris Kolpackov1-0/+13
2015-03-25Configure/disfigure src_root saving/removing support; fsdir{} injectionBoris Kolpackov1-0/+3
We can now build out-of-tree.
2015-03-24Make meta-operations control build loop; add disfigure skeletonBoris Kolpackov1-34/+36
2015-03-13Rename set_key to map_key; feels more correctBoris Kolpackov1-1/+1
2015-03-13Add support for "first" and "last" execution modesBoris Kolpackov1-3/+6