Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-11-23 | Rework diag_buffer interface to facilitate correct destruction order | Boris Kolpackov | 1 | -2/+2 | |
2022-11-08 | Make process exit diagnostics consistent | Boris Kolpackov | 1 | -2/+2 | |
In particular, we now always print error message on non-0 exit except in cases where such exit is ignored. | |||||
2022-11-08 | More work on child process diagnostics buffering | Boris Kolpackov | 1 | -25/+38 | |
2022-10-27 | Suppress (potential) bogus GCC 12 -Wrestrict warnings | Boris Kolpackov | 1 | -1/+1 | |
2022-10-25 | Adapt to butl::semantic_version API change | Karen Arutyunov | 1 | -3/+7 | |
2022-10-21 | Handle freestanding/broken setups when entering importable std headers | Boris Kolpackov | 1 | -17/+30 | |
Fixes GH issue #219. | |||||
2022-09-21 | Add winrt Platform SDK header search path for MSVC | Boris Kolpackov | 1 | -3/+4 | |
This is required, for example, to build QtGui. | |||||
2022-08-17 | If cl.exe path is specified then extract VC tools directory from this path | Karen Arutyunov | 1 | -32/+74 | |
2022-07-21 | Map Apple Clang 13.1.6 to vanilla Clang 12.0.0 | Boris Kolpackov | 1 | -18/+20 | |
2022-07-17 | Map VC 17 to runtime version 14.3 | Boris Kolpackov | 1 | -2/+5 | |
2022-05-17 | Add OpenBSD libc detection | Boris Kolpackov | 1 | -0/+2 | |
2022-04-24 | Fix bug in previous commit | Boris Kolpackov | 1 | -1/+1 | |
2022-04-24 | Recognize ARM64 as MSVC target | Boris Kolpackov | 1 | -12/+19 | |
2021-10-11 | Update Apple to vanilla Clang version mapping for Apple Clang 13.0.0 | Boris Kolpackov | 1 | -2/+5 | |
2021-10-01 | Add notion of internal scope, translate external -I to -isystem or equivalent | Boris Kolpackov | 1 | -1/+1 | |
2021-09-28 | Adapt to libbutl headers extension change from .mxx to .hxx | Karen Arutyunov | 1 | -1/+1 | |
2021-07-22 | Adjust Emscripten Clang version to account for unreleased snapshots | Boris Kolpackov | 1 | -1/+17 | |
2021-07-20 | Map Apple Clang version 12.0.5 to vanilla Clang 10.0.0 | Boris Kolpackov | 1 | -16/+19 | |
2021-07-01 | Handle GCC versions in 9.2-win32 form (GitHub issue #156) | Boris Kolpackov | 1 | -25/+19 | |
2021-06-08 | Implement ad hoc regex pattern rule support | Boris Kolpackov | 1 | -1/+1 | |
An ad hoc pattern rule consists of a pattern that mimics a dependency declaration followed by one or more recipes. For example: exe{~'/(.*)/'}: cxx{~'/\1/'} {{ $cxx.path -o $path($>) $path($<[0]) }} If a pattern matches a dependency declaration of a target, then the recipe is used to perform the corresponding operation on this target. For example, the following dependency declaration matches the above pattern which means the rule's recipe will be used to update this target: exe{hello}: cxx{hello} While the following declarations do not match the above pattern: exe{hello}: c{hello} # Type mismatch. exe{hello}: cxx{howdy} # Name mismatch. On the left hand side of `:` in the pattern we can have a single target or an ad hoc target group. The single target or the first (primary) ad hoc group member must be a regex pattern (~). The rest of the ad hoc group members can be patterns or substitutions (^). For example: <exe{~'/(.*)/'} file{^'/\1.map/'}>: cxx{~'/\1/'} {{ $cxx.path -o $path($>[0]) "-Wl,-Map=$path($>[1])" $path($<[0]) }} On the left hand side of `:` in the pattern we have prerequisites which can be patterns, substitutions, or non-patterns. For example: <exe{~'/(.*)/'} file{^'/\1.map/'}>: cxx{~'/\1/'} hxx{^'/\1/'} hxx{common} {{ $cxx.path -o $path($>[0]) "-Wl,-Map=$path($>[1])" $path($<[0]) }} Substitutions on the left hand side of `:` and substitutions and non-patterns on the right hand side are added to the dependency declaration. For example, given the above rule and dependency declaration, the effective dependency is going to be: <exe{hello} file{hello.map>: cxx{hello} hxx{hello} hxx{common} | |||||
2021-05-13 | Rename sys_inc_dirs to sys_hdr_dirs for consistency | Boris Kolpackov | 1 | -8/+8 | |
2021-05-06 | Fix default Clang C++ compiler name mis-guess | Boris Kolpackov | 1 | -1/+1 | |
2021-04-26 | Detect and diagnose presence of certain GCC environment variables | Boris Kolpackov | 1 | -1/+8 | |
Their presence is incompatible with what we are doing. | |||||
2021-04-22 | Incorporate project environment checksum into cc::compiler_info cache key | Boris Kolpackov | 1 | -0/+17 | |
2021-04-22 | Add another hash/save_environment() overload | Boris Kolpackov | 1 | -2/+2 | |
2021-04-07 | Register environment variables for hermetic build configurations | Boris Kolpackov | 1 | -5/+102 | |
2021-03-13 | Tighten Clang detection not to misdetect GCC built with Clang | Boris Kolpackov | 1 | -1/+8 | |
GitHub issue #136. | |||||
2021-01-30 | Add std::{map, multimap} to types.hxx | Boris Kolpackov | 1 | -1/+0 | |
Seeing that std::map is becoming a common Buildfile variable type. | |||||
2021-01-30 | Rework include translation support | Boris Kolpackov | 1 | -0/+175 | |
See the config.cxx.translate_include variable documentation in cxx/init.cxx for details. | |||||
2021-01-08 | Add note | Boris Kolpackov | 1 | -0/+7 | |
2020-12-15 | Cache more results of executing programs (compilers, etc) | Boris Kolpackov | 1 | -16/+4 | |
2020-11-30 | Add version mapping for Apple Clang 12.0.0 | Boris Kolpackov | 1 | -1/+3 | |
2020-11-05 | Initial Emscripten support | Boris Kolpackov | 1 | -132/+266 | |
- 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-08-24 | Use representation when passing target_triplet as hint | Boris Kolpackov | 1 | -1/+1 | |
2020-06-22 | Try to detect and warn about the ccache compiler wrapper | Boris Kolpackov | 1 | -4/+24 | |
2020-06-22 | Add version mapping for Apple Clang 11.0.3 | Boris Kolpackov | 1 | -14/+22 | |
2020-06-18 | Complete NetBSD compatibility | Boris Kolpackov | 1 | -1/+4 | |
2020-04-11 | Pass LC_ALL=C when extracting locale-dependent information in bin module on ↵ | Karen Arutyunov | 1 | -1/+0 | |
POSIX | |||||
2020-04-07 | Pass LC_ALL=C when extracting locale-dependent information on POSIX | Boris Kolpackov | 1 | -13/+33 | |
2020-02-12 | Add convenience run_start() overload | Boris Kolpackov | 1 | -2/+2 | |
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 | -21/+42 | |
2020-01-27 | Protect cc guess cache with mutex | Boris Kolpackov | 1 | -1/+12 | |
2020-01-27 | Improve process run_*() API | Boris Kolpackov | 1 | -2/+2 | |
2019-11-05 | Add support for supplying MSVC IFCPATH equivalent | Boris Kolpackov | 1 | -4/+24 | |
2019-10-31 | Update comment on Apple Clang to vanilla Clang version mapping | Boris Kolpackov | 1 | -15/+14 | |
2019-10-19 | Add find_stem() utility function | Boris Kolpackov | 1 | -23/+4 | |
2019-10-18 | Add ability to specify "compiler mode" options as part of config.{c,cxx} | Boris Kolpackov | 1 | -30/+97 | |
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-17 | Derive msvc_cpu from cl.exe signature rather than path | Boris Kolpackov | 1 | -41/+29 | |
2019-10-17 | Add support for VS search by cl.exe path in find_msvc() | Karen Arutyunov | 1 | -48/+93 | |