aboutsummaryrefslogtreecommitdiff
path: root/build2/config
AgeCommit message (Collapse)AuthorFilesLines
2018-08-07Add support for default extension specification, trailing dot escapingBoris Kolpackov1-2/+2
For example: cxx{*}: extension = cxx cxx{foo} # foo.cxx cxx{foo.test} # foo.test (probably what we want...) cxx{foo.test...} # foo.test.cxx (... is this) cxx{foo..} # foo. cxx{foo....} # foo.. cxx{foo.....} # error (must come in escape pair)
2018-06-28Implement support for excluded and ad hoc prerequisitesBoris Kolpackov1-1/+3
The inclusion/exclusion is controlled via the 'include' prerequisite-specific variable. Valid values are: false - exclude true - include adhoc - include but treat as an ad hoc input For example: lib{foo}: cxx{win32-utility}: include = ($cxx.targe.class == 'windows') exe{bar}: libs{plugin}: include = adhoc
2018-05-23Add dist to list of modules bootstrapped by default by create meta-operationBoris Kolpackov1-2/+2
2018-05-19Update copyright yearKaren Arutyunov9-9/+9
2018-05-14Tolerate misconfigured src_root in info and disfigure meta-operationsBoris Kolpackov1-0/+2
2018-04-27Add support for build hooksBoris Kolpackov1-1/+4
The following buildfiles are loaded (if present) at appropriate times from the out_root subdirectories of a project: build/bootstrap/pre-*.build # before loading bootstrap.build build/bootstrap/post-*.build # after loading bootstrap.build build/root/pre-*.build # before loading root.build build/root/post-*.build # after loading root.build
2018-04-26Implement forwarded configurations and backlinkingBoris Kolpackov2-80/+282
2018-04-24Minor code reuse improvementBoris Kolpackov1-39/+2
2018-03-12Adjust disfigure diagnosticsBoris Kolpackov1-4/+9
2018-02-21Add progress to dist meta-operationBoris Kolpackov1-7/+6
2018-02-12Make sure operation failure diagnostics is printed for pre/post-operationsBoris Kolpackov1-5/+8
2018-02-08Work around VC static initialization order issueBoris Kolpackov1-6/+10
2018-02-07Add support for update-for-{test,install} operation aliasesBoris Kolpackov2-3/+3
2018-02-07Initial work for default update outer operationBoris Kolpackov1-8/+14
While update still uses the old "all update rules update all their prerequisites" assumption, test and install have been fixed not to rely on this.
2018-01-18Use prefix_map::find_sup/sub()Boris Kolpackov1-13/+1
2018-01-05Add support for variable aliasesBoris Kolpackov2-2/+2
2018-01-04Load config.build in init(), not boot()Boris Kolpackov2-43/+32
We now make sure the config module is init'ed first.
2017-12-17Fix few issues with structured result outputBoris Kolpackov1-2/+2
2017-12-16Add support for structured result output (--structured-result)Boris Kolpackov1-4/+4
2017-12-13Implement info meta operationBoris Kolpackov3-7/+7
This meta operation can be used to print basic information (name, version, source/output roots, etc) for one or more projects.
2017-11-29Reimplement module sidebuilding using an ad hoc subprojectBoris Kolpackov3-148/+197
2017-10-03Adapt to modularization of libbutlKaren Arutyunov1-1/+1
2017-10-03Extract system header search paths from GCC or compatibleBoris Kolpackov1-1/+0
2017-08-04Make file_rule match mtime_targets that have valid timestampBoris Kolpackov1-1/+1
This can be used to handle installed target groups like lib{}.
2017-05-13Fix VC15 warnings (/W3)Karen Arutyunov1-1/+1
2017-05-01Add hxx extension for headersKaren Arutyunov9-61/+61
2017-03-17Disable amalgamation in configurations created by create meta-operationBoris Kolpackov1-0/+5
2017-03-17Implement create meta-operationBoris Kolpackov6-65/+392
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 Kolpackov2-36/+66
2017-02-13Redo variable pattern-typing to match in more specific orderBoris Kolpackov1-3/+4
2017-02-13Implement pattern-based variable typing, tighten variable type updateBoris Kolpackov3-11/+17
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 Kolpackov4-25/+49
2017-01-23Add bunch of missing const'sBoris Kolpackov2-4/+4
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-12Implement support for narrowing down tests (config.test)Boris Kolpackov3-23/+24
2017-01-09Make use of operator<<(ostream, exception)Karen Arutyunov1-2/+2
2017-01-05Update copyright yearBoris Kolpackov8-8/+8
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov1-1/+1
2016-11-23Add support for config.cli=false (leave unconfigured)Boris Kolpackov2-4/+12
2016-11-04Various design/implementation cleanupsBoris Kolpackov1-3/+3
2016-09-15Add io_error alias for std::ios_base::failureKaren Arutyunov1-2/+2