summaryrefslogtreecommitdiffstats
path: root/build2/operation.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright yearKaren Arutyunov2019-01-161-1/+1
|
* Fix VC warningBoris Kolpackov2019-01-141-1/+1
|
* Print list of available operations and meta-operations in infoBoris Kolpackov2019-01-101-9/+27
|
* Add --dump <phase> option, omit state dumping from verbosity level 6Boris Kolpackov2018-11-271-7/+0
|
* Fallback to loading outer buildfile if there isn't one in src_baseBoris Kolpackov2018-11-141-2/+16
| | | | | | This covers the case where the target is defined in the outer buildfile which is common with non-intrusive project conversions where everything is built from a single root buildfile.
* Add support for relative to base scope command line variable overridesBoris Kolpackov2018-11-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if we say: $ b dir/ ./foo=bar The scope the foo=bar is set on is relative to CWD, not dir/. While this may seem wrong at first, this is the least surprising behavior when we take into account that there can be multiple dir/'s. Sometimes, however, we do want the override directory to be treated relative to (every) target's base scope that we are building. To support this we are extending the '.' and '..' special directory names (which are still resolved relative to CWD) with '...', which means "relative to the base scope of every target in the buildspec". For example: $ b dir/ .../foo=bar Is equivalent to: $ b dir/ dir/foo=bar And: $ b liba/ libb/ .../tests/foo=bar Is equivalent to: $ b liba/ libb/ liba/tests/foo=bar libb/tests/foo=bar
* Add support for rule-specific variables, use to fix cc.type data raceBoris Kolpackov2018-11-011-1/+1
|
* Make project variable to be of project_name typeKaren Arutyunov2018-07-301-1/+1
|
* Implement support for excluded and ad hoc prerequisitesBoris Kolpackov2018-06-281-3/+6
| | | | | | | | | | | | | | 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
* Update copyright yearKaren Arutyunov2018-05-191-1/+1
|
* Tolerate misconfigured src_root in info and disfigure meta-operationsBoris Kolpackov2018-05-141-0/+3
|
* Add support for build hooksBoris Kolpackov2018-04-271-2/+2
| | | | | | | | | | 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
* Add progress to dist meta-operationBoris Kolpackov2018-02-211-9/+8
|
* Make sure operation failure diagnostics is printed for pre/post-operationsBoris Kolpackov2018-02-121-9/+9
|
* Suppress VC warningBoris Kolpackov2018-02-081-0/+1
|
* Work around VC static initialization order issueBoris Kolpackov2018-02-081-0/+4
|
* Add support for update-for-{test,install} operation aliasesBoris Kolpackov2018-02-071-1/+9
|
* Get rid of action rule override semanticsBoris Kolpackov2018-02-031-15/+4
| | | | | Instead we now have two more or less separate match states for outer and inner parts of an action.
* Fix lifetime issue in progress monitoring logicBoris Kolpackov2018-01-011-2/+3
|
* Fix race in scheduler progress setting logicBoris Kolpackov2018-01-011-1/+1
|
* Fix few issues with structured result outputBoris Kolpackov2017-12-171-3/+3
|
* Add support for structured result output (--structured-result)Boris Kolpackov2017-12-161-10/+14
|
* Implement info meta operationBoris Kolpackov2017-12-131-19/+114
| | | | | This meta operation can be used to print basic information (name, version, source/output roots, etc) for one or more projects.
* Streamline skip count diagnosticsBoris Kolpackov2017-11-221-1/+1
|
* Improve skipped update diagnosticsBoris Kolpackov2017-11-211-2/+27
| | | | | Instead of printing a line for each target skipped we now print a summary with count at the end. We also now show the skip count in progress.
* Scale target count depending on progress output type (same/new line)Boris Kolpackov2017-08-061-2/+1
|
* Print progress to terminal by defaultKaren Arutyunov2017-08-061-2/+3
|
* Tweak progress logic some moreBoris Kolpackov2017-07-281-19/+25
|
* Tweak progress displayBoris Kolpackov2017-07-281-3/+3
|
* Implement displaying build progress (--progress|-p)Boris Kolpackov2017-07-271-28/+98
|
* Add hxx extension for headersKaren Arutyunov2017-05-011-8/+8
|
* Add ability for meta-operation to preprocess buildspecBoris Kolpackov2017-03-161-1/+1
|
* Add support for passing parameters to (meta-) operationsBoris Kolpackov2017-03-161-4/+6
|
* Implement implied buildfile supportBoris Kolpackov2017-03-141-6/+13
| | | | | | | | In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory).
* Use final action state after match at top level (operation)Boris Kolpackov2017-03-031-3/+14
|
* Implement parallel matchBoris Kolpackov2017-03-021-37/+90
|
* Implement parallel error propagation, keep_going modeBoris Kolpackov2017-02-131-14/+65
| | | | | | | 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.
* Get rid of count_postponedBoris Kolpackov2017-02-131-2/+2
| | | | | Terget execution is postponed with regards to the current thread only thus it doesn't seem right to make postponed a target state.
* Implement parallel operation executionBoris Kolpackov2017-02-131-39/+20
|
* Pass const target& to recipesBoris Kolpackov2017-02-131-6/+6
|
* Introduce target::task_countBoris Kolpackov2017-02-131-0/+2
|
* Redesign target_set interface in preparation for lockingBoris Kolpackov2017-02-131-4/+3
|
* Pass const scope& where modification should not happenBoris Kolpackov2017-02-131-2/+2
|
* Temporarily disable parallel search & match for multi-target buildsBoris Kolpackov2017-02-131-0/+5
|
* Add notion of phase, enforceBoris Kolpackov2017-02-131-14/+22
|
* Add scheduling calls to operation's match()Boris Kolpackov2017-02-131-34/+20
|
* Add model mutex, make var_pool const by defaultBoris Kolpackov2017-02-131-11/+39
|
* Add bunch of missing const'sBoris Kolpackov2017-01-231-5/+5
|
* Cosmetic changeBoris Kolpackov2017-01-201-21/+20
|
* Update copyright yearBoris Kolpackov2017-01-051-1/+1
|