aboutsummaryrefslogtreecommitdiff
path: root/build/config
AgeCommit message (Collapse)AuthorFilesLines
2015-12-10Implement two-phase initialization of modules loaded from bootstrap.buildBoris Kolpackov2-18/+31
2015-12-03Clean up rule namesBoris Kolpackov1-12/+19
2015-12-03Add ability for module to remember that it is unconfiguredBoris Kolpackov3-12/+35
A module can set and then check the config.*.configured special variable to false.
2015-12-02Don't write config.{loaded,configured} special variables to config.buildBoris Kolpackov1-0/+6
2015-12-02Implement optional module loadingBoris Kolpackov3-9/+13
The syntax is: using? cli Now each module use results in two bool variables: <module>.loaded and <module>.configured. Also implement variable visibility (the above two variables are limited to project).
2015-12-01Override outer configuration install paths that contain package nameBoris Kolpackov2-11/+27
2015-09-11Handle file io failures in parserBoris Kolpackov1-4/+4
2015-09-08Rework diagnostics verbosity, add quiet mode/optionBoris Kolpackov2-8/+10
2015-08-31Rework scoping logicBoris Kolpackov2-8/+12
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 Kolpackov2-14/+39
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 Kolpackov3-15/+71
2015-08-24New variable architectureBoris Kolpackov5-141/+90
2015-08-14Rework meta/operation registrationBoris Kolpackov2-11/+7
We now have global tables for meta/operation. Plus each can then be enabled on the per-project basis.
2015-07-31Essential install module functionalityBoris Kolpackov3-29/+83
2015-07-28Install module genesisBoris Kolpackov1-0/+7
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 Kolpackov4-12/+21
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-02Common types cleanup (strings, cstrings)Boris Kolpackov1-2/+1
2015-07-02Various improvements to cli moduleBoris Kolpackov1-0/+18
2015-06-26Part two of dependency injection with auto-generation supportBoris Kolpackov1-3/+5
2015-06-25Part one of dependency injection with auto-generation supportBoris Kolpackov1-1/+1
2015-06-24First take on the cli module plus necessary infrastructureBoris Kolpackov2-1/+25
2015-06-18Move path and filesystem from build2 to libbutlBoris Kolpackov3-3/+7
2015-05-11Correct copyrightBoris Kolpackov7-7/+7
2015-04-28Make config module implicitly load config.build if existsBoris Kolpackov1-15/+9
2015-04-24Implement lib/liba/libso{} target group, shared/static library buildBoris Kolpackov3-0/+147
2015-04-20Merge config.cxx.* variables into cxx.* when loading cxx moduleBoris Kolpackov1-3/+9
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 Kolpackov2-18/+19
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 Kolpackov2-2/+56
2015-03-25Configure/disfigure src_root saving/removing support; fsdir{} injectionBoris Kolpackov2-13/+163
We can now build out-of-tree.
2015-03-24Make meta-operations control build loop; add disfigure skeletonBoris Kolpackov3-8/+62