Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-07-01 | Split build system into library and driver | Boris Kolpackov | 1 | -3/+3 | |
2019-06-21 | Add support for [config.]{cc,c,cxx}.aoptions (archive options) | Boris Kolpackov | 1 | -0/+3 | |
In particular, this can be used to suppress lib.exe warnings, for example: cc.aoptions += /IGNORE:4221 | |||||
2019-06-06 | Fix cc link rule matching ambiguity wrt to C/C++ sources | Boris Kolpackov | 1 | -6/+7 | |
Considering a C header as C++ source was definitely a bad idea. | |||||
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 | Rename [config.]cxx.header_units to importable_headers | Boris Kolpackov | 1 | -4/+4 | |
2019-04-30 | Initial take on header unit and include translation support | Boris Kolpackov | 1 | -0/+5 | |
2019-01-16 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2019-01-09 | Tighten cc rules matching | Boris Kolpackov | 1 | -1/+1 | |
Specifically, make sure the rule does not match if there is a c-common prerequisites that it doesn't recognize. | |||||
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 | -13/+18 | |
2018-09-05 | Only consider common .pc file for binless variant if there is no binfull | Boris Kolpackov | 1 | -1/+2 | |
2018-09-05 | Adjust pkg-config logic to cover binless libraries | Boris Kolpackov | 1 | -9/+28 | |
2018-09-04 | Initial work on binless (binary-less aka header-only) library support | Boris Kolpackov | 1 | -1/+2 | |
2018-08-25 | Implement missing pieces in utility libraries support | Boris Kolpackov | 1 | -2/+3 | |
In particular, we can now build static libraries out of utility libraries. | |||||
2018-07-30 | Make project variable to be of project_name type | Karen Arutyunov | 1 | -1/+1 | |
2018-05-19 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-02-03 | Get rid of action rule override semantics | Boris Kolpackov | 1 | -4/+4 | |
Instead we now have two more or less separate match states for outer and inner parts of an action. | |||||
2018-01-05 | Initial support for c/cxx runtime/stdlib detection | Boris Kolpackov | 1 | -0/+5 | |
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/+5 | |
2017-11-27 | Add {c,cxx}.class variables | Boris Kolpackov | 1 | -7/+9 | |
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-10-03 | Extract system header search paths from GCC or compatible | Boris Kolpackov | 1 | -1/+7 | |
2017-09-25 | Get rid of pkgconfig module | Karen Arutyunov | 1 | -3/+1 | |
2017-09-25 | Make use of libpkgconf library | Karen Arutyunov | 1 | -0/+1 | |
2017-08-04 | Implement sidebuilding of installed modules | Boris Kolpackov | 1 | -1/+2 | |
2017-08-02 | Change cc.preprocessed to {c,cxx}.preprocessed | Boris Kolpackov | 1 | -1/+2 | |
2017-07-31 | Experimental (and probably broken) pkg-config generation support | Boris Kolpackov | 1 | -9/+6 | |
2017-07-28 | Implement support for linking whole archive | Boris Kolpackov | 1 | -1/+2 | |
2017-07-27 | Initial infrastructure for utility libraries | Boris Kolpackov | 1 | -2/+2 | |
2017-06-22 | Add extra support for symbol exporting in modularized projects | Boris Kolpackov | 1 | -1/+4 | |
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-08 | Implement rule chaining for modules | Boris Kolpackov | 1 | -0/+1 | |
2017-05-31 | C++ modules work: add target types | Boris Kolpackov | 1 | -4/+6 | |
2017-05-30 | Diagnose lack of module support in extract_modules() | Boris Kolpackov | 1 | -0/+4 | |
2017-05-30 | Rework C/C++ standard translation in preparation for experimental/modules | Boris Kolpackov | 1 | -18/+2 | |
Also fix bug in clang-apple versioning. | |||||
2017-05-29 | Add ability to limit amount of preprocessing done on source | Boris Kolpackov | 1 | -4/+5 | |
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 | -1/+3 | |
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 | -9/+12 | |
2017-05-18 | Add compiler version checks for separate preprocess and compile setup | Boris Kolpackov | 1 | -2/+7 | |
2017-05-17 | Add ability to disable use of preprocessed output in compilation | Boris Kolpackov | 1 | -2/+3 | |
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 | -1/+2 | |
2017-05-01 | Add hxx extension for headers | Karen Arutyunov | 1 | -0/+289 | |