Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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-07 | Distinguish between "fixed" and "default" target extensions | Boris Kolpackov | 1 | -12/+17 | |
This fixes wrong merging of, say, file{README} and file{README.MySQL} (in libmysqlclient). | |||||
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 | 2 | -16/+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-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-23 | Don't treat mxx{} as cc-source | Boris Kolpackov | 2 | -4/+4 | |
If we do it, then the link rule will refuse to match when modules are disabled (in which case mxx{} should be treated as a header). | |||||
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 | 3 | -3/+36 | |
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 | |
2017-05-17 | Add ability to disable use of preprocessed output in compilation | Boris Kolpackov | 1 | -0/+1 | |
This can be done from a buildfile for a scope (including project root scope) and per target via cc.reprocess: cc.reprocess = true obj{hello}: cc.reprocess = false As as well externally via config.cc.reprocess: b config.cc.reprocess=true [configure] | |||||
2017-05-16 | Implement separate preprocess and compiler for GCC and Clang | Boris Kolpackov | 1 | -0/+1 | |
2017-05-01 | Add hxx extension for headers | Karen Arutyunov | 4 | -23/+23 | |
2017-04-27 | Pass target to prerequisite search | Boris Kolpackov | 1 | -4/+4 | |
2017-03-10 | Implement support for wildcard patterns | Boris Kolpackov | 1 | -0/+4 | |
2017-02-13 | Add model mutex, make var_pool const by default | Boris Kolpackov | 1 | -3/+3 | |
2017-01-23 | Add bunch of missing const's | Boris Kolpackov | 1 | -2/+2 | |
2017-01-06 | Store platform targets as typed target_triplet | Boris Kolpackov | 1 | -5/+4 | |
2017-01-05 | Update copyright year | Boris Kolpackov | 4 | -4/+4 | |
2016-12-14 | Add support for cxx.std=latest, use when building build2 | Boris Kolpackov | 1 | -5/+43 | |
2016-11-27 | Handle C++ standard selection in VC14u3, VC15 | Boris Kolpackov | 1 | -12/+37 | |
They now provide the /std: option which defaults to c++14. | |||||
2016-11-26 | Add support for VC15 | Karen Arutyunov | 1 | -1/+1 | |
2016-11-18 | Make names and vector<name> different types, add typed value constructor | Boris Kolpackov | 1 | -4/+4 | |
2016-09-05 | Handle /usr/local brain-death | Boris Kolpackov | 1 | -0/+2 | |
2016-08-31 | Improve mixed source (e.g., C and C++) building support | Boris Kolpackov | 2 | -3/+3 | |