Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-04-27 | Rework tool importation along with cli module | Boris Kolpackov | 31 | -302/+1380 | |
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-27 | Require explicit variable type in scope::{assign,append}() | Boris Kolpackov | 2 | -30/+44 | |
2020-04-27 | Make rule non-copyable | Boris Kolpackov | 1 | -0/+5 | |
2020-04-27 | Add support for untyped assignment to value | Boris Kolpackov | 2 | -1/+19 | |
2020-04-27 | Add another search_existing() overload | Boris Kolpackov | 2 | -0/+19 | |
2020-04-27 | Don't switch projects when switching scopes during bootstrap | Boris Kolpackov | 5 | -30/+47 | |
2020-04-27 | Add inject() for injecting additional dependencies during match | Boris Kolpackov | 2 | -0/+14 | |
2020-04-27 | Fix assertion failure when name extension pattern is used | Karen Arutyunov | 1 | -0/+4 | |
2020-04-16 | Fix crashing on unhandled io_error thrown by depdb::flush() | Karen Arutyunov | 1 | -0/+9 | |
2020-04-13 | Add ../share/pkgconfig/ search directory by default on Linux | Boris Kolpackov | 2 | -10/+20 | |
2020-04-11 | Pass LC_ALL=C when extracting locale-dependent information in bin module on ↵ | Karen Arutyunov | 2 | -10/+50 | |
POSIX | |||||
2020-04-08 | Allow configuration variables in unnamed projects | Boris Kolpackov | 2 | -13/+40 | |
While generally a bad idea, there are valid situations where this may happen, such as a standalone build of the tests subproject in test-installed. | |||||
2020-04-08 | Document project-specific configuration support | Boris Kolpackov | 2 | -2/+3 | |
2020-04-07 | Pass LC_ALL=C when extracting locale-dependent information on POSIX | Boris Kolpackov | 5 | -26/+117 | |
2020-04-03 | Tweak ~host configuration extraction regex | Boris Kolpackov | 1 | -4/+6 | |
2020-04-03 | Skip unmatched lines in $regex.replace_lines() if format_no_copy flag is ↵ | Karen Arutyunov | 1 | -3/+5 | |
specified | |||||
2020-04-02 | Fix ~host config to only contain cc and bin modules configuration | Boris Kolpackov | 5 | -14/+31 | |
Also add ~build2 that contains everything (except config.dist.*) to be used for build system modules. | |||||
2020-03-31 | Tweak variable patterns not to break overrides | Boris Kolpackov | 1 | -29/+32 | |
2020-03-31 | Fix bug in install_path() call (Windows-specific) | Boris Kolpackov | 1 | -2/+6 | |
2020-03-31 | Handle duplicate config directives for same variable | Boris Kolpackov | 2 | -2/+20 | |
2020-03-31 | Use find instead of insert for variable lookup in install_{path,mode}() | Boris Kolpackov | 1 | -2/+4 | |
2020-03-31 | Switch to project variable visibility by default | Boris Kolpackov | 19 | -248/+289 | |
2020-03-27 | Fix bug in previous commit | Boris Kolpackov | 1 | -2/+2 | |
2020-03-27 | Implement project configuration reporting, similar to build system modules | Boris Kolpackov | 6 | -100/+304 | |
2020-03-27 | Share parser for loading root.build and pre/post hooks | Boris Kolpackov | 1 | -25/+43 | |
2020-03-26 | Make buildfile parser reset'able | Boris Kolpackov | 2 | -21/+55 | |
Note that the testscript parser (which derives from the buildfile parser) is (still) not reset'able (this functionality is currently not needed so why complicate things). | |||||
2020-03-25 | Enforce config directives only appearing in project's root.build | Boris Kolpackov | 3 | -39/+54 | |
2020-03-25 | Diagnose unnamed project in version module | Boris Kolpackov | 1 | -3/+6 | |
2020-03-20 | Generate common .pc file in addition to static/staged when installing lib{} | Boris Kolpackov | 8 | -27/+90 | |
The common .pc file is produced by ignoring any static/shared-specific poptions and splitting loptions/libs into Libs/Libs.private. It is "best effort", in a sense that it's not guaranteed to be sufficient in all cases, but it will probably cover the majority of cases, even on Windows, thanks to automatic dllimport'ing of functions. | |||||
2020-03-20 | Don't install ad hoc members with nonexistent timestamp | Boris Kolpackov | 1 | -3/+3 | |
2020-03-20 | Initial implementation of config directive for project-specific configuration | Boris Kolpackov | 3 | -7/+144 | |
2020-03-20 | Lexer support for default value assignment (?=) | Boris Kolpackov | 5 | -6/+65 | |
Note: not yet supported in the parser. | |||||
2020-03-20 | Don't install ad hoc members with unassigned paths | Boris Kolpackov | 1 | -8/+23 | |
2020-03-20 | Tighten add_adhoc_member() against races | Boris Kolpackov | 1 | -14/+17 | |
2020-03-20 | Add ability to query whether target has been matched for action | Boris Kolpackov | 2 | -3/+26 | |
2020-03-19 | Tweak lookup_config() semantics some more | Boris Kolpackov | 6 | -26/+82 | |
2020-03-18 | Cleanup variable type/visibility/overridability logic | Boris Kolpackov | 3 | -65/+89 | |
2020-03-18 | Pattern-type config.** variables with global visibility by default | Boris Kolpackov | 3 | -56/+62 | |
2020-03-18 | Fix variable pattern merging logic | Boris Kolpackov | 1 | -12/+31 | |
2020-03-18 | Add $visibility(<variable>) function for querying variable visibility | Boris Kolpackov | 3 | -11/+32 | |
2020-03-18 | Get rid of old and unused logic | Boris Kolpackov | 1 | -30/+5 | |
2020-03-17 | Adapt install_l() to mkanylink() semantics change | Karen Arutyunov | 1 | -8/+1 | |
Now mkanylink() always interprets a relative target from the link directory. | |||||
2020-03-17 | Fix backlinking code to follow symlinks in hardlink targets | Boris Kolpackov | 1 | -2/+11 | |
2020-03-17 | Add $defined(<variable>) function | Boris Kolpackov | 3 | -31/+35 | |
2020-03-17 | Rename all find*(variable) to lookup*(variable) | Boris Kolpackov | 19 | -146/+156 | |
Now we consistently use term "lookup" for variable value lookup. At some point we should also rename type lookup to binding and get rid of all the lookup_type aliases. | |||||
2020-03-17 | Rework config::{omitted,required,optional}() into unified config_lookup() | Boris Kolpackov | 14 | -237/+402 | |
2020-03-13 | Cleanup and make config/utility.?xx part of build system core | Boris Kolpackov | 13 | -257/+289 | |
2020-03-12 | Minor comment improvements | Boris Kolpackov | 2 | -2/+2 | |
2020-03-11 | Minor config variable lookup cleanups | Boris Kolpackov | 7 | -54/+66 | |