aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/compile-rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2019-11-29Reorder {cc,c/cxx}.{poptions,loptions}Boris Kolpackov1-5/+10
Now it is c/cxx first followed by cc which is the reverse order of coptions since the header/library search paths are examined in the order specified (in contrast to the "last value wins" semantics that we assume for coptions).
2019-11-18Add couple of sanity checksBoris Kolpackov1-3/+8
2019-11-15Improve {}-imbalance diagnostics in cc::parser and make it warningBoris Kolpackov1-2/+4
2019-11-13Use path_name in cc::lexer classKaren Arutyunov1-1/+1
2019-11-05Add support for supplying MSVC IFCPATH equivalentBoris Kolpackov1-5/+18
2019-10-18Add ability to specify "compiler mode" options as part of config.{c,cxx}Boris Kolpackov1-29/+47
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-15Remove no longer used lambda captureBoris Kolpackov1-4/+1
2019-10-14Implement MSVC installation discovery for version 15 (2017) and laterKaren Arutyunov1-81/+44
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-30/+44
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-8/+2
2019-10-05Default to MSVC DLL runtime for Clang on WindowsBoris Kolpackov1-2/+75
2019-10-02Handle Russian version of MSVC C1083 diagnosticsBoris Kolpackov1-13/+33
2019-10-01Adapt to renaming butl::casecmp() to icasecmp()Karen Arutyunov1-1/+1
2019-09-18Rename importable_headers variable to translatable_headersBoris Kolpackov1-13/+11
This name aligns better with the post-Cologne importable/translatable semantics.
2019-09-05Improve /showIncludes parsing to handle internal (debug?) builds of MSVCBoris Kolpackov1-5/+17
2019-08-28Move cc build system module to separate libraryKaren Arutyunov1-0/+6098