aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-03-07Minor documentation changeBoris Kolpackov1-1/+1
2017-03-07Specify config.test.output variableBoris Kolpackov8-11/+199
2017-03-06Only recognize function call if lparen is unseparatedBoris Kolpackov2-4/+5
2017-03-06Iterate over group members in test rule only if resolvableBoris Kolpackov5-33/+64
2017-03-06Tweak target locking logicBoris Kolpackov2-20/+18
2017-03-04Call import_existing() from search_existing() now that we have itBoris Kolpackov2-11/+8
2017-03-04Fix target name printing in diagnosticsBoris Kolpackov2-2/+2
2017-03-04Only set install variables if install module has been loadedBoris Kolpackov2-37/+50
While generally a good idea, failing to do this trips up our load generation protection.
2017-03-04Fix match-only recipe override corner caseBoris Kolpackov1-53/+82
2017-03-03Refrain from working own queue when trying to lock targetBoris Kolpackov1-1/+8
This can easily lead to deadlock.
2017-03-03Remove no longer necessary cli target type definitionBoris Kolpackov1-8/+2
2017-03-03Fix test and dist for generated input/outputBoris Kolpackov5-9/+29
2017-03-03Fix cli distribution via groupBoris Kolpackov10-55/+66
2017-03-03Use final action state after match at top level (operation)Boris Kolpackov3-9/+40
2017-03-02Unconditionally load bin.ar module in c and cxx modulesBoris Kolpackov2-32/+13
With our utility library/until test approach this will probably be more common than not.
2017-03-02Fix clean logicBoris Kolpackov2-15/+17
2017-03-02Fix unit test code generationBoris Kolpackov9-23/+25
2017-03-02Options cleanupBoris Kolpackov2-8/+14
2017-03-02Implement parallel matchBoris Kolpackov81-2138/+3761
2017-03-01Add set builtinKaren Arutyunov8-18/+579
2017-02-21Add note on variable expansion and set builtin in testscriptBoris Kolpackov1-1/+9
2017-02-17Add note on set being pseudo-builtin in testscriptBoris Kolpackov1-1/+5
2017-02-16Add cp builtinKaren Arutyunov5-15/+530
2017-02-15Spec set testscript builtinBoris Kolpackov1-2/+42
2017-02-15Tighten doc/.gitignoreKaren Arutyunov1-1/+1
2017-02-15Minor change in cp testscript builtin specKaren Arutyunov1-2/+3
2017-02-15Re-spec cp testscript builtinBoris Kolpackov1-32/+34
2017-02-14Redo library meta-information protocol without match_only()Boris Kolpackov6-100/+88
2017-02-14Modify library mate-information protocol not to use lib{} groupBoris Kolpackov9-79/+48
2017-02-14Initialize target::state_Boris Kolpackov1-1/+1
We may need it even before recipe() resets it, for example, in mtime().
2017-02-14Specify cp testscript builtinBoris Kolpackov1-4/+71
2017-02-13Make GCC 4.9, VC14 happyBoris Kolpackov4-3/+15
2017-02-13Cosmetic changeBoris Kolpackov1-1/+1
2017-02-13Use variable_cache for target type/pattern-specific prepend/appendBoris Kolpackov9-134/+227
2017-02-13Add MT-safe variable_cache, use for variable overridesBoris Kolpackov9-69/+181
2017-02-13Add scheduler::shard_size() helper functionBoris Kolpackov2-46/+61
2017-02-13Some ground work for proper variable cache implementationBoris Kolpackov2-27/+37
2017-02-13Track variable value modificationsBoris Kolpackov6-19/+29
2017-02-13Allow back overriding variables specified in buildfilesBoris Kolpackov3-11/+22
It is still not clear whether this is the right thing to allow, conceptually, but with this disallowed it's hard to test this functionality. Perhaps we should have an attribute [overridable]. The problem is one will also have to set this variable to some value (e.g., [null]) which is not exactly the same as undefined (especially when testing).
2017-02-13Cosmetic changesBoris Kolpackov1-5/+5
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov26-201/+479
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-13Redo scheduler task flag as atomic counterBoris Kolpackov3-53/+38
Makes for simpler code and also seems to perform better.
2017-02-13Various scheduler fixes, enhancements, and tuningBoris Kolpackov2-72/+117
While the task_ flags logic is hairy, it seems to work.
2017-02-13Make scheduler::async() indicate whether the task executed synchronouslyBoris Kolpackov2-5/+10
2017-02-13Get rid of count_postponedBoris Kolpackov5-70/+61
Terget execution is postponed with regards to the current thread only thus it doesn't seem right to make postponed a target state.
2017-02-13Do some naming cleanupsBoris Kolpackov7-13/+25
2017-02-13Tighten target constness furtherBoris Kolpackov10-53/+43
2017-02-13Implement parallel operation executionBoris Kolpackov16-144/+363
2017-02-13Use target:as<> instead of static_cast for target castingBoris Kolpackov12-60/+67
2017-02-13Tighten code that operates during both search/match and executeBoris Kolpackov9-100/+215