aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/guess.cxx
AgeCommit message (Collapse)AuthorFilesLines
2021-05-13Rename sys_inc_dirs to sys_hdr_dirs for consistencyBoris Kolpackov1-8/+8
2021-05-06Fix default Clang C++ compiler name mis-guessBoris Kolpackov1-1/+1
2021-04-26Detect and diagnose presence of certain GCC environment variablesBoris Kolpackov1-1/+8
Their presence is incompatible with what we are doing.
2021-04-22Incorporate project environment checksum into cc::compiler_info cache keyBoris Kolpackov1-0/+17
2021-04-22Add another hash/save_environment() overloadBoris Kolpackov1-2/+2
2021-04-07Register environment variables for hermetic build configurationsBoris Kolpackov1-5/+102
2021-03-13Tighten Clang detection not to misdetect GCC built with ClangBoris Kolpackov1-1/+8
GitHub issue #136.
2021-01-30Add std::{map, multimap} to types.hxxBoris Kolpackov1-1/+0
Seeing that std::map is becoming a common Buildfile variable type.
2021-01-30Rework include translation supportBoris Kolpackov1-0/+175
See the config.cxx.translate_include variable documentation in cxx/init.cxx for details.
2021-01-08Add noteBoris Kolpackov1-0/+7
2020-12-15Cache more results of executing programs (compilers, etc)Boris Kolpackov1-16/+4
2020-11-30Add version mapping for Apple Clang 12.0.0Boris Kolpackov1-1/+3
2020-11-05Initial Emscripten supportBoris Kolpackov1-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-24Use representation when passing target_triplet as hintBoris Kolpackov1-1/+1
2020-06-22Try to detect and warn about the ccache compiler wrapperBoris Kolpackov1-4/+24
2020-06-22Add version mapping for Apple Clang 11.0.3Boris Kolpackov1-14/+22
2020-06-18Complete NetBSD compatibilityBoris Kolpackov1-1/+4
2020-04-11Pass LC_ALL=C when extracting locale-dependent information in bin module on ↵Karen Arutyunov1-1/+0
POSIX
2020-04-07Pass LC_ALL=C when extracting locale-dependent information on POSIXBoris Kolpackov1-13/+33
2020-02-12Add convenience run_start() overloadBoris Kolpackov1-2/+2
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2020-02-03Add header/library search paths from compiler mode to sys_*_dirsBoris Kolpackov1-21/+42
2020-01-27Protect cc guess cache with mutexBoris Kolpackov1-1/+12
2020-01-27Improve process run_*() APIBoris Kolpackov1-2/+2
2019-11-05Add support for supplying MSVC IFCPATH equivalentBoris Kolpackov1-4/+24
2019-10-31Update comment on Apple Clang to vanilla Clang version mappingBoris Kolpackov1-15/+14
2019-10-19Add find_stem() utility functionBoris Kolpackov1-23/+4
2019-10-18Add ability to specify "compiler mode" options as part of config.{c,cxx}Boris Kolpackov1-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-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-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 Kolpackov1-48/+102
Without this extra logic recursive invocation of the build system (e.g., in tests) will fail to obtain the full environment.
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 Arutyunov1-81/+564
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 Kolpackov1-1/+1
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 Kolpackov1-1/+58
2019-10-11Add support for clang-clBoris Kolpackov1-137/+241
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-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 Kolpackov1-6/+5
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-07Pass MSVC system library search paths to linker if LIB envvar is unsetBoris Kolpackov1-4/+40
2019-10-05Fix bug in guess_clang_msvc()Boris Kolpackov1-2/+4
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 Kolpackov1-280/+494
2019-08-28Move cc build system module to separate libraryKaren Arutyunov1-0/+1892