summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix logic bug in pkg-config shared/static selectionBoris Kolpackov2018-12-271-11/+13
|
* Fix line counting in cc::lexerKaren Arutyunov2018-12-152-2/+4
|
* Fix bug in module interface unit preprocessingBoris Kolpackov2018-12-121-5/+9
|
* Adjust module tests to comply with the merged proposal (P1103)Boris Kolpackov2018-12-041-8/+5
| | | | Specifically, import can no longer be inside an export block.
* Remove unnecessary delete/default declarationsBoris Kolpackov2018-12-031-11/+0
|
* Suppress MSVC warnings at project levelBoris Kolpackov2018-12-033-1/+13
|
* Diagnose separated variable/function nameBoris Kolpackov2018-12-031-1/+3
|
* Add commented out builds value to manifestKaren Arutyunov2018-12-011-0/+1
|
* Various documentation updates, section on debugging build issuesBoris Kolpackov2018-11-301-96/+595
|
* Adapt to inventing path_match_flagsKaren Arutyunov2018-11-302-5/+6
|
* Regenerate options documentationBoris Kolpackov2018-11-281-3/+3
|
* Add note on potential future improvements to mtime checkBoris Kolpackov2018-11-281-0/+6
|
* Fix couple of man page formatting issuesBoris Kolpackov2018-11-281-4/+4
|
* Add --[no-]mtime-check options to control this behavior at runtimeBoris Kolpackov2018-11-2813-44/+127
| | | | By default the checks are enabled only for the staged toolchain.
* Add config.hxx.in config header, move stage status thereBoris Kolpackov2018-11-286-9/+43
|
* Add --dump <phase> option, omit state dumping from verbosity level 6Boris Kolpackov2018-11-277-17/+74
|
* Cleanup backwards modification time workaround codeBoris Kolpackov2018-11-262-118/+25
|
* Add back backwards modification time workaround for FreeBSDBoris Kolpackov2018-11-241-3/+7
| | | | Seems like it's still needed in some tight situations (e.g., in rule).
* Use \n instead of endl in in ruleBoris Kolpackov2018-11-241-2/+2
|
* Reimplement depdb with fdstreamsBoris Kolpackov2018-11-244-95/+149
|
* More backwards modification time experimentationBoris Kolpackov2018-11-231-0/+15
|
* Revert rename of .exe.d to .d (did not make any difference)Boris Kolpackov2018-11-231-5/+3
|
* Don't allow pattern characters in target names, scope directoriesBoris Kolpackov2018-11-231-16/+49
|
* Rename .exe.d to just .d to test Windows interference theoryBoris Kolpackov2018-11-221-3/+5
|
* Tweak in rule to ensure correct mtime orderBoris Kolpackov2018-11-221-1/+4
|
* Make backwards modification time check permanent, add another experimentBoris Kolpackov2018-11-227-51/+163
|
* Fix bug in dependency chain logicBoris Kolpackov2018-11-221-13/+15
|
* More backwards modification time experimentationBoris Kolpackov2018-11-213-15/+37
|
* Add support for target and prerequisite specific variable blocksBoris Kolpackov2018-11-2112-220/+553
| | | | | | | | | | | | | | | | | | | | | | | | For example, now instead of: lib{foo}: cxx.loptions += -static lib{foo}: cxx.libs += -lpthread We can write: lib{foo}: { cxx.loptions += -static cxx.libs += -lpthread } The same works for prerequisites as well as target type/patterns. For example: exe{*.test}: { test = true install = false }
* Improve workaround for backwards modification time issueBoris Kolpackov2018-11-203-25/+46
|
* Extend backwards modification time diagnosticsBoris Kolpackov2018-11-193-4/+7
|
* Fix expected diagnostics in testBoris Kolpackov2018-11-191-1/+1
|
* Workaround Apple ar fractional second truncation bug on APFSBoris Kolpackov2018-11-191-0/+16
|
* Finalize workaround for backwards modification time issueBoris Kolpackov2018-11-196-55/+69
|
* Minor diagnostics tweakBoris Kolpackov2018-11-191-1/+2
|
* Print id of failed testKaren Arutyunov2018-11-1711-13/+153
|
* Test workaround theory for backwards mtime issueBoris Kolpackov2018-11-161-5/+4
|
* Implement support for dependency chainsBoris Kolpackov2018-11-165-142/+227
| | | | | | | | | | | | | | | | | | | | Now instead of: ./: exe{foo} exe{foo}: cxx{*} We can write: ./: exe{foo}: cxx{*} Or even: ./: exe{foo}: libue{foo}: cxx{*} This can be combined with prerequisite-specific variables (which naturally only apply to the last set of prerequisites in the chain): ./: exe{foo}: libue{foo}: bin.whole = false
* Adjust tracing level for few noisy casesBoris Kolpackov2018-11-162-3/+9
|
* Fix GCC maybe used uninitialized warningKaren Arutyunov2018-11-161-1/+1
|
* Instrument cc:link_rule with backwards mtime detection/diagnosticsBoris Kolpackov2018-11-151-0/+20
|
* Fallback to loading outer buildfile if there isn't one in src_baseBoris Kolpackov2018-11-1413-66/+199
| | | | | | 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.
* Tweak assert directive diagnosticsBoris Kolpackov2018-11-142-4/+5
|
* Minor terminology tweaks (model -> build state)Boris Kolpackov2018-11-134-11/+11
|
* Fix bug in command line variable override depth calculationBoris Kolpackov2018-11-091-7/+11
|
* Add support for relative to base scope command line variable overridesBoris Kolpackov2018-11-097-52/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make command line variable override scope syntax consistent with buildfileBoris Kolpackov2018-11-082-20/+76
| | | | | | | | | | | | | | | | | | | Before: $ b dir/:foo=bar ... After: $ b dir/foo=bar Alternatively (the buildfile syntax): $ b 'dir/ foo=bar' Note that the (rarely used) scope visibility modifier now leads to a double slash: $ b dir//foo=bar
* Fix bug in override logic for command line variable with project visibilityBoris Kolpackov2018-11-083-5/+29
|
* Remove extraneous spaceBoris Kolpackov2018-11-071-1/+1
|
* Improve parser diagnosticsBoris Kolpackov2018-11-071-0/+11
|