aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-10-18Use $quote() for quoting config.cxx option value in testscriptsKaren Arutyunov3-3/+3
2019-10-18Add $quote() function for quoting valuesBoris Kolpackov3-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-18Add ability to specify "compiler mode" options as part of config.{c,cxx}Boris Kolpackov15-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-18Optimize config::required() to move default value if possibleBoris Kolpackov2-6/+9
2019-10-17Derive msvc_cpu from cl.exe signature rather than pathBoris Kolpackov1-41/+29
2019-10-17Add support for VS search by cl.exe path in find_msvc()Karen Arutyunov1-48/+93
2019-10-17Update Visual Studio instructions in manualBoris Kolpackov1-7/+18
2019-10-17Add temporary fallback to x64 in find_msvc()Boris Kolpackov1-3/+8
2019-10-16Make target CPU part of msvc_info structBoris Kolpackov1-18/+21
2019-10-16Try to find MSVC installation for absolute cl.exe pathsBoris Kolpackov6-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-16Quote config.{c,cxx} paths when passing to testsBoris Kolpackov3-3/+3
Without this Windows directory separators are treated as escapes.
2019-10-16Minor documentation tweakBoris Kolpackov1-1/+1
2019-10-15Remove no longer used lambda captureBoris Kolpackov1-4/+1
2019-10-15Update installation instructions with Clang on WindowsBoris Kolpackov1-4/+4
2019-10-14Fix bug in guess_msvc()Karen Arutyunov1-1/+1
2019-10-14Add missing #ifndef BUILD2_BOOTSTRAP around find_msvc() callBoris Kolpackov1-0/+2
2019-10-14Implement MSVC installation discovery for version 15 (2017) and laterKaren Arutyunov16-204/+1729
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-11Various fixes to make clang-cl workBoris Kolpackov2-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-11Switch clang-apple to primary/variant version setupBoris Kolpackov3-39/+60
2019-10-11Add support for clang-clBoris Kolpackov6-160/+319
The compiler type is `msvc`, variant `clang`.
2019-10-10Add %VCINSTALLDIR%\Tools\Llvm\bin as fallback search directory for ClangBoris Kolpackov1-6/+28
2019-10-10Fix bug in documentationBoris Kolpackov1-5/+5
2019-10-09Prepend pattern search paths to PATH when running binutilsBoris Kolpackov5-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-09Work around issue with undefined symbol to constexpr constBoris Kolpackov1-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-08Extend /LIBPATH handling to win32-msvc target systemBoris Kolpackov2-2/+4
2019-10-08Pass MSVC and Platform SDK bin\ directories as binutils search pathsBoris Kolpackov1-16/+39
2019-10-08Redo bin pattern as PATH-like search paths rather than fallback directoryBoris Kolpackov7-100/+129
Also, unlike the fallback directory, the search paths are searched first rather than last.
2019-10-07Rearrange options for consistencyBoris Kolpackov1-1/+1
2019-10-07Adapt tests for building with Clang on WindowsKaren Arutyunov1-3/+3
2019-10-07Add support for Clang targeting MSVC in bootstrap.gmakeBoris Kolpackov1-7/+28
2019-10-07Add bootstrap-clang.batKaren Arutyunov1-0/+125
2019-10-07Fix testscript regex to be compilable with VC 16.4 previewKaren Arutyunov1-26/+8
2019-10-07Make -print-search-dirs output handling deal better with translationsBoris Kolpackov1-8/+16
2019-10-07Pass MSVC system library search paths to linker if LIB envvar is unsetBoris Kolpackov8-85/+193
2019-10-06Adapt for building with Clang on WindowsKaren Arutyunov2-5/+5
2019-10-05Fix bug in guess_clang_msvc()Boris Kolpackov1-2/+4
2019-10-05Default to MSVC DLL runtime for Clang on WindowsBoris Kolpackov2-8/+83
2019-10-05Add MSVC information to Clang signature, checksum on WindowsBoris Kolpackov1-19/+33
2019-10-05Implement more accurate MSVC information extraction from Clang on WindowsBoris Kolpackov3-281/+499
2019-10-02Allow iterating over group prerequisites during executeBoris Kolpackov3-2/+21
2019-10-02Add CONTRIBUTING.md that points to our Community pageBoris Kolpackov2-1/+4
2019-10-02Handle Russian version of MSVC C1083 diagnosticsBoris Kolpackov1-13/+33
2019-10-01Disable for GCC 4.9 failing testscriptKaren Arutyunov1-10/+18
2019-10-01Add extractor, path.match, and string.icasecmp pattern matching testsBoris Kolpackov1-3/+39
2019-10-01Minor documentation fixesBoris Kolpackov1-4/+4
2019-10-01Add support for $string.icasecmp()Karen Arutyunov3-0/+55
2019-10-01Make $regex.{match,search}() to return NULL for no match if return_match or ↵Karen Arutyunov2-15/+23
return_match flag is specified
2019-10-01Rename $filesystem.path_match() to $path.match()Karen Arutyunov5-187/+206
2019-10-01Adapt to moving path match to path-pattern.?xxKaren Arutyunov5-5/+8
2019-10-01Adapt to swapping of entry and pattern parameters in butl::path_match()Karen Arutyunov5-37/+37