summaryrefslogtreecommitdiffstats
path: root/build2/cc/common.hxx
Commit message (Collapse)AuthorAgeFilesLines
* Tighten cc rules matchingBoris Kolpackov2019-01-091-1/+1
| | | | | Specifically, make sure the rule does not match if there is a c-common prerequisites that it doesn't recognize.
* Add config.{c,cxx}.{id,version,target} configuration variablesBoris Kolpackov2018-10-261-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).
* Redesign cc::compiler_id to make variant customizableBoris Kolpackov2018-10-251-13/+18
|
* Only consider common .pc file for binless variant if there is no binfullBoris Kolpackov2018-09-051-1/+2
|
* Adjust pkg-config logic to cover binless librariesBoris Kolpackov2018-09-051-9/+28
|
* Initial work on binless (binary-less aka header-only) library supportBoris Kolpackov2018-09-041-1/+2
|
* Implement missing pieces in utility libraries supportBoris Kolpackov2018-08-251-2/+3
| | | | In particular, we can now build static libraries out of utility libraries.
* Make project variable to be of project_name typeKaren Arutyunov2018-07-301-1/+1
|
* Update copyright yearKaren Arutyunov2018-05-191-1/+1
|
* Get rid of action rule override semanticsBoris Kolpackov2018-02-031-4/+4
| | | | | Instead we now have two more or less separate match states for outer and inner parts of an action.
* Initial support for c/cxx runtime/stdlib detectionBoris Kolpackov2018-01-051-0/+5
|
* Improve diagnostics when c-family modules using different toolchainsBoris Kolpackov2017-12-041-0/+2
| | | | We now also warn on toolchain pattern mismatch.
* Implement better cross-hinting between c-family modulesBoris Kolpackov2017-12-041-0/+5
|
* Add {c,cxx}.class variablesBoris Kolpackov2017-11-271-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)
* Extract system header search paths from GCC or compatibleBoris Kolpackov2017-10-031-1/+7
|
* Get rid of pkgconfig moduleKaren Arutyunov2017-09-251-3/+1
|
* Make use of libpkgconf libraryKaren Arutyunov2017-09-251-0/+1
|
* Implement sidebuilding of installed modulesBoris Kolpackov2017-08-041-1/+2
|
* Change cc.preprocessed to {c,cxx}.preprocessedBoris Kolpackov2017-08-021-1/+2
|
* Experimental (and probably broken) pkg-config generation supportBoris Kolpackov2017-07-311-9/+6
|
* Implement support for linking whole archiveBoris Kolpackov2017-07-281-1/+2
|
* Initial infrastructure for utility librariesBoris Kolpackov2017-07-271-2/+2
|
* Add extra support for symbol exporting in modularized projectsBoris Kolpackov2017-06-221-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 ();
* Implement rule chaining for modulesBoris Kolpackov2017-06-081-0/+1
|
* C++ modules work: add target typesBoris Kolpackov2017-05-311-4/+6
|
* Diagnose lack of module support in extract_modules()Boris Kolpackov2017-05-301-0/+4
|
* Rework C/C++ standard translation in preparation for experimental/modulesBoris Kolpackov2017-05-301-18/+2
| | | | Also fix bug in clang-apple versioning.
* Add ability to limit amount of preprocessing done on sourceBoris Kolpackov2017-05-291-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.
* Extract C++ modules informationBoris Kolpackov2017-05-251-1/+3
| | | | | For now we do it for every translation unit in order to test our C++ lexer and parser.
* Add compiler_id enumBoris Kolpackov2017-05-251-9/+12
|
* Add compiler version checks for separate preprocess and compile setupBoris Kolpackov2017-05-181-2/+7
|
* Add ability to disable use of preprocessed output in compilationBoris Kolpackov2017-05-171-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]
* Implement separate preprocess and compiler for GCC and ClangBoris Kolpackov2017-05-161-1/+2
|
* Add hxx extension for headersKaren Arutyunov2017-05-011-0/+289