Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-07-20 | Switch to dynamic empty() implementation in variable value | Boris Kolpackov | 1 | -1/+1 | |
The current model fell apart when we modified values directly. | |||||
2016-07-20 | Sanitize library name-derived macro for illegal characters ('-', etc) | Boris Kolpackov | 1 | -6/+11 | |
2016-07-20 | Print project name and out_root in config reports | Boris Kolpackov | 1 | -4/+2 | |
2016-07-20 | Move ar/ranlib to bin.ar sub-module, load in cxx unless shared-only build | Boris Kolpackov | 1 | -22/+42 | |
This way we don't load/configure what we don't need. | |||||
2016-07-19 | Add import library target libi{}, make libs{} the DLL | Boris Kolpackov | 5 | -120/+183 | |
In the end, having libs{} be the DLL with import library being its member is more natural than making libs{} the import library and having dll{} as its member. | |||||
2016-07-19 | Add support for building DLLs with VC | Boris Kolpackov | 3 | -131/+409 | |
2016-07-18 | Add standard static/shared macros for imported installed libraries | Boris Kolpackov | 1 | -1/+48 | |
2016-07-18 | Pick liba{}/libs{} before looking up cxx.export.* | Boris Kolpackov | 4 | -39/+73 | |
This way we can specify static library-specific defines which are necessary to handle DLL export. | |||||
2016-07-17 | Redesign obj to exe/lib mapping | Boris Kolpackov | 9 | -188/+320 | |
Specifically: * objso{} and libso{} target types have been renamed to objs{} and libs{} * obje{} has been added (so now we have obje{}, obja{}, and objs{}) * obje{} is now used for building exe{} * object file extensions have been changed to use "hierarchical extensions" that reflect the extension of the corresponding exe/lib target (instead of the -so suffix we used), specifically: obje{}: foo.o, (UNIX), foo.exe.o (MinGW), foo.exe.obj (Windows) obja{}: foo.a.o (UNIX, MinGW), foo.lib.obj (Windows) objs{}: foo.so.o (UNIX), foo.dylib.o (Darwin), foo.dll.o (MinGW), foo.dll.obj (Windows) | |||||
2016-07-15 | Always generate separate object files for liba{} and libso{} | Boris Kolpackov | 1 | -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-15 | Make .pdb ad hoc group member, install | Boris Kolpackov | 2 | -16/+41 | |
2016-07-15 | Name and cleanup extra VC files (.pdb, .ilk, .idb) | Boris Kolpackov | 3 | -40/+122 | |
2016-07-13 | Use link.exe instead of cl.exe to link executables | Boris Kolpackov | 2 | -69/+109 | |
2016-07-11 | Escape Windows path backslashes in synthesized .rc file | Boris Kolpackov | 1 | -2/+18 | |
2016-07-11 | Reimplement Windows rpath emulation using embedded manifests | Boris Kolpackov | 4 | -334/+525 | |
As a bonus, everyone now gets a sane default manifest. | |||||
2016-07-09 | Add config.bin.pattern, pass it as hint from cxx module | Boris Kolpackov | 1 | -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-08 | Add dependency on fsdir{} in alias rules | Boris Kolpackov | 2 | -2/+2 | |
This makes sure that a directory with only dir{} target gets cleaned up. | |||||
2016-07-08 | Move filesystem-related functions from context to new filesystem files | Boris Kolpackov | 1 | -2/+2 | |
2016-07-08 | Implement limited rpath emulation for Windows | Boris Kolpackov | 2 | -45/+428 | |
2016-07-01 | Port to MSVC | Karen Arutyunov | 2 | -10/+10 | |
2016-06-27 | Add config.bin.target var/hint, use to decide libso{} install mode | Boris Kolpackov | 1 | -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-27 | Get rid of extern "C" in module boot()/init() | Boris Kolpackov | 2 | -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-26 | Add support for passing configuration hints via module init() | Boris Kolpackov | 2 | -3/+11 | |
2016-06-26 | Minor module interface cleanups | Boris Kolpackov | 1 | -8/+4 | |
2016-06-26 | Add notion of ad hoc group, use to handle DLL/import library | Boris Kolpackov | 3 | -133/+170 | |
2016-06-20 | Fix some more MinGW .dll.a search | Boris Kolpackov | 1 | -15/+43 | |
2016-06-18 | Port to MinGW | Karen Arutyunov | 2 | -8/+34 | |
2016-06-18 | Fix MinGW .dll.a search | Boris Kolpackov | 1 | -8/+15 | |
2016-06-18 | Cosmetic changes | Boris Kolpackov | 1 | -1/+0 | |
2016-06-17 | Initial take on DLL support for MinGW toolchain | Boris Kolpackov | 3 | -26/+81 | |
2016-06-11 | Initial VC++ support (static libraries only) | Boris Kolpackov | 8 | -257/+728 | |
2016-05-21 | Recursively link prerequisite libraries of static libraries | Boris Kolpackov | 1 | -4/+52 | |
2016-04-26 | Add imported library rpaths before user-supplied0.3.0 | Boris Kolpackov | 1 | -9/+13 | |
This way we don't accidentally prefer old (installed) versions. | |||||
2016-04-25 | Fix bug in C++ compiler guessing logic | Boris Kolpackov | 1 | -1/+1 | |
2016-04-23 | Revert back to using root scope in src_out()/out_src() | Boris Kolpackov | 1 | -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-22 | Clarify few @@ notes | Boris Kolpackov | 2 | -2/+2 | |
2016-04-21 | Implement short-circuiting to group state | Boris Kolpackov | 1 | -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-19 | Redesign src/out scoping | Boris Kolpackov | 2 | -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-11 | New configuration logic, iteration 1 | Boris Kolpackov | 2 | -19/+18 | |
2016-03-31 | Clean up variable lookup interfaces | Boris Kolpackov | 2 | -3/+3 | |
2016-03-31 | Set part of variable override implementation | Boris Kolpackov | 1 | -14/+16 | |
2016-03-28 | Clean up variable usage | Boris Kolpackov | 5 | -98/+128 | |
2016-03-28 | Add variable cast from lookup | Boris Kolpackov | 4 | -25/+25 | |
2016-03-28 | New variable architecture | Boris Kolpackov | 4 | -30/+30 | |
2016-03-16 | Change prerequisite cleaning "limit" from subdirectories to same project | Boris Kolpackov | 2 | -7/+8 | |
One day we will get this right. | |||||
2016-03-16 | Cleanup variable typing | Boris Kolpackov | 1 | -14/+14 | |
2016-03-16 | Cleanup typed variable assignment | Boris Kolpackov | 1 | -16/+16 | |
2016-03-15 | Don't realize() header path if it comes from depdb | Boris Kolpackov | 1 | -2/+4 | |
2016-03-14 | Don't add non-existent/non-updatable headers to depdb | Boris Kolpackov | 1 | -9/+7 | |
2016-03-14 | Add support for guessing ar/ranlib signatures | Boris Kolpackov | 3 | -10/+8 | |