Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-08-26 | Make target types project-wide | Boris Kolpackov | 1 | -34/+35 | |
2019-08-23 | Introduce notion of build context | Boris Kolpackov | 2 | -59/+63 | |
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time. | |||||
2019-08-15 | Add support for bin.lib.load_suffix | Boris Kolpackov | 1 | -2/+5 | |
This allow the creation of yet another symlink to the shared library that is meant to be used for dynamic loading. For example, we may want to embed the main program interface number into its plugins to make sure that we only load compatible versions. | |||||
2019-07-05 | Remove dead code (libu{}) | Boris Kolpackov | 3 | -30/+0 | |
2019-07-05 | Move config, dist, test, and install modules into library | Karen Arutyunov | 1 | -4/+4 | |
2019-07-04 | Remove libu{} target group | Boris Kolpackov | 3 | -38/+26 | |
The semantics provided by libu{} is rarely required and as result was not yet documented. However, if you are using it, the new way to achieve the same result is to use both libue{} and libul{} explicitly, for example: exe{foo}: libue{foo} lib{foo}: libul{foo} {libue libul}{foo}: cxx{*} | |||||
2019-07-01 | Split build system into library and driver | Boris Kolpackov | 8 | -20/+20 | |
2019-06-24 | Constrain access to options to build system driver main() only | Boris Kolpackov | 1 | -2/+2 | |
2019-06-19 | Improve diagnostics | Boris Kolpackov | 1 | -13/+13 | |
2019-06-03 | Adapt to renaming traits alias to traits_type for basic_path, basic_url, and ↵ | Karen Arutyunov | 1 | -4/+10 | |
string_table class templates | |||||
2019-04-30 | Initial take on header unit and include translation support | Boris Kolpackov | 4 | -4/+133 | |
2019-04-04 | Add ability to disable automatic rpath, support for custom rpath-link | Boris Kolpackov | 1 | -4/+43 | |
Specifically, the new config.bin.rpath.auto variable can be used to disable automatic addition of prerequisite library rpaths, for example: $ b config.bin.rpath.auto=false Note that in this case rpath-link is still added where normally required and for targets that support it (Linux and *BSD). The new config.bin.rpath_link and config.bin.rpath_link.auto have the same semantics as config.bin.rpath* but for rpath-link. | |||||
2019-03-07 | Move bunch of root scope-only data members to root_extra | Boris Kolpackov | 1 | -1/+1 | |
2019-02-03 | Fix bug in bin module | Boris Kolpackov | 1 | -1/+1 | |
2019-01-16 | Update copyright year | Karen Arutyunov | 8 | -8/+8 | |
2018-11-05 | Only search for external tools (compilers, linkers, etc) in PATH | Boris Kolpackov | 1 | -4/+13 | |
Specifically, omit the current executable's directory on Windows since there is no reason for them to be found there automagically and this can lead to surprising behavior (for example, our MinGW GCC being used instead of the user's even though the user's is in PATH before ours). | |||||
2018-11-02 | Fix typo | Boris Kolpackov | 1 | -1/+1 | |
2018-10-26 | Add config.{c,cxx}.{id,version,target} configuration variables | Boris Kolpackov | 2 | -10/+10 | |
These variables allow overriding guessed compiler id/version/target, for example, in case of mis-guesses or when working with compilers that don't report their base (e.g., GCC, Clang) with -v/--version (common in the embedded space). | |||||
2018-10-19 | Suggest override variable (config.x) when tool is not found | Boris Kolpackov | 1 | -6/+41 | |
2018-08-27 | Don't insist on install rules for non-file targets | Boris Kolpackov | 1 | -2/+2 | |
This helps with (not) installing libu*{} groups. | |||||
2018-08-27 | Fix diagnostics bug | Boris Kolpackov | 1 | -2/+1 | |
2018-08-25 | Implement missing pieces in utility libraries support | Boris Kolpackov | 5 | -129/+228 | |
In particular, we can now build static libraries out of utility libraries. | |||||
2018-08-14 | Use thin archives if available for utility libraries | Boris Kolpackov | 3 | -34/+116 | |
Thin archives are supported by GNU ar since binutils 2.19.1 and LLVM ar since LLVM 3.8.0. | |||||
2018-07-16 | Implement in module | Boris Kolpackov | 2 | -3/+3 | |
Given test.in containing something along these lines: foo = $foo$ Now we can do: using in file{test}: in{test.in} file{test}: foo = FOO The alternative variable substitution symbol can be specified with the in.symbol variable and lax (instead of the default strict) mode with in.substitution. For example: file{test}: in.symbol = '@' file{test}: in.substitution = lax | |||||
2018-06-12 | Add built-in support for Windows module definition files (.def) | Boris Kolpackov | 3 | -0/+35 | |
2018-05-19 | Update copyright year | Karen Arutyunov | 8 | -8/+8 | |
2018-02-22 | Fortify GNU binutils detection against vendor customizations | Boris Kolpackov | 1 | -11/+16 | |
2018-02-14 | Don't ignore objX{} and bmiX{} prerequisites in cc::link_rule | Boris Kolpackov | 2 | -16/+60 | |
2018-02-07 | Initial work for default update outer operation | Boris Kolpackov | 2 | -0/+4 | |
While update still uses the old "all update rules update all their prerequisites" assumption, test and install have been fixed not to rely on this. | |||||
2018-02-03 | Get rid of action rule override semantics | Boris Kolpackov | 5 | -29/+35 | |
Instead we now have two more or less separate match states for outer and inner parts of an action. | |||||
2017-12-16 | Improve process execution diagnostics by reusing run_*() API | Boris Kolpackov | 2 | -10/+11 | |
2017-12-07 | Distinguish between "fixed" and "default" target extensions | Boris Kolpackov | 1 | -47/+53 | |
This fixes wrong merging of, say, file{README} and file{README.MySQL} (in libmysqlclient). | |||||
2017-12-04 | Improve cc/bin target mismatch diagnostics | Boris Kolpackov | 1 | -1/+1 | |
2017-08-04 | Add extracted from pkg-config prerequisite libraries as prerequisites | Boris Kolpackov | 2 | -3/+7 | |
2017-08-01 | Reimplement pkg-config generation with more conservative approach for now | Boris Kolpackov | 1 | -2/+10 | |
2017-07-31 | Experimental (and probably broken) pkg-config generation support | Boris Kolpackov | 1 | -10/+2 | |
2017-07-28 | Implement support for linking whole archive | Boris Kolpackov | 1 | -0/+18 | |
2017-07-27 | Initial infrastructure for utility libraries | Boris Kolpackov | 5 | -48/+173 | |
2017-05-31 | C++ modules work: add target types | Boris Kolpackov | 5 | -49/+182 | |
2017-05-01 | Add hxx extension for headers | Karen Arutyunov | 8 | -45/+45 | |
2017-04-27 | Pass target to prerequisite search | Boris Kolpackov | 2 | -10/+10 | |
2017-03-10 | Implement support for wildcard patterns | Boris Kolpackov | 1 | -0/+8 | |
2017-03-04 | Only set install variables if install module has been loaded | Boris Kolpackov | 1 | -23/+30 | |
While generally a good idea, failing to do this trips up our load generation protection. | |||||
2017-03-02 | Implement parallel match | Boris Kolpackov | 4 | -158/+95 | |
2017-02-14 | Redo library meta-information protocol without match_only() | Boris Kolpackov | 1 | -2/+0 | |
2017-02-14 | Modify library mate-information protocol not to use lib{} group | Boris Kolpackov | 3 | -39/+11 | |
2017-02-13 | Tighten target constness further | Boris Kolpackov | 1 | -5/+9 | |
2017-02-13 | Implement parallel operation execution | Boris Kolpackov | 1 | -15/+2 | |
2017-02-13 | Use target:as<> instead of static_cast for target casting | Boris Kolpackov | 1 | -3/+3 | |
2017-02-13 | Pass const target& to recipes | Boris Kolpackov | 3 | -13/+13 | |