Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-10-04 | Optimize internal scope implementation | Boris Kolpackov | 1 | -13/+9 | |
2021-10-04 | Add support for treating specific libraries as always internal | Boris Kolpackov | 1 | -6/+27 | |
2021-10-01 | Add notion of internal scope, translate external -I to -isystem or equivalent | Boris Kolpackov | 1 | -28/+244 | |
2021-09-20 | Improve MSVC /showIncludes output handling | Boris Kolpackov | 1 | -13/+35 | |
2021-08-10 | Complete process_libraries() duplicate suppression work | Boris Kolpackov | 1 | -24/+45 | |
2021-08-09 | Merge library hashing and collection into single traversal pass | Boris Kolpackov | 1 | -2/+2 | |
It turns out this is a lot faster on deeply-dependent libraries like Boost while not having any noticeable differences for "sane" projects. | |||||
2021-08-05 | Implement traversal pruning in process_libraries() | Boris Kolpackov | 1 | -19/+38 | |
2021-05-13 | Rename sys_inc_dirs to sys_hdr_dirs for consistency | Boris Kolpackov | 1 | -13/+13 | |
2021-05-13 | Add ${c,cxx}.find_system_{header,library}() functions | Boris Kolpackov | 1 | -0/+15 | |
2021-05-06 | See through utility libraries when looking for module interfaces | Boris Kolpackov | 1 | -48/+61 | |
2021-05-04 | Handle duplicate suppression of multi-element libraries (-l foo) | Boris Kolpackov | 1 | -4/+5 | |
See GitHub issue #114 for context. | |||||
2021-04-20 | Track changes to environment in cc rules | Boris Kolpackov | 1 | -1/+6 | |
2021-04-07 | Register environment variables for hermetic build configurations | Boris Kolpackov | 1 | -1/+1 | |
2021-03-20 | Don't create file cache entry for non-existent .ii file | Boris Kolpackov | 1 | -1/+7 | |
2021-03-19 | Redo entering of src directories into scope_map | Boris Kolpackov | 1 | -10/+20 | |
2021-03-18 | Move file_cache::write:close() call to correct place in cc::compile_rule | Boris Kolpackov | 1 | -7/+5 | |
2021-03-16 | Define intermediate build results file cache interface | Boris Kolpackov | 1 | -41/+88 | |
2021-02-11 | Improve module name to file name matching logic | Boris Kolpackov | 1 | -9/+38 | |
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)" |