aboutsummaryrefslogtreecommitdiff
path: root/build2/dump.cxx
AgeCommit message (Collapse)AuthorFilesLines
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2018-11-01Add support for rule-specific variables, use to fix cc.type data raceBoris Kolpackov1-25/+63
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-05-03Regularize directory target/scope-specific variable assignment syntaxBoris Kolpackov1-1/+2
2018-02-03Get rid of action rule override semanticsBoris Kolpackov1-2/+4
Instead we now have two more or less separate match states for outer and inner parts of an action.
2018-01-05Add support for variable aliasesBoris Kolpackov1-1/+1
2017-12-16Split stream verbosity into components (path, extension)Boris Kolpackov1-26/+25
Use to make sure structured result output always contains absolute target path.
2017-11-20Add support for dumping prerequisite-specific variablesBoris Kolpackov1-48/+109
2017-11-20Implement dump directiveBoris Kolpackov1-12/+49
It can be used to print (to stderr) a human-readable representation of the current scope or a list of targets. For example: dump # Dump current scope. dump lib{foo} details/exe{bar} # Dump two targets. This is primarily useful for debugging as well as to write build system tests.
2017-05-01Add hxx extension for headersKaren Arutyunov1-6/+6
2017-03-24Fix diagnostics interleaving charactersKaren Arutyunov1-0/+3
2017-03-02Implement parallel matchBoris Kolpackov1-23/+20
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-12-05Use empty path for root scopeKaren Arutyunov1-5/+10
2016-08-30Add support for target visibility, use for dist, test, installBoris Kolpackov1-2/+2
This means we can no longer write: install = false Now it should be: *: install = false
2016-07-28Fix dump not to type target type/pattern-specific prepend/appendBoris Kolpackov1-14/+22
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov1-0/+1
2016-07-20Switch to dynamic empty() implementation in variable valueBoris Kolpackov1-3/+3
The current model fell apart when we modified values directly.
2016-07-16Add support for prepend/append in target type/pattern-specific varsBoris Kolpackov1-24/+42
Semantically, these are similar to variable overrides and are essentially treated as "templates" that are applied on lookup to the "stem" value that is specific to the target type/name. For example: x = [string] a file{f*}: x =+ b sub/: { file{*}: x += c print $(file{foo}:x) # abc print $(file{bar}:x) # ac }
2016-04-20Print variable/value attributes in dump()Boris Kolpackov1-16/+45
2016-04-19Redesign src/out scopingBoris Kolpackov1-23/+12
We no longer enter paths from the src tree into scope map. Instead, targets from the src tree now include their out tree directory (in essence their "configuration"). This is then used to find a target's scope. See the comment in class target for details. The result of this change is that we can now again build multiple configurations (out trees) for same project at once.
2016-04-06Add support for printing overrides in dump()Boris Kolpackov1-13/+55
2016-03-28New variable architectureBoris Kolpackov1-1/+4
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-3/+0
2016-01-24Differentiate extension printing according to stream verbosityBoris Kolpackov1-0/+11
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+253