aboutsummaryrefslogtreecommitdiff
path: root/build2/config/operation.cxx
AgeCommit message (Collapse)AuthorFilesLines
2017-05-13Fix VC15 warnings (/W3)Karen Arutyunov1-1/+1
2017-05-01Add hxx extension for headersKaren Arutyunov1-12/+12
2017-03-17Disable amalgamation in configurations created by create meta-operationBoris Kolpackov1-0/+5
2017-03-17Implement create meta-operationBoris Kolpackov1-1/+282
2017-03-16Add support for passing parameters to (meta-) operationsBoris Kolpackov1-23/+26
2017-03-14Implement implied buildfile supportBoris Kolpackov1-0/+1
In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory).
2017-03-02Implement parallel matchBoris Kolpackov1-10/+7
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov1-0/+2
Keep going is the default but there is now the -s|--serial-stop that makes the driver run serially and stop at first error. Also fix some lockups, other minor improvements/features.
2017-02-13Implement parallel operation executionBoris Kolpackov1-2/+2
2017-02-13Implement target_set locking, including extension updateBoris Kolpackov1-1/+1
2017-02-13Pass const scope& where modification should not happenBoris Kolpackov1-33/+62
2017-02-13Add notion of phase, enforceBoris Kolpackov1-0/+3
2017-02-13Add scheduling calls to operation's match()Boris Kolpackov1-18/+13
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-11/+26
2017-01-23Add bunch of missing const'sBoris Kolpackov1-2/+2
2017-01-23Implement automatic loading of directory buildfilesBoris Kolpackov1-0/+1
Now instead of explicitly writing: d = foo/ bar/ ./: $d include $d We can (usually) just write: ./: foo/ bar/
2017-01-19Get rid of extension_poolBoris Kolpackov1-1/+1
2017-01-09Make use of operator<<(ostream, exception)Karen Arutyunov1-2/+2
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov1-1/+1
2016-09-15Add io_error alias for std::ios_base::failureKaren Arutyunov1-2/+2
2016-09-04Adjust configure/disfigure verbosityBoris Kolpackov1-9/+8
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-08-30Add support for config.build file versioningBoris Kolpackov1-5/+5
2016-08-23Don't write trailing spaces in case of empty values in config.buildBoris Kolpackov1-2/+11
2016-08-12Add support for ordering modules in config.buildBoris Kolpackov1-4/+3
2016-07-30Construct paths to use canonical directory separatorsBoris Kolpackov1-2/+0
Hardcoding separators as in "build/root.build" is now a big no-no.
2016-07-29Fix duplicate config.build variable issueBoris Kolpackov1-8/+3
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov1-1/+1
2016-07-25Fix surprising config override behavior now that they are amalgamation-wideBoris Kolpackov1-2/+24
2016-07-25Fix module separating blank line logicBoris Kolpackov1-4/+10
2016-07-23Adapt to fdstream extensionKaren Arutyunov1-15/+10
2016-07-21Save config vars in order specified rather than alphabeticallyBoris Kolpackov1-148/+122
This way we can group them semantically which results in easier to understand config.build output.
2016-07-21Fix bug in save_commented logicBoris Kolpackov1-2/+2
2016-07-21Save default/hinted ar/ld/rc values as commented outBoris Kolpackov1-2/+16
This way, when we, for example, change the C++ compiler (which hinted these values), they will be automatically adjusted as well.
2016-07-08Move filesystem-related functions from context to new filesystem filesBoris Kolpackov1-2/+1
2016-07-08Implement limited rpath emulation for WindowsBoris Kolpackov1-2/+2
2016-06-18Port to MinGWKaren Arutyunov1-2/+7
2016-04-21Use hash map/set for targets/prerequisites to resolve key change issueBoris Kolpackov1-0/+1
2016-04-19Redesign src/out scopingBoris Kolpackov1-2/+6
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-11Simplify unconfigured module interfaceBoris Kolpackov1-11/+31
2016-04-11Separate config variable for different modules with blanksBoris Kolpackov1-0/+32
2016-04-11Redo config inheritance logicBoris Kolpackov1-7/+74
2016-04-11New configuration logic, iteration 1Boris Kolpackov1-37/+51
2016-03-29Reset build state for each meta-operationBoris Kolpackov1-13/+1
2016-03-28Add variable cast from lookupBoris Kolpackov1-3/+3
2016-03-28New variable architectureBoris Kolpackov1-15/+17
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov1-5/+5
2016-01-21Clean up config module diagnosticsBoris Kolpackov1-2/+2
2016-01-09Update copyright yearBoris Kolpackov1-1/+1