aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-07-15Always generate separate object files for liba{} and libso{}Boris Kolpackov1-9/+5
While on some platforms they sometimes can be the same, they could also be built differently (e.g., based on command line macros, etc). I guess we could compare the set of options and if they are identical, then use the same file. But that will complicate things quite a bit, so maybe in version 2.
2016-07-15Make .pdb ad hoc group member, installBoris Kolpackov4-37/+88
2016-07-15Name and cleanup extra VC files (.pdb, .ilk, .idb)Boris Kolpackov6-52/+162
2016-07-13Use link.exe instead of cl.exe to link executablesBoris Kolpackov2-69/+109
2016-07-12Get src_root value if we have already bootstrapped this projectBoris Kolpackov1-0/+2
This fixes a core dump in out-of-source 'clean update' run.
2016-07-12Use ./ instead of just . to denote current directory in buildfilesBoris Kolpackov9-10/+10
2016-07-11Escape Windows path backslashes in synthesized .rc fileBoris Kolpackov1-2/+18
2016-07-11Reimplement Windows rpath emulation using embedded manifestsBoris Kolpackov5-391/+584
As a bonus, everyone now gets a sane default manifest.
2016-07-11Add bin.rc module (resource compiler)Boris Kolpackov5-24/+179
2016-07-11Add bin.ld sub-moduleBoris Kolpackov5-20/+236
2016-07-09Add config.bin.pattern, pass it as hint from cxx moduleBoris Kolpackov2-29/+169
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 Kolpackov6-27/+37
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 Kolpackov20-275/+315
2016-07-08Implement limited rpath emulation for WindowsBoris Kolpackov9-145/+589
2016-07-01Fix cli test to read cli output till the endKaren Arutyunov1-0/+6
2016-07-01Port to MSVCKaren Arutyunov11-48/+44
2016-06-28Work around static initialization order issueBoris Kolpackov3-10/+39
value_traits<T>::value_type initialization is not constexpr in VC because of pointers to function template instantiations (which apparently are not constexpr).
2016-06-27Add config.bin.target var/hint, use to decide libso{} install modeBoris Kolpackov14-175/+352
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 Kolpackov16-149/+153
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 Kolpackov17-28/+97
2016-06-26Minor module interface cleanupsBoris Kolpackov8-27/+33
2016-06-26Add notion of ad hoc group, use to handle DLL/import libraryBoris Kolpackov17-302/+611
2016-06-20Fix some more MinGW .dll.a searchBoris Kolpackov1-15/+43
2016-06-18Port to MinGWKaren Arutyunov28-71/+249
2016-06-18Fix MinGW .dll.a searchBoris Kolpackov1-8/+15
2016-06-18Cosmetic changesBoris Kolpackov2-6/+5
2016-06-17Initial take on DLL support for MinGW toolchainBoris Kolpackov6-65/+157
2016-06-11Temporarily add --strip-trailing-cr to diff options in test moduleBoris Kolpackov2-0/+3
2016-06-11Initial VC++ support (static libraries only)Boris Kolpackov12-335/+840
2016-06-03Treat trailing backslash as directory indicatorBoris Kolpackov1-13/+36
Note that with this change we broke reversibility for such names, i.e., 'foo\' name will be reversed to 'foo/'.
2016-05-21Recursively link prerequisite libraries of static librariesBoris Kolpackov1-4/+52
2016-04-26Bump version to 0.4.0-a1, master is open for businessBoris Kolpackov5-10/+10
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-25Suppress Clang warningBoris Kolpackov1-1/+1
2016-04-25Fix bug in C++ compiler guessing logicBoris Kolpackov1-1/+1
2016-04-25Add missing variable assignmentsBoris Kolpackov1-4/+4
2016-04-25Add workaround for GCC 4.8 bug in default initialization of union memberBoris Kolpackov1-3/+9
It appears to silently ignore this C++11 feature and leave the data uninitialized.
2016-04-23Add missing file to buildfileBoris Kolpackov1-1/+1
2016-04-23Backwards-compatibility fixesBoris Kolpackov1-1/+7
2016-04-23Revert back to using root scope in src_out()/out_src()Boris Kolpackov6-20/+22
Relaxing it to base was not wise since we can have "sideways" prerequisites (those from parallel directories such as brep's ../web/*).
2016-04-22Fix testBoris Kolpackov2-2/+2
2016-04-22NEWS file proofreading fixesBoris Kolpackov1-8/+8
2016-04-22Bump version to 0.3.0Boris Kolpackov5-9/+9
2016-04-22Clarify few @@ notesBoris Kolpackov2-2/+2
2016-04-22Update NEWS fileBoris Kolpackov1-22/+35
2016-04-21Move target state reset back to recipe()Boris Kolpackov4-10/+8
Doing it in target::reset() (which is called by match()) didn't play well with delegated recipes.
2016-04-21Update submodulesBoris Kolpackov2-0/+0
2016-04-21Fix legacy stuff in testsBoris Kolpackov13-39/+12
2016-04-21Implement short-circuiting to group stateBoris Kolpackov7-65/+90
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-21Delete target_key assignment operators since we need tracking referencesBoris Kolpackov1-3/+14