aboutsummaryrefslogtreecommitdiff
path: root/build/config/operation.cxx
AgeCommit message (Collapse)AuthorFilesLines
2015-08-31Rework scoping logicBoris Kolpackov1-7/+7
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-29New configure meta-operation implementationBoris Kolpackov1-13/+32
Now we search and match (but do not execute) a rule for every operation supported by the project.
2015-08-27Dist module/meta-operation initial implementationBoris Kolpackov1-12/+22
2015-08-24New variable architectureBoris Kolpackov1-33/+24
2015-07-23Basic test supportBoris Kolpackov1-3/+3
2015-07-20Implement pre/post operation supportBoris Kolpackov1-6/+10
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-14Add notion of strong/weak amalgamation, make strong new clean boundaryBoris Kolpackov1-3/+2
2015-07-13Implement subproject importBoris Kolpackov1-3/+3
2015-07-13Make subprojects list of name=subdir pairsBoris Kolpackov1-0/+6
2015-07-10Implement automatic subproject discoveryBoris Kolpackov1-6/+21
Currently we only capture their directories without the project names. We will need project names when we hook import search into this.
2015-07-08Implement automatic amalgamation discoveryBoris Kolpackov1-11/+12
2015-07-07Relax requirement on amalgamation src_root to track sub-projectBoris Kolpackov1-1/+1
2015-07-07Rework module architectureBoris Kolpackov1-1/+2
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-06-24First take on the cli module plus necessary infrastructureBoris Kolpackov1-1/+1
2015-06-18Move path and filesystem from build2 to libbutlBoris Kolpackov1-1/+3
2015-05-11Correct copyrightBoris Kolpackov1-1/+1
2015-04-20Automatically decide when to print relative/absolute pathsBoris Kolpackov1-9/+3
2015-04-15New variables architectureBoris Kolpackov1-6/+5
Now operator[] is only used for lookup.
2015-04-13Add separate type to represent directory pathsBoris Kolpackov1-16/+17
2015-04-08Inherit list_value directly from namesBoris Kolpackov1-4/+4
2015-04-08Add note to generated config.build about inherited configurationBoris Kolpackov1-3/+15
2015-04-08Distinguish between undefined and null variablesBoris Kolpackov1-4/+4
2015-04-08Support for disfiguring subprojectsBoris Kolpackov1-39/+80
2015-04-08Configure subprojects that were loadedBoris Kolpackov1-29/+54
2015-04-07Provide more convenient access to root scopeBoris Kolpackov1-7/+9
2015-04-02Handle "nothing to be done" case for disfigureBoris Kolpackov1-12/+36
2015-04-02Implement translation of meta/operations to natural languageBoris Kolpackov1-0/+6
2015-04-01Warn about configured/command line value mismatchBoris Kolpackov1-12/+25
Also store configured but unspecified values
2015-04-01Implement initial C++ configuration supportBoris Kolpackov1-7/+6
2015-03-31Save config.buildBoris Kolpackov1-0/+54
2015-03-25Configure/disfigure src_root saving/removing support; fsdir{} injectionBoris Kolpackov1-9/+157
We can now build out-of-tree.
2015-03-24Make meta-operations control build loop; add disfigure skeletonBoris Kolpackov1-1/+55
2015-03-20New consolidated load/match/build loopBoris Kolpackov1-0/+2
2015-03-18Implement complete root/base detection, basic module supportBoris Kolpackov1-0/+14
This is the initial groundwork for the configuration support.