aboutsummaryrefslogtreecommitdiff
path: root/build2/algorithm
AgeCommit message (Collapse)AuthorFilesLines
2017-03-04Call import_existing() from search_existing() now that we have itBoris Kolpackov1-4/+2
2017-03-03Fix cli distribution via groupBoris Kolpackov1-3/+4
2017-03-02Implement parallel matchBoris Kolpackov1-32/+118
2017-02-14Redo library meta-information protocol without match_only()Boris Kolpackov1-15/+11
2017-02-14Modify library mate-information protocol not to use lib{} groupBoris Kolpackov1-2/+4
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov1-3/+9
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-13Get rid of count_postponedBoris Kolpackov1-2/+2
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 Kolpackov1-2/+7
2017-02-13Implement parallel operation executionBoris Kolpackov1-20/+64
2017-02-13Pass const target& to recipesBoris Kolpackov1-20/+20
2017-02-13Introduce target::task_countBoris Kolpackov1-1/+2
2017-02-13Implement target_set locking, including extension updateBoris Kolpackov1-2/+2
2017-02-13Pass const scope& where modification should not happenBoris Kolpackov1-15/+12
2017-02-13Add notion of phase, enforceBoris Kolpackov1-0/+9
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-9/+10
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-13/+35
This makes sure, for example, that we don't unnecessarily re-link an executable when its testscript prerequisite is changes.
2017-01-12Inject fsdir{} even for project rootsBoris Kolpackov1-5/+5
This takes care of subprojects, such as tests/.
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-12-17Don't try to test out-of-project prerequisitesBoris Kolpackov1-15/+14
2016-11-04Add support for skipping rule in delegate_match()Boris Kolpackov1-5/+6
2016-08-31Compile first source file, not lastBoris Kolpackov1-6/+6
Some source files may include other files of the same type which can get injected at the end.
2016-08-29Implement initial support for library versioningBoris Kolpackov1-9/+19
Currently we only support platform-independent versions that get appended to the library name. The magic incantation is this: lib{foo}: bin.lib.version = @-1.2 This will produce libfoo-1.2.so, libfoo-1.2.dll, etc. In the future we will support things like this: lib{foo}: bin.lib.version = linux@1.2.3 freebsd@1.2 windows@1.2
2016-08-12Implement support for C compilationBoris Kolpackov1-1/+9
We now have two new modules: cc (c-common) and c.
2016-07-19Add support for building DLLs with VCBoris Kolpackov1-5/+5
2016-07-08Add dependency on fsdir{} in alias rulesBoris Kolpackov1-7/+9
This makes sure that a directory with only dir{} target gets cleaned up.
2016-07-08Implement limited rpath emulation for WindowsBoris Kolpackov1-7/+13
2016-06-17Initial take on DLL support for MinGW toolchainBoris Kolpackov1-0/+12
2016-04-19Redesign src/out scopingBoris Kolpackov1-0/+2
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-09Force creation of output directory before opening depdbBoris Kolpackov1-5/+5
2016-03-07Remove the depdb (.d) files when cleaningBoris Kolpackov1-1/+6
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-8/+7
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+222