Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-06-16 | Add $bin.link_member() function | Boris Kolpackov | 5 | -32/+138 | |
Given a linker output target type ("exe", "lib[as]", or "libu[eas]") return the target type of lib{} group member ("liba" or "libs") that will be picked when linking a lib{} group to this target type. | |||||
2020-06-16 | Move common functionality from cc to bin | Boris Kolpackov | 6 | -49/+265 | |
2020-06-12 | Make order of imports stable in saved host build configuration | Boris Kolpackov | 1 | -0/+2 | |
2020-06-02 | Add process_path_ex with program stable name and checksum | Boris Kolpackov | 1 | -14/+16 | |
2020-05-22 | Make template definition available in all translation units where used | Boris Kolpackov | 2 | -2/+2 | |
We were trying to be clever but GCC 10's IPA-SRA optimization didn't like it. | |||||
2020-04-27 | Rework tool importation along with cli module | Boris Kolpackov | 1 | -1/+1 | |
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-11 | Pass LC_ALL=C when extracting locale-dependent information in bin module on ↵ | Karen Arutyunov | 1 | -9/+50 | |
POSIX | |||||
2020-03-31 | Fix bug in install_path() call (Windows-specific) | Boris Kolpackov | 1 | -2/+6 | |
2020-03-31 | Switch to project variable visibility by default | Boris Kolpackov | 1 | -30/+27 | |
2020-03-20 | Generate common .pc file in addition to static/staged when installing lib{} | Boris Kolpackov | 1 | -1/+1 | |
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-17 | Rework config::{omitted,required,optional}() into unified config_lookup() | Boris Kolpackov | 1 | -72/+76 | |
2020-03-11 | Minor config variable lookup cleanups | Boris Kolpackov | 1 | -4/+4 | |
2020-02-24 | Extract version for lld-link | Boris Kolpackov | 3 | -8/+52 | |
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 11 | -11/+0 | |
2020-01-29 | Rename module_base to module, redo module boot/init argument passing | Boris Kolpackov | 1 | -30/+21 | |
2020-01-28 | Use scope::var_pool() | Boris Kolpackov | 1 | -12/+12 | |
2020-01-28 | Use scope::insert_rule() | Boris Kolpackov | 1 | -2/+2 | |
2020-01-27 | See through lib{} group during dist | Boris Kolpackov | 2 | -3/+11 | |
2020-01-27 | Improve module loading API | Boris Kolpackov | 1 | -26/+12 | |
2019-11-12 | Infra work for customizable config var persistence (config.config.persist) | Boris Kolpackov | 1 | -1/+1 | |
2019-10-29 | Add support for specifying custom load prefix and version clean patterns | Boris Kolpackov | 1 | -5/+14 | |
2019-10-19 | Recognize various LLD drivers as well as LLVM lib and rc | Boris Kolpackov | 2 | -24/+94 | |
2019-10-16 | Try to find MSVC installation for absolute cl.exe paths | Boris Kolpackov | 1 | -1/+1 | |
Without this extra logic recursive invocation of the build system (e.g., in tests) will fail to obtain the full environment. | |||||
2019-10-09 | Prepend pattern search paths to PATH when running binutils | Boris Kolpackov | 2 | -24/+48 | |
This way any dependent tools (such as mt.exe that is invoked by link.exe) are first search for in there. | |||||
2019-10-09 | Work around issue with undefined symbol to constexpr const | Boris Kolpackov | 1 | -1/+1 | |
Note that this only manifests itself when compiling in the C++14 mode (e.g., during bootstrap or with an older compiler like GCC 4.9). | |||||
2019-10-08 | Redo bin pattern as PATH-like search paths rather than fallback directory | Boris Kolpackov | 3 | -79/+94 | |
Also, unlike the fallback directory, the search paths are searched first rather than last. | |||||
2019-08-28 | Make lib{build2} "implied interface dependency" of modules | Boris Kolpackov | 1 | -9/+3 | |
This makes our compilation and linking command lines a little bit saner. | |||||
2019-08-28 | Move bin build system module to separate library | Karen Arutyunov | 10 | -0/+2673 | |