aboutsummaryrefslogtreecommitdiff
path: root/build2/cxx/compile.cxx
AgeCommit message (Collapse)AuthorFilesLines
2016-04-23Revert back to using root scope in src_out()/out_src()Boris Kolpackov1-2/+2
Relaxing it to base was not wise since we can have "sideways" prerequisites (those from parallel directories such as brep's ../web/*).
2016-04-21Implement short-circuiting to group stateBoris Kolpackov1-3/+5
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/+16
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-31Clean up variable lookup interfacesBoris Kolpackov1-1/+1
2016-03-28Clean up variable usageBoris Kolpackov1-4/+4
2016-03-28Add variable cast from lookupBoris Kolpackov1-8/+8
2016-03-28New variable architectureBoris Kolpackov1-8/+8
2016-03-16Change prerequisite cleaning "limit" from subdirectories to same projectBoris Kolpackov1-3/+4
One day we will get this right.
2016-03-15Don't realize() header path if it comes from depdbBoris Kolpackov1-2/+4
2016-03-14Don't add non-existent/non-updatable headers to depdbBoris Kolpackov1-9/+7
2016-03-11Implement --config-{guess,sub} optionsBoris Kolpackov1-2/+0
2016-03-10Rename cxx.host.* to cxx.target.*Boris Kolpackov1-3/+3
2016-03-09Use depdb in cxx.link ruleBoris Kolpackov1-59/+29
2016-03-09Force creation of output directory before opening depdbBoris Kolpackov1-1/+15
2016-03-08Fix depdb/target update raceBoris Kolpackov1-2/+3
2016-03-07Use cxx.checksum value in cxx.compile depdbBoris Kolpackov1-11/+11
2016-03-07Remove the depdb (.d) files when cleaningBoris Kolpackov1-1/+1
2016-03-07Implement compiler guessing, including icc and msvcBoris Kolpackov1-1/+2
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov1-13/+13
2016-02-29Implement auxiliary dependency database (.d files), use in cxx.compileBoris Kolpackov1-289/+496
This is part of the "High Fidelity Build" work.
2016-02-15Skip until end of -M output instead of just closing pipeBoris Kolpackov1-3/+8
Clang 3.7.0 on Fedora didn't like that.
2016-02-14Revert back to only cleaning targets in subdirectoriesBoris Kolpackov1-7/+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-5/+0
2016-02-12Don't call realize() on non-existing header pathsBoris Kolpackov1-7/+9
2016-02-12Use path::realize() instead of normalize() for extracted dependenciesBoris Kolpackov1-1/+9
2016-01-27Add support for Mac OS target (-dynamiclib, -install_name, @rpath, .dylib)Boris Kolpackov1-2/+10
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+794