Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-04-28 | Implement support for pre-processing version headers (or other files) | Boris Kolpackov | 1 | -0/+13 | |
Also implement the build system version check. | |||||
2017-04-28 | Add in{} target type for .in ("input") file (requires preprocessing) | Boris Kolpackov | 1 | -0/+33 | |
2017-04-27 | Pass target to prerequisite search | Boris Kolpackov | 1 | -17/+22 | |
2017-03-14 | Preserve failed state even if recipe is overridden | Boris Kolpackov | 1 | -1/+3 | |
2017-03-14 | Implement implied buildfile support | Boris Kolpackov | 1 | -1/+6 | |
In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory). | |||||
2017-03-10 | Implement support for wildcard patterns | Boris Kolpackov | 1 | -0/+8 | |
2017-03-06 | Iterate over group members in test rule only if resolvable | Boris Kolpackov | 1 | -17/+37 | |
2017-03-03 | Use final action state after match at top level (operation) | Boris Kolpackov | 1 | -6/+13 | |
2017-03-02 | Implement parallel match | Boris Kolpackov | 1 | -230/+371 | |
2017-02-14 | Modify library mate-information protocol not to use lib{} group | Boris Kolpackov | 1 | -6/+0 | |
2017-02-14 | Initialize target::state_ | Boris Kolpackov | 1 | -1/+1 | |
We may need it even before recipe() resets it, for example, in mtime(). | |||||
2017-02-13 | Make GCC 4.9, VC14 happy | Boris Kolpackov | 1 | -1/+1 | |
2017-02-13 | Implement parallel error propagation, keep_going mode | Boris Kolpackov | 1 | -14/+29 | |
Keep going is the default but there is now the -s|--serial-stop that makes the driver run serially and stop at first error. Also fix some lockups, other minor improvements/features. | |||||
2017-02-13 | Get rid of count_postponed | Boris Kolpackov | 1 | -8/+8 | |
Terget execution is postponed with regards to the current thread only thus it doesn't seem right to make postponed a target state. | |||||
2017-02-13 | Tighten target constness further | Boris Kolpackov | 1 | -10/+8 | |
2017-02-13 | Implement parallel operation execution | Boris Kolpackov | 1 | -22/+20 | |
2017-02-13 | Use target:as<> instead of static_cast for target casting | Boris Kolpackov | 1 | -18/+25 | |
2017-02-13 | Tighten code that operates during both search/match and execute | Boris Kolpackov | 1 | -0/+12 | |
2017-02-13 | Pass const target& to recipes | Boris Kolpackov | 1 | -44/+52 | |
2017-02-13 | Introduce target::task_count | Boris Kolpackov | 1 | -21/+43 | |
2017-02-13 | Implement target_set locking, including extension update | Boris Kolpackov | 1 | -11/+23 | |
2017-02-13 | Redesign target_set interface in preparation for locking | Boris Kolpackov | 1 | -10/+17 | |
2017-02-13 | Store extension in target map key rather than in target | Boris Kolpackov | 1 | -10/+13 | |
This is in preparation for locking its modification/access. | |||||
2017-02-13 | Pass const scope& where modification should not happen | Boris Kolpackov | 1 | -8/+8 | |
2017-02-13 | Add load generation to global variable_map values | Boris Kolpackov | 1 | -1/+1 | |
2017-02-13 | Add global flag to variable_map | Boris Kolpackov | 1 | -1/+3 | |
2017-02-13 | Add model mutex, make var_pool const by default | Boris Kolpackov | 1 | -32/+25 | |
2017-01-23 | Go back to storing scope instead of target in prerequisite | Boris Kolpackov | 1 | -5/+2 | |
Turns out this was semantically the right way to do it. | |||||
2017-01-23 | Implement automatic loading of directory buildfiles | Boris Kolpackov | 1 | -13/+27 | |
Now instead of explicitly writing: d = foo/ bar/ ./: $d include $d We can (usually) just write: ./: foo/ bar/ | |||||
2017-01-20 | Remove prerequisite caching in scope | Boris Kolpackov | 1 | -45/+42 | |
We don't share them often and those that are shared (e.g., cxx{} in obja/objs{}) are lightweight (SOO). | |||||
2017-01-19 | Get rid of extension_pool | Boris Kolpackov | 1 | -19/+19 | |
2017-01-19 | Get rid of project_name_pool | Boris Kolpackov | 1 | -2/+4 | |
With small string optimizations this is most likely a hindrance rather that an optimization. | |||||
2017-01-18 | Ignore prerequisite mtimes that are not linker inputs | Boris Kolpackov | 1 | -0/+15 | |
This makes sure, for example, that we don't unnecessarily re-link an executable when its testscript prerequisite is changes. | |||||
2017-01-05 | Update copyright year | Boris Kolpackov | 1 | -1/+1 | |
2016-12-17 | Use PATH search as fallback import mechanism for exe{} targets | Boris Kolpackov | 1 | -0/+12 | |
2016-12-16 | Move exe{} to build2 core, add fallback extensions (existing files) | Boris Kolpackov | 1 | -7/+20 | |
2016-11-04 | Cleanup match_result mess | Boris Kolpackov | 1 | -0/+6 | |
2016-11-04 | Add target::out_dir() accessor | Boris Kolpackov | 1 | -1/+4 | |
2016-11-04 | Implement auxiliary data storage pad in target | Boris Kolpackov | 1 | -3/+70 | |
2016-11-04 | Various design/implementation cleanups | Boris Kolpackov | 1 | -4/+8 | |
2016-08-28 | Fix Windows rpath support | Boris Kolpackov | 1 | -2/+2 | |
2016-08-12 | Implement support for C compilation | Boris Kolpackov | 1 | -3/+20 | |
We now have two new modules: cc (c-common) and c. | |||||
2016-07-29 | Fix bug in prerequisite iteration leave group support | Boris Kolpackov | 1 | -0/+2 | |
2016-07-19 | Add import library target libi{}, make libs{} the DLL | Boris Kolpackov | 1 | -4/+8 | |
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 | 1 | -1/+1 | |
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 | Make .pdb ad hoc group member, install | Boris Kolpackov | 1 | -1/+13 | |
2016-06-27 | Add config.bin.target var/hint, use to decide libso{} install mode | Boris Kolpackov | 1 | -4/+4 | |
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-26 | Add notion of ad hoc group, use to handle DLL/import library | Boris Kolpackov | 1 | -49/+116 | |
2016-06-18 | Cosmetic changes | Boris Kolpackov | 1 | -5/+5 | |
2016-04-21 | Move target state reset back to recipe() | Boris Kolpackov | 1 | -6/+4 | |
Doing it in target::reset() (which is called by match()) didn't play well with delegated recipes. |