Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-10-19 | Add find_stem() utility function | Boris Kolpackov | 3 | -23/+39 | |
2019-10-18 | Add $quote() function for quoting values | Boris Kolpackov | 3 | -8/+59 | |
This can be useful if we want to pass a value on the command line, for example, in a testscript: $* config.cxx=$quote($recall($cxx.path) $cxx.mode, true) | |||||
2019-10-18 | Add ability to specify "compiler mode" options as part of config.{c,cxx} | Boris Kolpackov | 15 | -235/+402 | |
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-18 | Optimize config::required() to move default value if possible | Boris Kolpackov | 2 | -6/+9 | |
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 | |
2019-10-17 | Add temporary fallback to x64 in find_msvc() | Boris Kolpackov | 1 | -3/+8 | |
2019-10-16 | Make target CPU part of msvc_info struct | Boris Kolpackov | 1 | -18/+21 | |
2019-10-16 | Try to find MSVC installation for absolute cl.exe paths | Boris Kolpackov | 6 | -53/+118 | |
Without this extra logic recursive invocation of the build system (e.g., in tests) will fail to obtain the full environment. | |||||
2019-10-15 | Remove no longer used lambda capture | Boris Kolpackov | 1 | -4/+1 | |
2019-10-14 | Fix bug in guess_msvc() | Karen Arutyunov | 1 | -1/+1 | |
2019-10-14 | Add missing #ifndef BUILD2_BOOTSTRAP around find_msvc() call | Boris Kolpackov | 1 | -0/+2 | |
2019-10-14 | Implement MSVC installation discovery for version 15 (2017) and later | Karen Arutyunov | 12 | -202/+1715 | |
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 | 2 | -31/+45 | |
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 | 3 | -39/+60 | |
2019-10-11 | Add support for clang-cl | Boris Kolpackov | 6 | -160/+319 | |
The compiler type is `msvc`, variant `clang`. | |||||
2019-10-10 | Add %VCINSTALLDIR%\Tools\Llvm\bin as fallback search directory for Clang | Boris Kolpackov | 1 | -6/+28 | |
2019-10-09 | Prepend pattern search paths to PATH when running binutils | Boris Kolpackov | 5 | -48/+139 | |
This way any dependent tools (such as mt.exe that is invoked by link.exe) are first search for in there. | |||||
2019-10-09 | Work around issue with undefined symbol to constexpr const | Boris Kolpackov | 1 | -1/+1 | |
Note that this only manifests itself when compiling in the C++14 mode (e.g., during bootstrap or with an older compiler like GCC 4.9). | |||||
2019-10-08 | Extend /LIBPATH handling to win32-msvc target system | Boris Kolpackov | 2 | -2/+4 | |
2019-10-08 | Pass MSVC and Platform SDK bin\ directories as binutils search paths | Boris Kolpackov | 1 | -16/+39 | |
2019-10-08 | Redo bin pattern as PATH-like search paths rather than fallback directory | Boris Kolpackov | 7 | -100/+129 | |
Also, unlike the fallback directory, the search paths are searched first rather than last. | |||||
2019-10-07 | Rearrange options for consistency | Boris Kolpackov | 1 | -1/+1 | |
2019-10-07 | Fix testscript regex to be compilable with VC 16.4 preview | Karen Arutyunov | 1 | -26/+8 | |
2019-10-07 | Make -print-search-dirs output handling deal better with translations | Boris Kolpackov | 1 | -8/+16 | |
2019-10-07 | Pass MSVC system library search paths to linker if LIB envvar is unset | Boris Kolpackov | 8 | -85/+193 | |
2019-10-05 | Fix bug in guess_clang_msvc() | Boris Kolpackov | 1 | -2/+4 | |
2019-10-05 | Default to MSVC DLL runtime for Clang on Windows | Boris Kolpackov | 2 | -8/+83 | |
2019-10-05 | Add MSVC information to Clang signature, checksum on Windows | Boris Kolpackov | 1 | -19/+33 | |
2019-10-05 | Implement more accurate MSVC information extraction from Clang on Windows | Boris Kolpackov | 3 | -281/+499 | |
2019-10-02 | Allow iterating over group prerequisites during execute | Boris Kolpackov | 3 | -2/+21 | |
2019-10-02 | Handle Russian version of MSVC C1083 diagnostics | Boris Kolpackov | 1 | -13/+33 | |
2019-10-01 | Add support for $string.icasecmp() | Karen Arutyunov | 1 | -0/+23 | |
2019-10-01 | Make $regex.{match,search}() to return NULL for no match if return_match or ↵ | Karen Arutyunov | 1 | -11/+19 | |
return_match flag is specified | |||||
2019-10-01 | Rename $filesystem.path_match() to $path.match() | Karen Arutyunov | 3 | -108/+127 | |
2019-10-01 | Adapt to moving path match to path-pattern.?xx | Karen Arutyunov | 5 | -5/+8 | |
2019-10-01 | Adapt to swapping of entry and pattern parameters in butl::path_match() | Karen Arutyunov | 4 | -18/+18 | |
2019-10-01 | Adapt to renaming butl::casecmp() to icasecmp() | Karen Arutyunov | 7 | -18/+18 | |
2019-10-01 | Remap `cxx.std=latest` to `c++17` instead of `c++latest` for MSVC 16 | Boris Kolpackov | 1 | -24/+56 | |
See for details: https://github.com/build2/build2/issues/34 | |||||
2019-09-30 | Fix bug in for-loop body evaluation | Boris Kolpackov | 1 | -6/+10 | |
2019-09-30 | Allow attributes in if-else, assert directive's conditions | Boris Kolpackov | 4 | -26/+49 | |
2019-09-30 | Cleanup inappropriate use of parse_variable_value() | Boris Kolpackov | 1 | -40/+42 | |
2019-09-30 | Handle attributes in switch value and pattern expressions | Boris Kolpackov | 2 | -2/+36 | |
2019-09-30 | Diagnose `case` and `default` outside `switch` | Boris Kolpackov | 1 | -1/+2 | |
2019-09-30 | Reserve `:` in `case` pattern expression for future match extraction support | Boris Kolpackov | 3 | -7/+18 | |
2019-09-30 | Add support for custom match/extract functions in switch expression | Boris Kolpackov | 4 | -58/+131 | |
2019-09-30 | Add support for `case` pattern alternatives | Boris Kolpackov | 4 | -24/+83 | |
case <pattern>[ | <pattern>...] | |||||
2019-09-30 | Allow multiple `case` for single line/block | Boris Kolpackov | 2 | -35/+89 | |
2019-09-30 | Pattern matching support (switch): multiple values implementation | Boris Kolpackov | 3 | -37/+76 | |
2019-09-30 | Pattern matching support (switch): single value implementation | Boris Kolpackov | 3 | -46/+230 | |