aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2017-02-13Pass const target& to recipesBoris Kolpackov37-356/+465
2017-02-13Use const scheduler task count where appropriateBoris Kolpackov2-9/+9
2017-02-13Introduce target::task_countBoris Kolpackov9-136/+192
2017-02-13Make scheduler::resume() call usable in serial executionBoris Kolpackov1-0/+5
2017-02-13Use less-than test for start count in schedulerBoris Kolpackov2-6/+6
2017-02-13Add support for passing alternative task start counts to schedulerBoris Kolpackov3-18/+45
2017-02-13Add support for waiting on other threads task counts in schedulerBoris Kolpackov2-13/+34
2017-02-13Implement target_set locking, including extension updateBoris Kolpackov14-78/+225
2017-02-13Redesign target_set interface in preparation for lockingBoris Kolpackov6-43/+44
2017-02-13Store extension in target map key rather than in targetBoris Kolpackov14-98/+110
This is in preparation for locking its modification/access.