aboutsummaryrefslogtreecommitdiff
path: root/build2/algorithm.ixx
AgeCommit message (Collapse)AuthorFilesLines
2017-08-01Reimplement pkg-config generation with more conservative approach for nowBoris Kolpackov1-5/+4
2017-07-31Experimental (and probably broken) pkg-config generation supportBoris Kolpackov1-0/+8
2017-07-28Implement support for linking whole archiveBoris Kolpackov1-3/+46
2017-07-28Add support for custom data storage in target::preprequisite_targetsBoris Kolpackov1-1/+3
2017-07-27Implement displaying build progress (--progress|-p)Boris Kolpackov1-2/+2
2017-06-16Fix bug (forward-declared inline function)Boris Kolpackov1-32/+0
2017-06-16Add support for explicitly specifying module name on mxx{} targetBoris Kolpackov1-0/+32
2017-06-14Next installment in C++ modules saga: module search, re-export supportBoris Kolpackov1-9/+14
2017-05-01Add hxx extension for headersKaren Arutyunov1-2/+2
2017-04-28Implement support for pre-processing version headers (or other files)Boris Kolpackov1-10/+12
Also implement the build system version check.
2017-04-27Pass target to prerequisite searchBoris Kolpackov1-7/+11
2017-03-03Fix cli distribution via groupBoris Kolpackov1-5/+8
2017-03-02Implement parallel matchBoris Kolpackov1-67/+210
2017-02-14Redo library meta-information protocol without match_only()Boris Kolpackov1-11/+4
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov1-9/+10
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-13Do some naming cleanupsBoris Kolpackov1-1/+8
2017-02-13Implement parallel operation executionBoris Kolpackov1-0/+37
2017-02-13Use target:as<> instead of static_cast for target castingBoris Kolpackov1-2/+2
2017-02-13Pass const target& to recipesBoris Kolpackov1-12/+12
2017-02-13Introduce target::task_countBoris Kolpackov1-72/+0
2017-02-13Implement target_set locking, including extension updateBoris Kolpackov1-3/+12
2017-02-13Pass const scope& where modification should not happenBoris Kolpackov1-7/+12
2017-02-13Add notion of phase, enforceBoris Kolpackov1-0/+12
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-21/+28
2017-01-19Get rid of extension_poolBoris Kolpackov1-2/+2
2017-01-19Get rid of project_name_poolBoris Kolpackov1-1/+1
With small string optimizations this is most likely a hindrance rather that an optimization.
2017-01-18Ignore prerequisite mtimes that are not linker inputsBoris Kolpackov1-6/+34
This makes sure, for example, that we don't unnecessarily re-link an executable when its testscript prerequisite is changes.
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-12-17Don't try to test out-of-project prerequisitesBoris Kolpackov1-7/+24
2016-11-04Cleanup match_result messBoris Kolpackov1-2/+1
2016-11-04Add support for skipping rule in delegate_match()Boris Kolpackov1-3/+3
2016-08-12Implement support for C compilationBoris Kolpackov1-0/+15
We now have two new modules: cc (c-common) and c.
2016-04-21Implement short-circuiting to group stateBoris Kolpackov1-3/+8
This is necessary to get rid of bogus restarts in inject_prerequisites() where it think a group member was updated since its state changed from unknown to (group's) changed.
2016-04-19Redesign src/out scopingBoris Kolpackov1-4/+7
We no longer enter paths from the src tree into scope map. Instead, targets from the src tree now include their out tree directory (in essence their "configuration"). This is then used to find a target's scope. See the comment in class target for details. The result of this change is that we can now again build multiple configurations (out trees) for same project at once.
2016-03-16Change prerequisite cleaning "limit" from subdirectories to same projectBoris Kolpackov1-2/+6
One day we will get this right.
2016-02-14Revert back to only cleaning targets in subdirectoriesBoris Kolpackov1-6/+2
Cleaning everything as long as it is in the same strong amalgamation had some undesirable side effects. For example, in bpkg, upgrading a package (which requires clean/reconfigure) led to all its prerequisite being cleaned as well and then rebuilt. That was very surprising.
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-10/+8
2016-01-23Change target_key::ext from pointer to pointer to reference to pointerBoris Kolpackov1-1/+1
Probably can also do for the rest of the target_key members.
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+197