aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2016-04-21Use hash map/set for targets/prerequisites to resolve key change issueBoris Kolpackov7-38/+127
2016-04-20Print variable/value attributes in dump()Boris Kolpackov1-16/+45
2016-04-20Add missing cast() specializationBoris Kolpackov1-0/+9
2016-04-20Type install.mode variableBoris Kolpackov1-1/+2
2016-04-19Redesign src/out scopingBoris Kolpackov29-478/+544
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-18Add support for using value attributes in eval contextBoris Kolpackov12-275/+526
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-17Update NEWS fileBoris Kolpackov1-0/+101
2016-04-12Change text.exe to exe{*}:test (BC change)Boris Kolpackov1-1/+2
2016-04-12Change BACK to BC (backwards-compatibility) markerBoris Kolpackov1-1/+1
2016-04-12Add support for scope-qualification of overrides, scope visibilityBoris Kolpackov2-19/+93