aboutsummaryrefslogtreecommitdiff
path: root/build2/bin/rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-02-07Initial work for default update outer operationBoris Kolpackov1-0/+2
While update still uses the old "all update rules update all their prerequisites" assumption, test and install have been fixed not to rely on this.
2018-02-03Get rid of action rule override semanticsBoris Kolpackov1-16/+8
Instead we now have two more or less separate match states for outer and inner parts of an action.
2017-08-01Reimplement pkg-config generation with more conservative approach for nowBoris Kolpackov1-2/+10
2017-07-31Experimental (and probably broken) pkg-config generation supportBoris Kolpackov1-10/+2
2017-07-27Initial infrastructure for utility librariesBoris Kolpackov1-20/+7
2017-05-31C++ modules work: add target typesBoris Kolpackov1-0/+14
2017-05-01Add hxx extension for headersKaren Arutyunov1-6/+6
2017-04-27Pass target to prerequisite searchBoris Kolpackov1-2/+2
2017-03-02Implement parallel matchBoris Kolpackov1-44/+11
2017-02-14Redo library meta-information protocol without match_only()Boris Kolpackov1-2/+0
2017-02-14Modify library mate-information protocol not to use lib{} groupBoris Kolpackov1-27/+11
2017-02-13Implement parallel operation executionBoris Kolpackov1-15/+2
2017-02-13Use target:as<> instead of static_cast for target castingBoris Kolpackov1-3/+3
2017-02-13Pass const target& to recipesBoris Kolpackov1-2/+2
2017-02-13Implement target_set locking, including extension updateBoris Kolpackov1-2/+2
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-8/+8
2017-01-19Get rid of extension_poolBoris Kolpackov1-2/+2
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-11-04Cleanup match_result messBoris Kolpackov1-11/+19
2016-07-17Redesign obj to exe/lib mappingBoris Kolpackov1-30/+31
Specifically: * objso{} and libso{} target types have been renamed to objs{} and libs{} * obje{} has been added (so now we have obje{}, obja{}, and objs{}) * obje{} is now used for building exe{} * object file extensions have been changed to use "hierarchical extensions" that reflect the extension of the corresponding exe/lib target (instead of the -so suffix we used), specifically: obje{}: foo.o, (UNIX), foo.exe.o (MinGW), foo.exe.obj (Windows) obja{}: foo.a.o (UNIX, MinGW), foo.lib.obj (Windows) objs{}: foo.so.o (UNIX), foo.dylib.o (Darwin), foo.dll.o (MinGW), foo.dll.obj (Windows)
2016-04-19Redesign src/out scopingBoris Kolpackov1-2/+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-28Add variable cast from lookupBoris Kolpackov1-2/+2
2016-03-28New variable architectureBoris Kolpackov1-2/+2
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-2/+2
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+145