Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-11-26 | Add support for VC15 | Karen Arutyunov | 1 | -1/+1 | |
2016-11-04 | Fix Clang and VC warnings | Karen Arutyunov | 1 | -1/+5 | |
2016-11-04 | Cleanup match_result mess | Boris Kolpackov | 2 | -15/+23 | |
2016-11-04 | Implement auxiliary data storage pad in target | Boris Kolpackov | 2 | -1/+3 | |
2016-11-04 | Various design/implementation cleanups | Boris Kolpackov | 1 | -2/+2 | |
2016-08-30 | Add support for target visibility, use for dist, test, install | Boris Kolpackov | 1 | -2/+1 | |
This means we can no longer write: install = false Now it should be: *: install = false | |||||
2016-08-30 | Remove backwards-compatibility kludges | Boris Kolpackov | 1 | -3/+0 | |
2016-08-29 | Implement initial support for library versioning | Boris Kolpackov | 1 | -0/+6 | |
Currently we only support platform-independent versions that get appended to the library name. The magic incantation is this: lib{foo}: bin.lib.version = @-1.2 This will produce libfoo-1.2.so, libfoo-1.2.dll, etc. In the future we will support things like this: lib{foo}: bin.lib.version = linux@1.2.3 freebsd@1.2 windows@1.2 | |||||
2016-08-26 | Add pkg-config support for import installed | Boris Kolpackov | 1 | -2/+2 | |
Redesign library importing/exporting while at it. | |||||
2016-08-22 | Cache process_path, use fallback search directory for binutils | Boris Kolpackov | 3 | -63/+111 | |
2016-08-19 | Implement uninstall operation | Boris Kolpackov | 1 | -0/+1 | |
2016-08-17 | Add config.bin.{prefix,suffix} convenience values | Boris Kolpackov | 1 | -8/+18 | |
These can be used to specify for both lib and exe. | |||||
2016-08-17 | Add support for config.bin.{lib,exe}.{prefix,suffix} | Boris Kolpackov | 1 | -13/+33 | |
This replaces the bin.libprefix functionality. | |||||
2016-08-12 | Rename module to init | Boris Kolpackov | 2 | -6/+6 | |
2016-08-12 | Add support for ordering modules in config.build | Boris Kolpackov | 1 | -0/+4 | |
2016-08-12 | Implement c/cxx toolchain cross-hinting | Boris Kolpackov | 1 | -42/+29 | |
2016-08-12 | Implement support for C compilation | Boris Kolpackov | 2 | -64/+196 | |
We now have two new modules: cc (c-common) and c. | |||||
2016-07-21 | Add backwards-compatibility hack for ranlib | Boris Kolpackov | 1 | -0/+3 | |
2016-07-21 | Save default/hinted ar/ld/rc values as commented out | Boris Kolpackov | 3 | -21/+35 | |
This way, when we, for example, change the C++ compiler (which hinted these values), they will be automatically adjusted as well. | |||||
2016-07-20 | Print project name and out_root in config reports | Boris Kolpackov | 1 | -16/+16 | |
2016-07-20 | Move ar/ranlib to bin.ar sub-module, load in cxx unless shared-only build | Boris Kolpackov | 2 | -68/+111 | |
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 | 3 | -36/+81 | |
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-17 | Redesign obj to exe/lib mapping | Boris Kolpackov | 4 | -95/+141 | |
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-11 | Add bin.rc module (resource compiler) | Boris Kolpackov | 4 | -24/+178 | |
2016-07-11 | Add bin.ld sub-module | Boris Kolpackov | 4 | -20/+235 | |
2016-07-09 | Add config.bin.pattern, pass it as hint from cxx module | Boris Kolpackov | 1 | -16/+95 | |
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-01 | Port to MSVC | Karen Arutyunov | 1 | -1/+1 | |
2016-06-27 | Add config.bin.target var/hint, use to decide libso{} install mode | Boris Kolpackov | 1 | -57/+152 | |
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 | Add notion of ad hoc group, use to handle DLL/import library | Boris Kolpackov | 1 | -4/+8 | |
2016-06-11 | Initial VC++ support (static libraries only) | Boris Kolpackov | 3 | -77/+111 | |
2016-04-21 | Move target state reset back to recipe() | Boris Kolpackov | 1 | -2/+0 | |
Doing it in target::reset() (which is called by match()) didn't play well with delegated recipes. | |||||
2016-04-21 | Implement short-circuiting to group state | Boris Kolpackov | 1 | -0/+2 | |
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 | -22/+46 | |
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 | -14/+13 | |
2016-03-31 | Set part of variable override implementation | Boris Kolpackov | 1 | -16/+19 | |
2016-03-28 | Clean up variable usage | Boris Kolpackov | 1 | -16/+16 | |
2016-03-28 | Add variable cast from lookup | Boris Kolpackov | 1 | -2/+2 | |
2016-03-28 | New variable architecture | Boris Kolpackov | 2 | -5/+5 | |
2016-03-16 | Cleanup variable typing | Boris Kolpackov | 1 | -16/+16 | |
2016-03-16 | Cleanup typed variable assignment | Boris Kolpackov | 1 | -6/+4 | |
2016-03-14 | Add support for guessing ar/ranlib signatures | Boris Kolpackov | 3 | -10/+231 | |
2016-03-09 | Use depdb in cxx.link rule | Boris Kolpackov | 1 | -5/+13 | |
2016-02-29 | Rename level[1-6]() to l[1-6]() | Boris Kolpackov | 1 | -1/+1 | |
2016-02-12 | <types>/<utility> scheme cleanup | Boris Kolpackov | 4 | -5/+11 | |
2016-01-27 | Add support for Mingw32 target, also config.bin.ar, config.bin.ranlib | Boris Kolpackov | 1 | -0/+18 | |
2016-01-27 | Rework default extension derivation, again | Boris Kolpackov | 1 | -8/+7 | |
2016-01-24 | Differentiate extension printing according to stream verbosity | Boris Kolpackov | 1 | -0/+7 | |
2016-01-23 | Clean up default target extension derivation logic | Boris Kolpackov | 1 | -3/+15 | |