aboutsummaryrefslogtreecommitdiff
path: root/build2/cxx
AgeCommit message (Collapse)AuthorFilesLines
2016-04-25Fix bug in C++ compiler guessing logicBoris Kolpackov1-1/+1
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-22Clarify few @@ notesBoris Kolpackov2-2/+2
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 Kolpackov2-15/+33
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-04-11New configuration logic, iteration 1Boris Kolpackov2-19/+18
2016-03-31Clean up variable lookup interfacesBoris Kolpackov2-3/+3
2016-03-31Set part of variable override implementationBoris Kolpackov1-14/+16
2016-03-28Clean up variable usageBoris Kolpackov5-98/+128
2016-03-28Add variable cast from lookupBoris Kolpackov4-25/+25
2016-03-28New variable architectureBoris Kolpackov4-30/+30
2016-03-16Change prerequisite cleaning "limit" from subdirectories to same projectBoris Kolpackov2-7/+8
One day we will get this right.
2016-03-16Cleanup variable typingBoris Kolpackov1-14/+14
2016-03-16Cleanup typed variable assignmentBoris Kolpackov1-16/+16
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-14Add support for guessing ar/ranlib signaturesBoris Kolpackov3-10/+8
2016-03-14Don't pass -rpath on update for installBoris Kolpackov1-6/+35
2016-03-11Implement --config-{guess,sub} optionsBoris Kolpackov4-124/+37
2016-03-10Set build.host.* variablesBoris Kolpackov1-1/+1
2016-03-10Add target class (cxx.target.class)Boris Kolpackov1-6/+8
2016-03-10Rename cxx.host.* to cxx.target.*Boris Kolpackov3-12/+12
2016-03-09Use depdb in cxx.link ruleBoris Kolpackov2-89/+176
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 Kolpackov2-12/+11
2016-03-07Remove the depdb (.d) files when cleaningBoris Kolpackov1-1/+1
2016-03-07Implement compiler guessing, including icc and msvcBoris Kolpackov4-119/+1173
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov3-16/+16
2016-02-29Implement auxiliary dependency database (.d files), use in cxx.compileBoris Kolpackov4-301/+544
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 Kolpackov2-16/+6
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 Kolpackov10-27/+21
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 Mingw32 target, also config.bin.ar, config.bin.ranlibBoris Kolpackov1-12/+49
2016-01-27Add support for Mac OS target (-dynamiclib, -install_name, @rpath, .dylib)Boris Kolpackov2-32/+78
2016-01-27Rework default extension derivation, againBoris Kolpackov1-14/+11
2016-01-27Extract target from C++ compiler, set as cxx.host.{cpu,vendor,system,version}Boris Kolpackov1-1/+102
2016-01-24Differentiate extension printing according to stream verbosityBoris Kolpackov1-0/+6
2016-01-09Update copyright yearBoris Kolpackov13-13/+13
2016-01-05Rename build directory/namespace to build2Boris Kolpackov13-0/+2379