aboutsummaryrefslogtreecommitdiff
path: root/build2/target-key
AgeCommit message (Collapse)AuthorFilesLines
2017-02-16Add cp builtinKaren Arutyunov1-1/+0
2017-02-13Store extension in target map key rather than in targetBoris Kolpackov1-3/+1
This is in preparation for locking its modification/access.
2017-01-19Get rid of extension_poolBoris Kolpackov1-4/+5
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-08-24Handle *.export.libs, distinguish interface and implementation dependenciesBoris Kolpackov1-0/+4
A library dependency on another libraries is either "interface" or "implementation". If it is interface, then everyone who links to this library should also link to the interface dependency, explicitly. A good example of an interface dependency is a library API that is called in inline functions. Interface dependencies of a library should be explicitly listed in the *.export.libs (where we can also list target names). So the typical usage will be along these lines: import int_libs = libfoo%lib{foo} import int_libs += ... import imp_libs = libbar%lib{bar} import imp_libs += ... lib{baz}: ... $int_libs $imp_libs lib{baz}: cxx.export.libs = $int_libs
2016-04-21Delete target_key assignment operators since we need tracking referencesBoris Kolpackov1-3/+14
2016-04-21Use hash map/set for targets/prerequisites to resolve key change issueBoris Kolpackov1-22/+42
2016-04-19Redesign src/out scopingBoris Kolpackov1-6/+8
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-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-5/+2
2016-01-24Differentiate extension printing according to stream verbosityBoris Kolpackov1-2/+11
2016-01-23Change target_key::ext from pointer to pointer to reference to pointerBoris Kolpackov1-5/+5
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/+55