aboutsummaryrefslogtreecommitdiff
path: root/build2/cc
AgeCommit message (Collapse)AuthorFilesLines
2017-12-04Remap Clang on Windows target triplet to that of MSVCBoris Kolpackov1-0/+17
2017-12-04Improve cc/bin target mismatch diagnosticsBoris Kolpackov1-3/+7
2017-12-04Recognize empty cc.patternBoris Kolpackov3-6/+6
2017-12-04Improve diagnostics when c-family modules using different toolchainsBoris Kolpackov4-20/+46
We now also warn on toolchain pattern mismatch.
2017-12-04Implement better cross-hinting between c-family modulesBoris Kolpackov4-61/+132
2017-12-01Fix GCC 7 -fimplicit-fallthrough warningsBoris Kolpackov1-7/+3
2017-11-30Implement module sidebuilds cleanup using scope operation callbacksBoris Kolpackov4-17/+68
2017-11-29Reimplement module sidebuilding using an ad hoc subprojectBoris Kolpackov1-30/+82
2017-11-27Add cxx_ prefix to module-related pkg-config variablesBoris Kolpackov1-12/+10
This way we can assume that those are the C++ (language) modules built by the cxx (build system) module.
2017-11-27Add {c,cxx}.class variablesBoris Kolpackov8-270/+378
Compiler class describes a set of compilers that follow more or less the same command line interface. Compilers that don't belong to any of the existing classes are in classes of their own (say, Sun CC would be on its own if we were to support it). Currently defined compiler classes: gcc gcc, clang, clang-apple, icc (on non-Windows) msvc msvc, clang-cl, icc (Windows)
2017-11-24Improve diagnosticsBoris Kolpackov1-2/+11
2017-11-24Fix few bugs in generated header path remapping logicBoris Kolpackov1-6/+11
2017-11-24Add extra library search paths as -L optionsBoris Kolpackov3-37/+45
2017-11-23Fix few typosBoris Kolpackov1-3/+3
2017-11-23Minor changeBoris Kolpackov1-1/+1
2017-11-22Remove -Xclang module options that seem to be passed by default in trunkBoris Kolpackov1-5/+1
2017-11-22Improve diagnosticsBoris Kolpackov1-1/+2
2017-11-21Recursively check timestamps of libraries we are linkingBoris Kolpackov2-6/+28
2017-11-21Move eof() utility to libbutlBoris Kolpackov1-17/+1
2017-11-21Filter VC preprocessor diagnosticsBoris Kolpackov1-54/+79
It turns out VC may still print include notes after issuing errors.
2017-11-21Improve skipped update diagnosticsBoris Kolpackov1-6/+1
Instead of printing a line for each target skipped we now print a summary with count at the end. We also now show the skip count in progress.
2017-11-20Only add /usr/local/{include,lib} if compiler added /usr/includeBoris Kolpackov1-14/+25
This makes sure we don't mess up cross-compilations or even native compilations with a custom sysroot.
2017-11-20Recognize CRLF sequences for line escaping in cc::lexerBoris Kolpackov1-0/+14
2017-11-20Handle case when compiler-reported header does not existBoris Kolpackov1-1/+16
This, for example, happens when compiling under wine with file wlantypes.h included as WlanTypes.h.
2017-11-15Enter outer prefixes in generated header prefix mapBoris Kolpackov2-25/+73
2017-11-09Initial support for prerequisite-specific variables, use for bin.wholeBoris Kolpackov1-3/+5
2017-11-09Fix bug in handling of empty target name prefixes (e.g., bin.lib.prefix)Boris Kolpackov1-1/+1
2017-11-06Revert back to using -fmodule-file for GCC and ClangBoris Kolpackov1-35/+119
Seeing that it's unclear if/when our patches for -fmodule-file-map will be accepted.
2017-10-17Fortify header dependency extraction against inconsistent behaviorBoris Kolpackov1-6/+19
2017-10-06Fix old .ilk files cleanupKaren Arutyunov1-2/+2
2017-10-06Fix old libs cleanup not to remove unrelated filesKaren Arutyunov1-2/+8
2017-10-04Add ignore_error parameter for functions that check file system entry existenceKaren Arutyunov1-4/+1
2017-10-03Adapt to modularization of libbutlKaren Arutyunov4-6/+6
2017-10-03Extract system header search paths from GCC or compatibleBoris Kolpackov7-27/+207
2017-09-25Get rid of pkgconfig moduleKaren Arutyunov8-45/+93
2017-09-25Make use of libpkgconf libraryKaren Arutyunov3-183/+626
2017-09-07Implement {c,cxx}.guess modulesBoris Kolpackov2-36/+54
These can be loaded before {c,cxx} to guess the compiler. Based on this information we can then choose the standard, experimental features, etc. For example: using cxx.guess if ($cxx.id == 'clang') cxx.features.modules = false cxx.std = experimental using cxx
2017-09-01Add support for try_match(), use to handle deleted headersBoris Kolpackov1-8/+17
2017-08-30Switch to -fmodule-file=<name>=<file>, requires Clang 6.0/trunkBoris Kolpackov1-7/+7
2017-08-24See through bmi*{} in order to install mxx{}Boris Kolpackov2-14/+41
2017-08-16Allow any directory separators when building src-out mapBoris Kolpackov1-3/+4
2017-08-14Skip invalid paths when trying to remap generated headersBoris Kolpackov1-45/+57
2017-08-13Implement support for chroot'ed install (aka DESTDIR)Boris Kolpackov1-4/+6
For example: b config.install.root=/usr config.install.chroot=/tmp/install The difference between doing just config.install.root=/tmp/install/usr is that everything is installed "as if" into /usr. So, for example, pkg-config files will contain -I/usr/include, -L/usr/lib, etc.
2017-08-07Install archive prerequisites of libraries0.6.0Boris Kolpackov1-8/+14
2017-08-06Get rid of unused lambda captureBoris Kolpackov1-3/+3
2017-08-06Fix preprocessing/header generation raceBoris Kolpackov1-11/+16
2017-08-06Filter out warning as error options during preprocessingBoris Kolpackov1-13/+17
2017-08-06Fix GCC -M/-MD logic some moreBoris Kolpackov1-9/+2
2017-08-06And make sure warning are not treated as errors for GCC -MD runBoris Kolpackov1-2/+9
2017-08-06Make sure warnings are disables for GCC -M runBoris Kolpackov1-8/+15