Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-04-08 | Support for --dry-run|-n mode, perform update part | Boris Kolpackov | 1 | -3/+5 | |
2019-01-16 | Update copyright year | Karen Arutyunov | 6 | -6/+6 | |
2018-11-28 | Add --[no-]mtime-check options to control this behavior at runtime | Boris Kolpackov | 1 | -1/+1 | |
By default the checks are enabled only for the staged toolchain. | |||||
2018-11-22 | Make backwards modification time check permanent, add another experiment | Boris Kolpackov | 1 | -8/+9 | |
2018-11-19 | Finalize workaround for backwards modification time issue | Boris Kolpackov | 1 | -1/+1 | |
2018-11-05 | Only search for external tools (compilers, linkers, etc) in PATH | Boris Kolpackov | 1 | -1/+7 | |
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-10-19 | Suggest override variable (config.x) when tool is not found | Boris Kolpackov | 1 | -2/+4 | |
2018-07-30 | Fortify cli detection against "other" cli's (like Mono JIT compiler) | Boris Kolpackov | 1 | -12/+25 | |
2018-07-16 | Implement in module | Boris Kolpackov | 1 | -2/+2 | |
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-29 | Use depdb to track changes to cli compiler, options, etc | Boris Kolpackov | 2 | -22/+88 | |
2018-06-28 | Implement support for excluded and ad hoc prerequisites | Boris Kolpackov | 1 | -41/+36 | |
The inclusion/exclusion is controlled via the 'include' prerequisite-specific variable. Valid values are: false - exclude true - include adhoc - include but treat as an ad hoc input For example: lib{foo}: cxx{win32-utility}: include = ($cxx.targe.class == 'windows') exe{bar}: libs{plugin}: include = adhoc | |||||
2018-05-19 | Update copyright year | Karen Arutyunov | 6 | -6/+6 | |
2018-02-07 | Initial work for default update outer operation | Boris Kolpackov | 2 | -3/+5 | |
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 | -14/+14 | |
Instead we now have two more or less separate match states for outer and inner parts of an action. | |||||
2017-12-17 | Trace non-zero process exit code | Boris Kolpackov | 1 | -1/+3 | |
Also convert to using operator<<(ostream,process_exit). | |||||
2017-12-16 | Improve process execution diagnostics by reusing run_*() API | Boris Kolpackov | 2 | -18/+4 | |
2017-12-07 | Distinguish between "fixed" and "default" target extensions | Boris Kolpackov | 1 | -10/+9 | |
This fixes wrong merging of, say, file{README} and file{README.MySQL} (in libmysqlclient). | |||||
2017-11-24 | Fix few bugs in generated header path remapping logic | Boris Kolpackov | 1 | -1/+1 | |
2017-08-23 | Add perform_clean_group(), use instead of ad hoc implementation in cli rule | Boris Kolpackov | 2 | -33/+1 | |
2017-08-05 | Add note | Boris Kolpackov | 1 | -0/+2 | |
2017-05-01 | Add hxx extension for headers | Karen Arutyunov | 6 | -40/+40 | |
2017-04-28 | Implement support for pre-processing version headers (or other files) | Boris Kolpackov | 1 | -14/+14 | |
Also implement the build system version check. | |||||
2017-04-27 | Pass target to prerequisite search | Boris Kolpackov | 2 | -5/+8 | |
2017-04-10 | Adapt to process_error change | Karen Arutyunov | 2 | -2/+2 | |
2017-03-10 | Implement support for wildcard patterns | Boris Kolpackov | 1 | -0/+2 | |
2017-03-03 | Fix cli distribution via group | Boris Kolpackov | 2 | -18/+17 | |
2017-03-02 | Implement parallel match | Boris Kolpackov | 4 | -81/+51 | |
2017-02-13 | Tighten target constness further | Boris Kolpackov | 3 | -30/+20 | |
2017-02-13 | Use target:as<> instead of static_cast for target casting | Boris Kolpackov | 2 | -3/+5 | |
2017-02-13 | Pass const target& to recipes | Boris Kolpackov | 2 | -8/+8 | |
2017-02-13 | Implement target_set locking, including extension update | Boris Kolpackov | 1 | -7/+5 | |
2017-02-13 | Store extension in target map key rather than in target | Boris Kolpackov | 3 | -8/+11 | |
This is in preparation for locking its modification/access. | |||||
2017-02-13 | Pass const scope& where modification should not happen | Boris Kolpackov | 1 | -1/+1 | |
2017-02-13 | Implement pattern-based variable typing, tighten variable type update | Boris Kolpackov | 1 | -3/+3 | |
2017-02-13 | Add model mutex, make var_pool const by default | Boris Kolpackov | 3 | -12/+12 | |
2017-01-24 | Add default constructors to *_rule classes to make older clang happy | Karen Arutyunov | 1 | -0/+2 | |
2017-01-23 | Make rules const throughout | Boris Kolpackov | 1 | -1/+1 | |
2017-01-23 | Go back to storing scope instead of target in prerequisite | Boris Kolpackov | 1 | -1/+1 | |
Turns out this was semantically the right way to do it. | |||||
2017-01-20 | Remove prerequisite caching in scope | Boris Kolpackov | 1 | -1/+1 | |
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 | 3 | -8/+8 | |
2017-01-18 | Ignore prerequisite mtimes that are not linker inputs | Boris Kolpackov | 1 | -4/+10 | |
This makes sure, for example, that we don't unnecessarily re-link an executable when its testscript prerequisite is changes. | |||||
2017-01-09 | Make use of operator<<(ostream, exception) | Karen Arutyunov | 2 | -2/+2 | |
2017-01-05 | Update copyright year | Boris Kolpackov | 6 | -6/+6 | |
2016-12-17 | Add support for specifying individual paths of imported targets | Boris Kolpackov | 1 | -1/+1 | |
The new config.import.* variable format is: config.import.<proj>.<name>[.<type>] For example: b config.import.build2.b=/opt/build2/bin/b b config.import.build2.b.exe=b-boot | |||||
2016-11-26 | Add support for VC15 | Karen Arutyunov | 1 | -1/+1 | |
2016-11-23 | Add support for config.cli=false (leave unconfigured) | Boris Kolpackov | 1 | -19/+38 | |
2016-11-04 | Adopt to auto_fd introduced to libbutl fdstreams and process | Karen Arutyunov | 1 | -1/+1 | |
2016-11-04 | Cleanup match_result mess | Boris Kolpackov | 2 | -9/+9 | |
2016-09-17 | Audit all print_process()/process ctor for path_search() | Karen Arutyunov | 1 | -3/+4 | |
2016-09-15 | Add io_error alias for std::ios_base::failure | Karen Arutyunov | 1 | -1/+1 | |