Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-02-11 | Use lib{} group for installed libraries in make_header_sidebuild() | Boris Kolpackov | 1 | -23/+18 | |
2021-02-11 | Generalize process_libraries() to allow no picking installed library member | Boris Kolpackov | 1 | -13/+12 | |
2021-02-08 | Get rid of unused lambda capture | Boris Kolpackov | 1 | -1/+1 | |
2021-02-08 | Enter scope src directories into scope map | Boris Kolpackov | 1 | -14/+6 | |
2021-02-03 | Propagate relevant options/prerequisites to header unit sidebuilds | Boris Kolpackov | 1 | -24/+187 | |
2021-01-30 | Rework include translation support | Boris Kolpackov | 1 | -87/+106 | |
See the config.cxx.translate_include variable documentation in cxx/init.cxx for details. | |||||
2020-12-14 | Fix bug in create_new_target_locked() | Karen Arutyunov | 1 | -2/+2 | |
2020-12-11 | Minor module mapper fixes | Boris Kolpackov | 1 | -16/+25 | |
2020-12-11 | Add support for module interface-only libraries | Boris Kolpackov | 1 | -25/+72 | |
Also suppress generation of the object file in cases where we don't need it. | |||||
2020-12-03 | Fix modules support for installed libraries | Boris Kolpackov | 1 | -7/+17 | |
2020-12-01 | Modules-related refactoring | Boris Kolpackov | 1 | -47/+45 | |
2020-11-30 | Fix bug in module mapper | Boris Kolpackov | 1 | -1/+0 | |
2020-11-30 | Add support for module partitions | Boris Kolpackov | 1 | -65/+122 | |
2020-11-30 | Start adapting module mapper to latest GCC protocol | Boris Kolpackov | 1 | -25/+440 | |
2020-11-23 | Suppress duplicates when extracting library options (GitHub issue #114) | Boris Kolpackov | 1 | -27/+50 | |
2020-11-11 | Add ${c,cxx}.lib_{poptions,libs,rpaths}() functions | Boris Kolpackov | 1 | -24/+35 | |
These functions can be used to query library metadata for options and libraries that should be used when compiling/linking dependent targets, similar to how cc::{compile,link}_rule do it. With this support it should be possible to more or less re-create their semantics in ad hoc recipes. | |||||
2020-11-05 | Initial Emscripten support | Boris Kolpackov | 1 | -237/+286 | |
- Target: wasm32-emscripten (wasm32-unknown-emscripten). - Compiler id: clang-emscripten (type clang, variant emscripten, class gcc). - Ability to build executables (.js plus .wasm) and static libraries (.a). Set executable bit on the .js file (so it can be executed with a suitable binfmt interpreter). - Default config.bin.lib for wasm32-emscripten is static instead of both. - Full C++ exception support is enable unless disabled explicitly by the user with -s DISABLE_EXCEPTION_CATCHING=1|2. - The bin module registers the wasm{} target type for wasm32-emscripten. | |||||
2020-11-04 | Minor terminology tweak | Boris Kolpackov | 1 | -1/+1 | |
2020-09-24 | Give hints for common causes of "no rule to update ..." error | Boris Kolpackov | 1 | -2/+2 | |
2020-07-17 | Use -fexternc-nounwind by default for Clang targeting MSVC | Boris Kolpackov | 1 | -5/+27 | |
This option implements the 'c' part in /EHsc and is not a mere optimization; see Clang bug #45021 for details. | |||||
2020-07-13 | Fold translated *.std options into compiler mode options | Boris Kolpackov | 1 | -8/+4 | |
This way they are accessible in ad hoc recipes. | |||||
2020-07-07 | Make sure paths used to insert target are canonicalized | Boris Kolpackov | 1 | -3/+9 | |
2020-07-01 | Add additional diagnostics for unassigned path (GitHub issue #89) | Boris Kolpackov | 1 | -6/+10 | |
2020-07-01 | Add additional diagnostics for disappearing header (GitHub issue #80) | Boris Kolpackov | 1 | -0/+16 | |
2020-06-26 | Handle #import in MSVC /showIncludes output | Boris Kolpackov | 1 | -7/+28 | |
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. |