Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-06-25 | Fix warning | Boris Kolpackov | 1 | -1/+1 | |
2020-06-25 | Add more instrumentation for unassigned path race | Boris Kolpackov | 1 | -14/+41 | |
2020-06-24 | Fix trace and clarify comments | Boris Kolpackov | 1 | -9/+12 | |
2020-06-09 | Move C++ modules sidebuild to build/cc/build/modules/ subdirectory | Boris Kolpackov | 1 | -1/+1 | |
2020-06-08 | Hash ad hoc prerequsites for ad hoc recipe change detection | Boris Kolpackov | 1 | -1/+1 | |
2020-05-27 | Initial support for ad hoc recipes (still work in progress) | Boris Kolpackov | 1 | -7/+7 | |
2020-04-27 | Rework tool importation along with cli module | Boris Kolpackov | 1 | -3/+3 | |
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-03-17 | Rework config::{omitted,required,optional}() into unified config_lookup() | Boris Kolpackov | 1 | -1/+1 | |
2020-03-13 | Cleanup and make config/utility.?xx part of build system core | Boris Kolpackov | 1 | -4/+2 | |
2020-02-12 | Defer failure to compiler diagnostics even if not in "keep going" mode | Boris Kolpackov | 1 | -3/+6 | |
2020-02-11 | Instrument unassigned source path case in cc::compile_rule | Boris Kolpackov | 1 | -1/+12 | |
2020-02-11 | Add match_only flag to context | Boris Kolpackov | 1 | -2/+2 | |
2020-02-11 | Defer unknown header failure to compiler diagnostics | Boris Kolpackov | 1 | -80/+191 | |
2020-02-10 | Make no-target/no-rule header dependency extraction diagnostics consistent | Boris Kolpackov | 1 | -9/+26 | |
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 1 | -1/+0 | |
2020-02-03 | Add header/library search paths from compiler mode to sys_*_dirs | Boris Kolpackov | 1 | -18/+24 | |
2020-01-27 | Improve module loading API | Boris Kolpackov | 1 | -1/+1 | |
2019-11-29 | Reorder {cc,c/cxx}.{poptions,loptions} | Boris Kolpackov | 1 | -5/+10 | |
Now it is c/cxx first followed by cc which is the reverse order of coptions since the header/library search paths are examined in the order specified (in contrast to the "last value wins" semantics that we assume for coptions). | |||||
2019-11-18 | Add couple of sanity checks | Boris Kolpackov | 1 | -3/+8 | |
2019-11-15 | Improve {}-imbalance diagnostics in cc::parser and make it warning | Boris Kolpackov | 1 | -2/+4 | |
2019-11-13 | Use path_name in cc::lexer class | Karen Arutyunov | 1 | -1/+1 | |
2019-11-05 | Add support for supplying MSVC IFCPATH equivalent | Boris Kolpackov | 1 | -5/+18 | |
2019-10-18 | Add ability to specify "compiler mode" options as part of config.{c,cxx} | Boris Kolpackov | 1 | -29/+47 | |
Such options are (normally) not overridden by buildfiles and are passed last (after cc.coptions and {c,cxx}.coptions) in the resulting command lines. They are also cross-hinted between config.c and config.cxx. For example: $ b config.cxx="g++ -m64" | |||||
2019-10-15 | Remove no longer used lambda capture | Boris Kolpackov | 1 | -4/+1 | |
2019-10-14 | Implement MSVC installation discovery for version 15 (2017) and later | Karen Arutyunov | 1 | -81/+44 | |
In particular, this removes the requirement to build from the Visual Studio command prompt. Note that since MSVC compiler binaries are target-specific (i.e., there are no -m32/-m64 options nor something like /MACHINE), in this case we default to a 64-bit build (a 32-bit build can still be achieved by running from a suitable command prompt). Finally, this mechanism is also used to find Clang bundled with MSVC. | |||||
2019-10-11 | Various fixes to make clang-cl work | Boris Kolpackov | 1 | -30/+44 | |
Note that clang-cl's /showInclude output differs from cl's in the face of missing headers. In particular, it does not issue C1083 that we expect. As a result, this part of clang-cl's support is currently non-functional (the rest seems to work, however). | |||||
2019-10-11 | Switch clang-apple to primary/variant version setup | Boris Kolpackov | 1 | -8/+2 | |
2019-10-05 | Default to MSVC DLL runtime for Clang on Windows | Boris Kolpackov | 1 | -2/+75 | |
2019-10-02 | Handle Russian version of MSVC C1083 diagnostics | Boris Kolpackov | 1 | -13/+33 | |
2019-10-01 | Adapt to renaming butl::casecmp() to icasecmp() | Karen Arutyunov | 1 | -1/+1 | |
2019-09-18 | Rename importable_headers variable to translatable_headers | Boris Kolpackov | 1 | -13/+11 | |
This name aligns better with the post-Cologne importable/translatable semantics. | |||||
2019-09-05 | Improve /showIncludes parsing to handle internal (debug?) builds of MSVC | Boris Kolpackov | 1 | -5/+17 | |
2019-08-28 | Move cc build system module to separate library | Karen Arutyunov | 1 | -0/+6098 | |