aboutsummaryrefslogtreecommitdiff
path: root/build/b.cxx
AgeCommit message (Collapse)AuthorFilesLines
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
2015-03-09Add support for skipping already loaded/included buildfiles at top levelBoris Kolpackov1-2/+12
The idea is that a buildfile shall be included/loaded only once for any given out_root.
2015-03-09Build according to buildspecBoris Kolpackov1-89/+216
At this stage operations are still ignored.
2015-03-07Add support for buildspecBoris Kolpackov1-1/+42
2015-03-04Move roots and bases to appropriate scopesBoris Kolpackov1-16/+40
2015-03-03Implement new default target logic, canonical directory name (empty value)Boris Kolpackov1-6/+7
The logic is as follows: if we have an explicit current directory target, then that's the default target. Otherwise, we take the first target and use it as a prerequisite to create an implicit current directory target, effectively making it the default target via an alias. If there are no targets in this buildfile, then we don't do anything.