aboutsummaryrefslogtreecommitdiff
path: root/build/b.cxx
AgeCommit message (Collapse)AuthorFilesLines
2015-09-11Handle file io failures in parserBoris Kolpackov1-6/+6
2015-09-09Add support for quoting directive namesBoris Kolpackov1-5/+5
Now only unquoted, literal names are recognized as directives, for example: 'print' = abc print $print
2015-09-08Rework diagnostics verbosity, add quiet mode/optionBoris Kolpackov1-17/+19
2015-09-02Remove stray spaceBoris Kolpackov1-1/+1
2015-08-31Rework scoping logicBoris Kolpackov1-34/+32
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-27Dist module/meta-operation initial implementationBoris Kolpackov1-3/+5
2015-08-24New variable architectureBoris Kolpackov1-5/+6
2015-08-14Rework meta/operation registrationBoris Kolpackov1-30/+51
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-0/+3
Specifically, now postponed is only used by the execution mode logic and rules should not return it directly.
2015-07-28Install module genesisBoris Kolpackov1-0/+2
2015-07-24Add support for generated test input/outputBoris Kolpackov1-3/+6
2015-07-21Test module genesisBoris Kolpackov1-0/+2
2015-07-20Implement pre/post operation supportBoris Kolpackov1-10/+90
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-15Implement project-qualified names/prerequisites, two-stage importBoris Kolpackov1-2/+2
2015-07-13Make subprojects list of name=subdir pairsBoris Kolpackov1-5/+2
2015-07-12Add more diagnosticsBoris Kolpackov1-1/+10
2015-07-10Implement automatic subproject discoveryBoris Kolpackov1-0/+7
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-37/+1
2015-07-07Rework module architectureBoris Kolpackov1-94/+9
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-01Clean up group state, mtime designBoris Kolpackov1-4/+4
2015-06-24First take on the cli module plus necessary infrastructureBoris Kolpackov1-5/+8
2015-06-18Move path and filesystem from build2 to libbutlBoris Kolpackov1-3/+3
2015-06-18Move process from build2 to libbutlBoris Kolpackov1-1/+0
2015-05-11Correct copyrightBoris Kolpackov1-2/+2
2015-04-29Get rid of on-demand configuration for nowBoris Kolpackov1-0/+2
2015-04-24Implement lib/liba/libso{} target group, shared/static library buildBoris Kolpackov1-24/+45
2015-04-17Tune buildspec heuristicsBoris Kolpackov1-4/+7
2015-04-17Add support for target groups, use to handle obj/obja/objso object targetsBoris Kolpackov1-0/+10
2015-04-15New variables architectureBoris Kolpackov1-2/+2
Now operator[] is only used for lookup.
2015-04-15Initial library supportBoris Kolpackov1-1/+6
2015-04-13Add separate type to represent directory pathsBoris Kolpackov1-30/+30
2015-04-13Add initial import supportBoris Kolpackov1-51/+3
2015-04-08Inherit list_value directly from namesBoris Kolpackov1-1/+1
2015-04-07Initial support for amalgamation/subprojectsBoris Kolpackov1-48/+54
For now both need to be manually specified in src bootstrap. At this stage main() loads any outer root scopes while include loads any inner.
2015-04-07Provide more convenient access to root scopeBoris Kolpackov1-1/+3
2015-04-02Add command line option to set verbosity levelBoris Kolpackov1-3/+32
-v sets it to 1 (shows actual command lines) --verbose sets it to any value in the 0-5 range
2015-04-01Implement initial C++ configuration supportBoris Kolpackov1-0/+2
2015-03-31Rename root_scope to global_scopeBoris Kolpackov1-1/+1
To avoid confusion with project's root scopes.
2015-03-30Initial support for command line variablesBoris Kolpackov1-4/+40
2015-03-27Rework dependency state dump supportBoris Kolpackov1-1/+1
We now have a combined (scopes, variables, and targets) dump.
2015-03-25Recognize common cases (., .., and dir{}) when deriving out_baseBoris Kolpackov1-6/+17
2015-03-25Configure/disfigure src_root saving/removing support; fsdir{} injectionBoris Kolpackov1-58/+131
We can now build out-of-tree.
2015-03-24Make meta-operations control build loop; add disfigure skeletonBoris Kolpackov1-211/+78
2015-03-20New consolidated load/match/build loopBoris Kolpackov1-258/+287
2015-03-18Implement complete root/base detection, basic module supportBoris Kolpackov1-44/+240
This is the initial groundwork for the configuration support.
2015-03-13Add support for "first" and "last" execution modesBoris Kolpackov1-6/+8
2015-03-13Add postponed recipe execution supportBoris Kolpackov1-1/+33
2015-03-12Implement clean operationBoris Kolpackov1-17/+5
2015-03-10Further operation implementationBoris Kolpackov1-24/+42
2015-03-09Add meta/operation lists, lift operations in buildspecBoris Kolpackov1-3/+113