summaryrefslogtreecommitdiffstats
path: root/build2/b.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright yearKaren Arutyunov2019-01-161-2/+2
|
* Diagnose target names with multiple trailing slashes as invalidBoris Kolpackov2019-01-141-1/+1
|
* Add --[no-]mtime-check options to control this behavior at runtimeBoris Kolpackov2018-11-281-1/+4
| | | | By default the checks are enabled only for the staged toolchain.
* Add --dump <phase> option, omit state dumping from verbosity level 6Boris Kolpackov2018-11-271-7/+28
|
* Fallback to loading outer buildfile if there isn't one in src_baseBoris Kolpackov2018-11-141-21/+74
| | | | | | 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-32/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 default extension specification, trailing dot escapingBoris Kolpackov2018-08-071-6/+8
| | | | | | | | | | | | | 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)
* Exclude cli and bash modules from bootstrap buildBoris Kolpackov2018-07-251-3/+6
|
* Implement bash moduleBoris Kolpackov2018-07-201-0/+4
|
* Implement in moduleBoris Kolpackov2018-07-161-3/+10
| | | | | | | | | | | | | | | | | | | | Given test.in containing something along these lines: foo = $foo$ Now we can do: using in file{test}: in{test.in} file{test}: foo = FOO The alternative variable substitution symbol can be specified with the in.symbol variable and lax (instead of the default strict) mode with in.substitution. For example: file{test}: in.symbol = '@' file{test}: in.substitution = lax
* Use portable environment variable manipulation functionsKaren Arutyunov2018-06-151-8/+6
|
* Update copyright yearKaren Arutyunov2018-05-191-2/+2
|
* Fix uncaught invalid_path exceptionKaren Arutyunov2018-05-161-1/+1
|
* Tolerate misconfigured src_root in info and disfigure meta-operationsBoris Kolpackov2018-05-141-25/+46
|
* Don't print scheduler statistics at verbosity level 2, add --stat insteadBoris Kolpackov2018-04-301-2/+3
|
* Expose meta-operation in build.meta_operation variableBoris Kolpackov2018-04-281-0/+5
|
* Add support for build hooksBoris Kolpackov2018-04-271-12/+20
| | | | | | | | | | 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
* Implement forwarded configurations and backlinkingBoris Kolpackov2018-04-261-25/+54
|
* Fix bug in '--' handlingBoris Kolpackov2018-03-241-4/+2
|
* Add progress to dist meta-operationBoris Kolpackov2018-02-211-6/+6
|
* Add default capping of stack size for all POSIX platforms, --max-stackBoris Kolpackov2018-02-121-1/+7
|
* Make sure operation failure diagnostics is printed for pre/post-operationsBoris Kolpackov2018-02-121-6/+9
|
* Fix GCC's "maybe used uninitialized" warningBoris Kolpackov2018-02-091-3/+3
|
* Fix meta-operation logic some moreBoris Kolpackov2018-02-081-3/+4
|
* Fix bug in operation aliasing logicBoris Kolpackov2018-02-081-4/+7
|
* Fix regression in meta-operation lifting logicBoris Kolpackov2018-02-081-20/+18
|
* Add support for update-for-{test,install} operation aliasesBoris Kolpackov2018-02-071-32/+47
|
* Diagnose out_base inside src_baseBoris Kolpackov2018-02-011-0/+8
|
* Add workaround for data race in libstdc++'s ctype<char>::narrow()Karen Arutyunov2018-01-171-0/+20
|
* Remove unused variableKaren Arutyunov2017-12-191-2/+0
|
* Fix few issues with structured result outputBoris Kolpackov2017-12-171-3/+5
|
* Split stream verbosity into components (path, extension)Boris Kolpackov2017-12-161-6/+7
| | | | | Use to make sure structured result output always contains absolute target path.
* Add support for structured result output (--structured-result)Boris Kolpackov2017-12-161-21/+94
|
* Implement better cross-hinting between c-family modulesBoris Kolpackov2017-12-041-0/+1
|
* Reimplement module sidebuilding using an ad hoc subprojectBoris Kolpackov2017-11-291-9/+10
|
* Adapt to modularization of libbutlKaren Arutyunov2017-10-031-2/+2
|
* Get rid of pkgconfig moduleKaren Arutyunov2017-09-251-4/+0
|
* Implement {c,cxx}.guess modulesBoris Kolpackov2017-09-071-0/+2
| | | | | | | | | | | | | | | These can be loaded before {c,cxx} to guess the compiler. Based on this information we can then choose the standard, experimental features, etc. For example: using cxx.guess if ($cxx.id == 'clang') cxx.features.modules = false cxx.std = experimental using cxx
* Minor diagnostics tweaksBoris Kolpackov2017-09-031-4/+6
|
* Cleanup project src/out_root/base discovery logicBoris Kolpackov2017-09-031-117/+55
| | | | | Specifically, we no longer support specifying the out_base explicitly and assuming work is src_base.
* Fix disabling error reporting dialog box to properly test for serial executionKaren Arutyunov2017-08-221-4/+6
|
* Disable displaying error reporting dialog box on Windows unless run seriallyKaren Arutyunov2017-08-211-0/+10
|
* Print progress to terminal by defaultKaren Arutyunov2017-08-061-0/+7
|
* Add --match-only optionBoris Kolpackov2017-08-051-6/+15
|
* Actualize target path that came from command lineBoris Kolpackov2017-07-251-1/+1
|
* Add hxx extension for headersKaren Arutyunov2017-05-011-29/+29
|
* Use version id for printingBoris Kolpackov2017-04-281-2/+2
|
* Implement version moduleBoris Kolpackov2017-04-261-0/+2
|
* Rename version header to version-impl to give way to version moduleBoris Kolpackov2017-04-251-1/+0
|
* Make use of throw_generic_error()Karen Arutyunov2017-03-221-1/+1
|