Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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 | 4 | -67/+91 | |
2016-07-20 | Move ar/ranlib to bin.ar sub-module, load in cxx unless shared-only build | Boris Kolpackov | 4 | -90/+154 | |
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 | 11 | -173/+291 | |
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 | 6 | -142/+421 | |
2016-07-18 | Add standard static/shared macros for imported installed libraries | Boris Kolpackov | 2 | -3/+50 | |
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 | 15 | -284/+463 | |
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-16 | Add support for prepend/append in target type/pattern-specific vars | Boris Kolpackov | 13 | -89/+371 | |
Semantically, these are similar to variable overrides and are essentially treated as "templates" that are applied on lookup to the "stem" value that is specific to the target type/name. For example: x = [string] a file{f*}: x =+ b sub/: { file{*}: x += c print $(file{foo}:x) # abc print $(file{bar}:x) # ac } | |||||
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 | 4 | -37/+88 | |
2016-07-15 | Name and cleanup extra VC files (.pdb, .ilk, .idb) | Boris Kolpackov | 6 | -52/+162 | |
2016-07-13 | Use link.exe instead of cl.exe to link executables | Boris Kolpackov | 2 | -69/+109 | |
2016-07-12 | Get src_root value if we have already bootstrapped this project | Boris Kolpackov | 1 | -0/+2 | |
This fixes a core dump in out-of-source 'clean update' run. | |||||
2016-07-12 | Use ./ instead of just . to denote current directory in buildfiles | Boris Kolpackov | 9 | -10/+10 | |
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 | 5 | -391/+584 | |
As a bonus, everyone now gets a sane default manifest. | |||||
2016-07-11 | Add bin.rc module (resource compiler) | Boris Kolpackov | 5 | -24/+179 | |
2016-07-11 | Add bin.ld sub-module | Boris Kolpackov | 5 | -20/+236 | |
2016-07-09 | Add config.bin.pattern, pass it as hint from cxx module | Boris Kolpackov | 2 | -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-08 | Add dependency on fsdir{} in alias rules | Boris Kolpackov | 6 | -27/+37 | |
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 | 20 | -275/+315 | |
2016-07-08 | Implement limited rpath emulation for Windows | Boris Kolpackov | 9 | -145/+589 | |
2016-07-01 | Fix cli test to read cli output till the end | Karen Arutyunov | 1 | -0/+6 | |
2016-07-01 | Port to MSVC | Karen Arutyunov | 11 | -48/+44 | |
2016-06-28 | Work around static initialization order issue | Boris Kolpackov | 3 | -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-27 | Add config.bin.target var/hint, use to decide libso{} install mode | Boris Kolpackov | 14 | -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-27 | Get rid of extern "C" in module boot()/init() | Boris Kolpackov | 16 | -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-26 | Add support for passing configuration hints via module init() | Boris Kolpackov | 17 | -28/+97 | |
2016-06-26 | Minor module interface cleanups | Boris Kolpackov | 8 | -27/+33 | |
2016-06-26 | Add notion of ad hoc group, use to handle DLL/import library | Boris Kolpackov | 17 | -302/+611 | |
2016-06-20 | Fix some more MinGW .dll.a search | Boris Kolpackov | 1 | -15/+43 | |
2016-06-18 | Port to MinGW | Karen Arutyunov | 28 | -71/+249 | |
2016-06-18 | Fix MinGW .dll.a search | Boris Kolpackov | 1 | -8/+15 | |
2016-06-18 | Cosmetic changes | Boris Kolpackov | 2 | -6/+5 | |
2016-06-17 | Initial take on DLL support for MinGW toolchain | Boris Kolpackov | 6 | -65/+157 | |
2016-06-11 | Temporarily add --strip-trailing-cr to diff options in test module | Boris Kolpackov | 2 | -0/+3 | |
2016-06-11 | Initial VC++ support (static libraries only) | Boris Kolpackov | 12 | -335/+840 | |
2016-06-03 | Treat trailing backslash as directory indicator | Boris Kolpackov | 1 | -13/+36 | |
Note that with this change we broke reversibility for such names, i.e., 'foo\' name will be reversed to 'foo/'. | |||||
2016-05-21 | Recursively link prerequisite libraries of static libraries | Boris Kolpackov | 1 | -4/+52 | |
2016-04-26 | Bump version to 0.4.0-a1, master is open for business | Boris Kolpackov | 5 | -10/+10 | |
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 | Suppress Clang warning | Boris Kolpackov | 1 | -1/+1 | |
2016-04-25 | Fix bug in C++ compiler guessing logic | Boris Kolpackov | 1 | -1/+1 | |
2016-04-25 | Add missing variable assignments | Boris Kolpackov | 1 | -4/+4 | |
2016-04-25 | Add workaround for GCC 4.8 bug in default initialization of union member | Boris Kolpackov | 1 | -3/+9 | |
It appears to silently ignore this C++11 feature and leave the data uninitialized. | |||||
2016-04-23 | Add missing file to buildfile | Boris Kolpackov | 1 | -1/+1 | |
2016-04-23 | Backwards-compatibility fixes | Boris Kolpackov | 1 | -1/+7 | |
2016-04-23 | Revert back to using root scope in src_out()/out_src() | Boris Kolpackov | 6 | -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-22 | Fix test | Boris Kolpackov | 2 | -2/+2 | |