aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-01-14Diagnose target names with multiple trailing slashes as invalidBoris Kolpackov4-7/+17
2019-01-14Fix VC warningBoris Kolpackov1-1/+1
2019-01-12Adapt to standard version API changeKaren Arutyunov2-8/+14
2019-01-10Print list of available operations and meta-operations in infoBoris Kolpackov2-9/+33
2019-01-09Fix bug in cc rules matchingBoris Kolpackov1-1/+1
2019-01-09Tighten cc rules matchingBoris Kolpackov6-28/+34
Specifically, make sure the rule does not match if there is a c-common prerequisites that it doesn't recognize.
2018-12-27Fix logic bug in pkg-config shared/static selectionBoris Kolpackov1-11/+13
2018-12-15Fix line counting in cc::lexerKaren Arutyunov2-2/+4
2018-12-12Fix bug in module interface unit preprocessingBoris Kolpackov1-5/+9
2018-12-04Adjust module tests to comply with the merged proposal (P1103)Boris Kolpackov1-8/+5
Specifically, import can no longer be inside an export block.
2018-12-03Remove unnecessary delete/default declarationsBoris Kolpackov1-11/+0
2018-12-03Suppress MSVC warnings at project levelBoris Kolpackov3-1/+13
2018-12-03Diagnose separated variable/function nameBoris Kolpackov1-1/+3
2018-12-01Add commented out builds value to manifestKaren Arutyunov1-0/+1
2018-11-30Various documentation updates, section on debugging build issuesBoris Kolpackov1-96/+595
2018-11-30Adapt to inventing path_match_flagsKaren Arutyunov2-5/+6
2018-11-28Regenerate options documentationBoris Kolpackov1-3/+3
2018-11-28Add note on potential future improvements to mtime checkBoris Kolpackov1-0/+6
2018-11-28Fix couple of man page formatting issuesBoris Kolpackov1-4/+4
2018-11-28Add --[no-]mtime-check options to control this behavior at runtimeBoris Kolpackov13-44/+127
By default the checks are enabled only for the staged toolchain.
2018-11-28Add config.hxx.in config header, move stage status thereBoris Kolpackov6-9/+43
2018-11-27Add --dump <phase> option, omit state dumping from verbosity level 6Boris Kolpackov7-17/+74
2018-11-26Cleanup backwards modification time workaround codeBoris Kolpackov2-118/+25
2018-11-24Add back backwards modification time workaround for FreeBSDBoris Kolpackov1-3/+7
Seems like it's still needed in some tight situations (e.g., in rule).
2018-11-24Use \n instead of endl in in ruleBoris Kolpackov1-2/+2
2018-11-24Reimplement depdb with fdstreamsBoris Kolpackov4-95/+149
2018-11-23More backwards modification time experimentationBoris Kolpackov1-0/+15
2018-11-23Revert rename of .exe.d to .d (did not make any difference)Boris Kolpackov1-5/+3
2018-11-23Don't allow pattern characters in target names, scope directoriesBoris Kolpackov1-16/+49
2018-11-22Rename .exe.d to just .d to test Windows interference theoryBoris Kolpackov1-3/+5
2018-11-22Tweak in rule to ensure correct mtime orderBoris Kolpackov1-1/+4
2018-11-22Make backwards modification time check permanent, add another experimentBoris Kolpackov7-51/+163
2018-11-22Fix bug in dependency chain logicBoris Kolpackov1-13/+15
2018-11-21More backwards modification time experimentationBoris Kolpackov3-15/+37
2018-11-21Add support for target and prerequisite specific variable blocksBoris Kolpackov12-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 }
2018-11-20Improve workaround for backwards modification time issueBoris Kolpackov3-25/+46
2018-11-19Extend backwards modification time diagnosticsBoris Kolpackov3-4/+7
2018-11-19Fix expected diagnostics in testBoris Kolpackov1-1/+1
2018-11-19Workaround Apple ar fractional second truncation bug on APFSBoris Kolpackov1-0/+16
2018-11-19Finalize workaround for backwards modification time issueBoris Kolpackov6-55/+69
2018-11-19Minor diagnostics tweakBoris Kolpackov1-1/+2
2018-11-17Print id of failed testKaren Arutyunov11-13/+153
2018-11-16Test workaround theory for backwards mtime issueBoris Kolpackov1-5/+4
2018-11-16Implement support for dependency chainsBoris Kolpackov5-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
2018-11-16Adjust tracing level for few noisy casesBoris Kolpackov2-3/+9
2018-11-16Fix GCC maybe used uninitialized warningKaren Arutyunov1-1/+1
2018-11-15Instrument cc:link_rule with backwards mtime detection/diagnosticsBoris Kolpackov1-0/+20
2018-11-14Fallback to loading outer buildfile if there isn't one in src_baseBoris Kolpackov13-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.
2018-11-14Tweak assert directive diagnosticsBoris Kolpackov2-4/+5
2018-11-13Minor terminology tweaks (model -> build state)Boris Kolpackov4-11/+11