Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-03-13 | Tighten Clang detection not to misdetect GCC built with Clang | Boris Kolpackov | 1 | -1/+8 | |
GitHub issue #136. | |||||
2021-03-09 | Remove stray trailing whitespaces from diagnostics | Boris Kolpackov | 1 | -1/+1 | |
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 | 6 | -81/+107 | |
2021-02-09 | Allow overriding cxx.features.modules with config.cxx.features.modules | Boris Kolpackov | 1 | -2/+4 | |
2021-02-09 | Minor simplification | Boris Kolpackov | 2 | -5/+5 | |
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 | 5 | -33/+216 | |
2021-01-30 | Add std::{map, multimap} to types.hxx | Boris Kolpackov | 4 | -6/+1 | |
Seeing that std::map is becoming a common Buildfile variable type. | |||||
2021-01-30 | Rework include translation support | Boris Kolpackov | 13 | -182/+876 | |
See the config.cxx.translate_include variable documentation in cxx/init.cxx for details. | |||||
2021-01-22 | Redo bin.lib.version not to require empty key | Boris Kolpackov | 1 | -3/+9 | |
2021-01-21 | Use target name to derive binless library -l-name | Boris Kolpackov | 2 | -6/+22 | |
2021-01-11 | Use link.exe /LIB rather than /DUMP approach to detect library type | Boris Kolpackov | 1 | -25/+27 | |
This approach works for both link.exe and lld-link which does not support /DUMP. We now also issue a warning if we were unable to detect the library type. | |||||
2021-01-11 | Add extra diagnostics around pkg-config library resolution | Boris Kolpackov | 1 | -6/+24 | |
2021-01-08 | Add note | Boris Kolpackov | 1 | -0/+7 | |
2020-12-15 | Cache more results of executing programs (compilers, etc) | Boris Kolpackov | 2 | -36/+69 | |
2020-12-14 | Fix bug in create_new_target_locked() | Karen Arutyunov | 2 | -3/+3 | |
2020-12-14 | Fix incorrect assert in condition | Boris Kolpackov | 1 | -2/+2 | |
2020-12-11 | Minor module mapper fixes | Boris Kolpackov | 2 | -17/+26 | |
2020-12-11 | Add $cxx.obj_modules() which returns object files for binless modules | Boris Kolpackov | 2 | -11/+110 | |
2020-12-11 | Add support for module interface-only libraries | Boris Kolpackov | 7 | -63/+238 | |
Also suppress generation of the object file in cases where we don't need it. | |||||
2020-12-08 | Update pkg-config modules serialization format to handle partitions | Boris Kolpackov | 1 | -4/+27 | |
2020-12-04 | Fix bug in installed libraries matching logic | Boris Kolpackov | 1 | -24/+34 | |
2020-12-04 | Mark Buildfile functions as pure or impure | Boris Kolpackov | 1 | -6/+12 | |
2020-12-03 | Add ability to get absolute library paths from ${c,cxx}.lib_libs() | Boris Kolpackov | 3 | -7/+18 | |
2020-12-03 | Fix lock/unlock order | Boris Kolpackov | 1 | -1/+2 | |
2020-12-03 | Fix bug in previous commit | Boris Kolpackov | 1 | -2/+2 | |
2020-12-03 | Fix modules support for installed libraries | Boris Kolpackov | 3 | -20/+47 | |
2020-12-01 | Modules-related refactoring | Boris Kolpackov | 4 | -56/+60 | |
2020-11-30 | Fix bug in module mapper | Boris Kolpackov | 1 | -1/+0 | |
2020-11-30 | Add version mapping for Apple Clang 12.0.0 | Boris Kolpackov | 1 | -1/+3 | |
2020-11-30 | Disable __import recognition since GCC now uses [[__translated]] | Boris Kolpackov | 2 | -4/+6 | |
2020-11-30 | Add support for module partitions | Boris Kolpackov | 7 | -98/+201 | |
2020-11-30 | Start adapting module mapper to latest GCC protocol | Boris Kolpackov | 2 | -26/+441 | |
2020-11-26 | Fix crashing on unhandled invalid_path thrown by cc::common::pkgconfig_load() | Karen Arutyunov | 1 | -5/+15 | |
2020-11-24 | Fix compilation error on older compilers (GCC 4.9, MSVC 14.3) | Boris Kolpackov | 1 | -4/+4 | |
2020-11-23 | Suppress duplicates when extracting library options (GitHub issue #114) | Boris Kolpackov | 5 | -99/+298 | |
2020-11-19 | Handle C++20 module partitions in scanner | Boris Kolpackov | 7 | -63/+176 | |
2020-11-17 | Resolve warning | Boris Kolpackov | 1 | -0/+1 | |
2020-11-17 | Omit default extensions for target types that now have fixed extensions | Boris Kolpackov | 1 | -2/+2 | |
2020-11-17 | Implement modules pseudo-directive parsing (p1703, p1857) | Boris Kolpackov | 7 | -54/+148 | |
2020-11-13 | Minor tracing fix and addition | Boris Kolpackov | 1 | -0/+3 | |
2020-11-11 | Add ${c,cxx}.lib_{poptions,libs,rpaths}() functions | Boris Kolpackov | 9 | -104/+388 | |
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 | 5 | -397/+650 | |
- 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 | 3 | -4/+4 | |
2020-08-24 | Use representation when passing target_triplet as hint | Boris Kolpackov | 2 | -2/+2 | |
2020-08-12 | Adjust linker arguments for LTO parallelization | Matthew Krupcale | 1 | -0/+54 | |
GCC 10+ and Clang 4+ support controlling the number of LTO threads/jobs used during linking. Use the build2 scheduler to allocate up to the number of hardware threads to the GCC or Clang linker processes when -flto=auto or -flto=thin is specified, respectively. Otherwise, GCC or Clang will attempt to spawn the number of hardware threads detected for each linker process, which could result in up to n^2 linker threads on a CPU with n hardware threads. |