Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2024-10-08 | Expose custom save function in config module | Boris Kolpackov | 1 | -14/+44 | |
It can generally be useful, for example, to complete relative paths before saving them to config.build (if abs_dir_path does not fit). | |||||
2022-10-13 | Optimize by going straight to public variable pool where applicable | Boris Kolpackov | 1 | -2/+2 | |
2022-10-10 | Preparatory work for public/private variable distinction | Boris Kolpackov | 1 | -0/+8 | |
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool(). | |||||
2022-06-14 | Tighten value::extra usage in config module | Boris Kolpackov | 1 | -0/+5 | |
Specifically, only values marked with 1 are treated as default leaving other values for use for other purposes. | |||||
2022-06-06 | Add another config::origin() overload | Boris Kolpackov | 1 | -0/+8 | |
2022-06-03 | Move config::variable_visibility to separate types.hxx header | Boris Kolpackov | 1 | -8/+2 | |
2022-05-23 | Add config::origin(const variable&) overload | Boris Kolpackov | 1 | -0/+3 | |
2022-05-20 | Make $config.origin() also available internally as config::origin() | Boris Kolpackov | 1 | -0/+16 | |
2022-03-23 | Clarify config::save_*_omitted semantics | Boris Kolpackov | 1 | -5/+12 | |
2021-09-20 | Assign pre-defined semantics to config.<project>.develop variables | Boris Kolpackov | 1 | -12/+25 | |
This variable allows a project to distinguish between development and consumption builds. While normally there is no distinction between these two modes, sometimes a project may need to provide additional functionality during development. For example, a source code generator which uses its own generated code in its implementation may need to provide a bootstrap step from the pre-generated code. Normally, such a step is only needed during development. See "Project Configuration" in the manual for details. | |||||
2021-04-26 | Detect and diagnose presence of certain GCC environment variables | Boris Kolpackov | 1 | -7/+6 | |
Their presence is incompatible with what we are doing. | |||||
2021-04-22 | Add another hash/save_environment() overload | Boris Kolpackov | 1 | -0/+10 | |
2021-04-20 | Track changes to environment in cc rules | Boris Kolpackov | 1 | -1/+3 | |
2021-04-07 | Register environment variables for hermetic build configurations | Boris Kolpackov | 1 | -2/+81 | |
2021-03-26 | Implement config.config.environment storage | Boris Kolpackov | 1 | -0/+2 | |
2020-09-24 | Add ability to ignore extra variables in specified_config() | Boris Kolpackov | 1 | -2/+12 | |
2020-08-18 | Add ability to mark config.* variables as "unsaved" (always transient) | Boris Kolpackov | 1 | -1/+13 | |
2020-08-16 | Add support for post-configure and pre-disfigure hooks | Boris Kolpackov | 1 | -7/+40 | |
2020-04-27 | Rework tool importation along with cli module | Boris Kolpackov | 1 | -0/+14 | |
Specifically, now config.<tool> (like config.cli) is handled by the import machinery (it is like a shorter alias for config.import.<tool>.<tool>.exe that we already had). And the cli module now uses that instead of custom logic. This also adds support for uniform tool metadata extraction that is handled by the import machinery. As a result, a tool that follows the "build2 way" can be imported with metadata by the buildfile and/or corresponding module without any tool-specific code or brittleness associated with parsing --version or similar outputs. See the cli tool/module for details. Finally, two new flavors of the import directive are now supported: import! triggers immediate importation skipping any rule-specific logic while import? is optional import (analogous to using?). Note that optional import is always immediate. There is also the import-specific metadata attribute which can be specified for these two import flavors in order to trigger metadata importation. For example: import? [metadata] cli = cli%exe{cli} if ($cli != [null]) info "cli version $($cli:cli.version)" | |||||
2020-04-27 | Add utility config::{assign,append}_config() functions | Boris Kolpackov | 1 | -1/+43 | |
2020-04-08 | Document project-specific configuration support | Boris Kolpackov | 1 | -1/+1 | |
2020-03-31 | Handle duplicate config directives for same variable | Boris Kolpackov | 1 | -1/+2 | |
2020-03-27 | Implement project configuration reporting, similar to build system modules | Boris Kolpackov | 1 | -2/+2 | |
2020-03-19 | Tweak lookup_config() semantics some more | Boris Kolpackov | 1 | -3/+11 | |
2020-03-17 | Rework config::{omitted,required,optional}() into unified config_lookup() | Boris Kolpackov | 1 | -79/+148 | |
2020-03-13 | Cleanup and make config/utility.?xx part of build system core | Boris Kolpackov | 1 | -40/+66 | |
2020-03-11 | Minor config variable lookup cleanups | Boris Kolpackov | 1 | -28/+30 | |
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 1 | -1/+0 | |
2020-01-27 | Fix typo | Boris Kolpackov | 1 | -1/+1 | |
2019-11-12 | Infra work for customizable config var persistence (config.config.persist) | Boris Kolpackov | 1 | -0/+1 | |
2019-10-29 | Add forward declaration header for build state types | Boris Kolpackov | 1 | -2/+1 | |
2019-10-18 | Optimize config::required() to move default value if possible | Boris Kolpackov | 1 | -4/+7 | |
2019-08-23 | Introduce notion of build context | Boris Kolpackov | 1 | -3/+3 | |
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-07-24 | Use CLI-generated classes to parse testscript builtin options | Karen Arutyunov | 1 | -1/+1 | |
2019-07-05 | Move config, dist, test, and install modules into library | Karen Arutyunov | 1 | -0/+179 | |