aboutsummaryrefslogtreecommitdiff
path: root/build2/cxx
AgeCommit message (Collapse)AuthorFilesLines
2016-07-11Escape Windows path backslashes in synthesized .rc fileBoris Kolpackov1-2/+18
2016-07-11Reimplement Windows rpath emulation using embedded manifestsBoris Kolpackov4-334/+525
As a bonus, everyone now gets a sane default manifest.
2016-07-09Add config.bin.pattern, pass it as hint from cxx moduleBoris Kolpackov1-13/+74
With this change we normally no longer need to specify config.bin.ar explicitly when cross-compiling or set it to lib.exe for VC.
2016-07-08Add dependency on fsdir{} in alias rulesBoris Kolpackov2-2/+2
This makes sure that a directory with only dir{} target gets cleaned up.
2016-07-08Move filesystem-related functions from context to new filesystem filesBoris Kolpackov1-2/+2
2016-07-08Implement limited rpath emulation for WindowsBoris Kolpackov2-45/+428
2016-07-01Port to MSVCKaren Arutyunov2-10/+10
2016-06-27Add config.bin.target var/hint, use to decide libso{} install modeBoris Kolpackov1-80/+98
Normally the user doesn't need to specify config.bin.target explicitly since the cxx module will hint it. We now also have the whole set of target's components: bin.target.{cpu,vendor,system,version,class}
2016-06-27Get rid of extern "C" in module boot()/init()Boris Kolpackov2-16/+16
We will have a separate (extern "C") register() function that will return the pointers to these two. This way we can still throw exceptions from boot() and init().
2016-06-26Add support for passing configuration hints via module init()Boris Kolpackov2-3/+11
2016-06-26Minor module interface cleanupsBoris Kolpackov1-8/+4
2016-06-26Add notion of ad hoc group, use to handle DLL/import libraryBoris Kolpackov3-133/+170
2016-06-20Fix some more MinGW .dll.a searchBoris Kolpackov1-15/+43
2016-06-18Port to MinGWKaren Arutyunov2-8/+34
2016-06-18Fix MinGW .dll.a searchBoris Kolpackov1-8/+15
2016-06-18Cosmetic changesBoris Kolpackov1-1/+0
2016-06-17Initial take on DLL support for MinGW toolchainBoris Kolpackov3-26/+81
2016-06-11Initial VC++ support (static libraries only)Boris Kolpackov8-257/+728
2016-05-21Recursively link prerequisite libraries of static librariesBoris Kolpackov1-4/+52
2016-04-26Add imported library rpaths before user-supplied0.3.0Boris Kolpackov1-9/+13
This way we don't accidentally prefer old (installed) versions.
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.