Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-05-03 | Add config.{c,cxx}.std | Boris Kolpackov | 1 | -2/+2 | |
These values override {c,cxx}.std specified at the project level. In particular, this allows us to force a specific standard for all the projects in a build configuration, for example: b create: conf/,cc config.cxx=g++ config.cxx.std=experimental | |||||
2019-05-03 | Support <>-style header specification in importable_headers | Boris Kolpackov | 1 | -3/+3 | |
2019-05-03 | Rename [config.]cxx.header_units to importable_headers | Boris Kolpackov | 1 | -5/+5 | |
2019-05-03 | Adjust modules support enablement for GCC | Boris Kolpackov | 1 | -4/+11 | |
Now we require c++-modules-ex branch unless forced. | |||||
2019-04-30 | Initial take on header unit and include translation support | Boris Kolpackov | 1 | -4/+19 | |
2019-04-11 | Only enable MSVC /permissive- in experimental mode | Boris Kolpackov | 1 | -6/+18 | |
Currently this flag tends to trigger too many compiler bugs. | |||||
2019-04-11 | Default to strict mode (/permissive-) from VC15.5 | Boris Kolpackov | 1 | -187/+189 | |
2019-04-11 | Sync up with latest C++ modules support in GCC | Boris Kolpackov | 1 | -2/+2 | |
2019-03-07 | Move bunch of root scope-only data members to root_extra | Boris Kolpackov | 1 | -2/+2 | |
2019-01-24 | Loosen GCC modules enablement requirements | Boris Kolpackov | 1 | -2/+1 | |
2019-01-16 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-10-26 | Add config.{c,cxx}.{id,version,target} configuration variables | Boris Kolpackov | 1 | -0/+3 | |
These variables allow overriding guessed compiler id/version/target, for example, in case of mis-guesses or when working with compilers that don't report their base (e.g., GCC, Clang) with -v/--version (common in the embedded space). | |||||
2018-10-25 | Redesign cc::compiler_id to make variant customizable | Boris Kolpackov | 1 | -15/+15 | |
2018-09-03 | Use (native) C and C++ compilers we were built with as defaults | Boris Kolpackov | 1 | -1/+9 | |
2018-07-24 | Switch to new GCC module interface (-fmodule-mapper) | Boris Kolpackov | 1 | -11/+14 | |
2018-06-25 | Minor note on Apple Clang to vanilla Clang version mapping | Boris Kolpackov | 1 | -6/+8 | |
2018-05-19 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-02-14 | Enable modules support only for VC 15u5 and up, drop hacks for earlier | Boris Kolpackov | 1 | -3/+3 | |
2018-01-08 | Implement compiler_info caching | Boris Kolpackov | 1 | -4/+4 | |
2018-01-05 | Initial support for c/cxx runtime/stdlib detection | Boris Kolpackov | 1 | -0/+6 | |
2018-01-05 | Add cxx.module_name alias for cc.module_name | Boris Kolpackov | 1 | -0/+4 | |
2017-12-15 | Update Apple Clang to vanilla Clang version remapping (up to Xcode 9.2) | Boris Kolpackov | 1 | -2/+14 | |
2017-12-12 | Add support for VC 15u5 (compiler version 19.12) | Boris Kolpackov | 1 | -8/+17 | |
2017-12-04 | Improve diagnostics when c-family modules using different toolchains | Boris Kolpackov | 1 | -0/+2 | |
We now also warn on toolchain pattern mismatch. | |||||
2017-12-04 | Implement better cross-hinting between c-family modules | Boris Kolpackov | 1 | -0/+4 | |
2017-11-29 | Reimplement module sidebuilding using an ad hoc subproject | Boris Kolpackov | 1 | -0/+3 | |
2017-11-27 | Add {c,cxx}.class variables | Boris Kolpackov | 1 | -9/+13 | |
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-06 | Translate 'latest' to C++2a for GCC 8 | Boris Kolpackov | 1 | -2/+2 | |
2017-10-03 | Extract system header search paths from GCC or compatible | Boris Kolpackov | 1 | -0/+3 | |
2017-09-25 | Get rid of pkgconfig module | Karen Arutyunov | 1 | -1/+0 | |
2017-09-07 | Implement {c,cxx}.guess modules | Boris Kolpackov | 1 | -16/+45 | |
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-08-30 | Switch to -fmodule-file=<name>=<file>, requires Clang 6.0/trunk | Boris Kolpackov | 1 | -2/+2 | |
2017-08-04 | Implement sidebuilding of installed modules | Boris Kolpackov | 1 | -7/+12 | |
2017-08-02 | Change cc.preprocessed to {c,cxx}.preprocessed | Boris Kolpackov | 1 | -1/+11 | |
2017-08-02 | Add support for C++20/c++2a modes | Boris Kolpackov | 1 | -3/+6 | |
Note: not yet enabled for GCC 8 since the patch is not yet merged. | |||||
2017-06-28 | Update to reflect new GCC signature for C++ modules branch | Boris Kolpackov | 1 | -1/+1 | |
2017-06-22 | Add extra support for symbol exporting in modularized projects | Boris Kolpackov | 1 | -1/+10 | |
Since modules don't see each other's macros, we can use a single, keyword- like macro for dll-exporting that is managed by the build system (so no need for an "export" header). For example: cxx.features.symexport = true export __symexport void f (); | |||||
2017-06-12 | Only enable modules if practically usable unless forced | Boris Kolpackov | 1 | -4/+10 | |
2017-06-12 | Add workaround for Clang module import during preprocessing | Boris Kolpackov | 1 | -2/+4 | |
2017-06-09 | Only enable modules for GCC from the cxx-modules branch | Boris Kolpackov | 1 | -3/+4 | |
2017-06-09 | Only enable modules support starting from VC15u3 (19.11) | Boris Kolpackov | 1 | -2/+5 | |
2017-06-08 | Implement rule chaining for modules | Boris Kolpackov | 1 | -0/+1 | |
2017-05-31 | C++ modules work: add target types | Boris Kolpackov | 1 | -3/+8 | |
2017-05-30 | Diagnose lack of module support in extract_modules() | Boris Kolpackov | 1 | -0/+2 | |
2017-05-30 | Add 'experimental' value for cxx.std, enable modules support | Boris Kolpackov | 1 | -72/+148 | |
Also add cxx.features.modules boolean variable that can be used to control/query C++ modules enablement. | |||||
2017-05-30 | Rework C/C++ standard translation in preparation for experimental/modules | Boris Kolpackov | 1 | -89/+128 | |
Also fix bug in clang-apple versioning. | |||||
2017-05-29 | Add ability to limit amount of preprocessing done on source | Boris Kolpackov | 1 | -0/+1 | |
The cc.preprocessed variable can be 'none' (not preprocessed), 'includes' (no depends on preprocessor, e.g., #ifdef, etc), and 'all' (the source is fully preprocessed). Note that for 'all' the source can still contain comments and line continuations. | |||||
2017-05-25 | Extract C++ modules information | Boris Kolpackov | 1 | -0/+1 | |
For now we do it for every translation unit in order to test our C++ lexer and parser. | |||||
2017-05-25 | Add compiler_id enum | Boris Kolpackov | 1 | -1/+2 | |
2017-05-18 | Add compiler version checks for separate preprocess and compile setup | Boris Kolpackov | 1 | -0/+2 | |