aboutsummaryrefslogtreecommitdiff
path: root/build2
AgeCommit message (Collapse)AuthorFilesLines
2017-03-13Implement dir/type-aware name group crossingBoris Kolpackov3-137/+122
2017-03-13Minor changeBoris Kolpackov1-3/+2
2017-03-10First attempt to use wildcard patternsBoris Kolpackov1-0/+13
2017-03-10Implement support for wildcard patternsBoris Kolpackov15-295/+1066
2017-03-07Specify config.test.output variableBoris Kolpackov7-11/+170
2017-03-06Only recognize function call if lparen is unseparatedBoris Kolpackov1-1/+4
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-03Fix test and dist for generated input/outputBoris Kolpackov2-8/+24
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 Kolpackov3-6/+19
2017-03-02Options cleanupBoris Kolpackov2-8/+14
2017-03-02Implement parallel matchBoris Kolpackov74-2127/+3755
2017-03-01Add set builtinKaren Arutyunov5-15/+300
2017-02-16Add cp builtinKaren Arutyunov3-14/+223
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-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 Kolpackov3-111/+138
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 Kolpackov7-49/+39
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