summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
Commit message (Collapse)AuthorAgeFilesLines
* Fix _calculate_toolset_version for VS2022.Luke Elliott2021-11-271-0/+2
|
* Add -g for debug builds.Nathanael Gray2021-11-271-1/+1
|
* Fix more code which appears copied from CcrxCompiler.Nathanael Gray2021-11-271-4/+6
|
* ldc2: invoke -Oz instead of -OsDenis Feklushkin2021-11-221-1/+1
|
* Support ancient (<3.4.0) gcc versionsWilliam Toohey2021-11-161-1/+4
|
* only pass clang LTO arguments when they are neededEli Schwartz2021-11-151-2/+4
| | | | | | | | | | | If the LTO threads == 0 clang will default to the same argument we manually pass, which meant we dropped support for admittedly ancient versions of clang that didn't yet add that option. Drop the extraneous argument, and add a specific error condition when too old versions of clang are detected. Fixes #9569
* Remove incorrect arguments for C2000 C++ compiler. Add correct form for ↵Nathanael Gray2021-11-141-12/+13
| | | | output and include args.
* compilers/java: Add no_warn_args and debug_args methodsDylan Baker2021-11-081-0/+8
|
* various manual conversion of percent-formatted strings to f-stringsEli Schwartz2021-11-011-2/+2
|
* Add 64-bit paths to check for unsupported Watcom cl.exe clones.William D. Jones2021-10-311-1/+4
|
* migrate python 3.5 compatible superclass variable annotations to 3.6Eli Schwartz2021-11-011-5/+3
| | | | | As we now require python 3.6, we can declare their types without initializing them.
* Revert "known Python 3.5 on windows workaround for subprocess(cwd=str(Path))"Eli Schwartz2021-11-011-2/+1
| | | | | | This reverts commit c89aa2094170b2ffd7151187c1c092db2a178f44. We no longer support 3.5 so this can go.
* Remove duplicated CEXE_MAPPING tableXavier Claessens2021-10-291-5/+0
|
* fix various flake8 whitespace errorsEli Schwartz2021-10-279-22/+22
|
* Add sccache support.Jussi Pakkanen2021-10-251-2/+7
|
* Add stdc++20 support for Visual Studio 2019 v16.11Moroz Oleg2021-10-241-0/+4
| | | | fix #9242
* compilers/rust: fix typo in standard descriptionDylan Baker2021-10-211-1/+1
|
* compilers/rust: add support for the 2021 editionDylan Baker2021-10-211-1/+1
|
* cuda: Override std=none to avoid host_compiler to emit -std argumentXavier Claessens2021-10-141-6/+3
|
* Fix typos discovered by codespellChristian Clauss2021-10-107-16/+16
|
* clike compilers: drop semicolon at function endVladimír Čunát2021-10-071-4/+4
| | | | warning: ISO C does not allow extra ';' outside of a function [-Wpedantic]
* Fix compiler detection for cl/clang-clJesse Natalie2021-10-061-1/+1
| | | | If the compiler specified is a path to a compiler, the current detection is broken. It needs to use just the compiler name instead.
* fix extra whitespaceEli Schwartz2021-10-045-9/+0
| | | | discovered via flake8 --select E303
* use idiomatic python for membership testsEli Schwartz2021-10-041-1/+1
| | | | | "X not in Y" is preferred over "not X in Y", as the former is more readable.
* Fix mypy errorsmakise-homura2021-09-292-5/+9
|
* compilers/elbrus: Deal with C/C++/Fortran stds more correctlymakise-homura2021-09-294-14/+43
|
* compilers: Select correct clang on e2k for C++ and ObjC++makise-homura2021-09-291-2/+2
|
* compilers: There is clang for e2k (elbrus) platform finallymakise-homura2021-09-291-6/+4
|
* compilers/elbrus: Support prelinking with lcc correctlymakise-homura2021-09-291-0/+3
|
* compilers/elbrus: Fix incorrect inheritance model of Elbrus*Compilermakise-homura2021-09-294-13/+14
|
* Merge pull request #9014 from bonzini/mixed-language-linkJussi Pakkanen2021-09-282-8/+22
|\ | | | | Use appropriate compiler for the source file for "links" tests with file argument
| * interpreter: detect and pass compiler to be used for linker testsPaolo Bonzini2021-09-072-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Allow using the links method to test that the C++ driver (e.g. g++) can be used to link C objects. One usecase is that the C compiler's libsanitizer might not be compatible with the one included by the C++ driver. This is theoretically backwards-incompatible, but it should be treated as a bugfix in my opinion. There is no way in Meson to compile a .c file with the C++ driver as part of a build target, therefore there would be no reason to do something like meson.get_compiler(meson.get_compiler('cpp').links(files('main.c')). Fixes: #7703
| * compilers: allow link tests to use objects from a different compilerPaolo Bonzini2021-09-071-2/+12
| | | | | | | | | | | | | | | | | | | | | | In some cases, link tests would like to use objects provided by a compiler for a different language, for example linking a C object file with a C++ compiler. This kind of scenario is what link_language is for, but it is impossible to test that it works with a linker test. This patch implements the required support in the Compiler class. The source code compiler is passed to the Compiler.links method as an argument.
| * compilers: do accept None in Compiler.compile extra_argsPaolo Bonzini2021-09-071-1/+2
| | | | | | | | The type information allows it, but it is not actually handled.
| * compilers: fix flake8 issuesPaolo Bonzini2021-09-071-7/+6
| |
* | Merge pull request #8773 from dcbaker/submit/rustc-enhancements-clippyJussi Pakkanen2021-09-253-10/+65
|\ \ | | | | | | More enhancements for Rust + clippy support
| * | compilers/rust: Add support for clippyDylan Baker2021-09-243-9/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clippy is a compiler wrapper for rust that provides an extra layer of linting. It's quite popular, but unfortunately doesn't provide the output of the compiler that it's wrapping in it's output, so we don't detect that clippy is rustc. This small patch adds a new compiler class (that is the Rustc class with a different id) and the necessary logic to detect that clippy is in fact rustc) Fixes: #8767
| * | compilers/detect: use linker_always_args as well as linker exe_listDylan Baker2021-09-241-1/+1
| | | | | | | | | | | | Otherwise we don't get critical arguments like -fuse=lld.
| * | rustc: implement pic argsDylan Baker2021-09-241-0/+9
| | |
| * | compilers/rust: Implement warning levelsDylan Baker2021-09-241-0/+14
| | | | | | | | | | | | | | | | | | Currently this implements 3 warning levels, 1 and 2 are just the "default" set by rustc, 3, is "everything is a warning", and 0 is "nothign is a warning".
| * | rust: Add werror argumentsDylan Baker2021-09-241-0/+5
| | |
| * | compilers/detect: avoid mutating rustc compiler listDylan Baker2021-09-241-0/+2
| | | | | | | | | | | | Because mutation is bad.
* | | compilers: Add default search path stdlib_only_link_flagsDylan Baker2021-09-253-12/+60
|/ / | | | | | | | | | | | | | | | | This should be done in all cases of language_stdlib_only_link_flags, but I don't have access to all of the compilers to test it. This is required in cases where object files created by gfortran are linked using another compiler with a differen default search path, such as gfortran and clang together.
* | Merge pull request #9167 from dcbaker/submit/meson-main-type-checkingJussi Pakkanen2021-09-242-2/+3
|\ \ | | | | | | Add type annotations and type checking to meson main
| * | pylint: check for duplicate importsDylan Baker2021-09-242-2/+3
| | | | | | | | | | | | | | | | | | I ran into one of these from LGTM, and it would be nice if pylint could warn me as part of my local development process instead of waiting for the CI to tell me.
* | | Add option to to transpile Cython to C++Dylan Baker2021-09-241-0/+8
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new meson built-in option for cython, allowing it to target C++ instead of C as the intermediate language. This can, of course, be done on a per-target basis using the `override_options` keyword argument, or for the entire project in the project function. There are some things in this patch that are less than ideal. One of them is that we have to add compilers in the build layer, but there isn't a better place to do it because of per target override_options. There's also some design differences between Meson and setuptools, in that Meson only allows options on a per-target rather than a per-file granularity. Fixes #9015
* | Use -Oz when optimization=s in ClangAndrea Pappacoda2021-09-211-1/+1
| | | | | | | | | | | | -Oz is the appropriate flag to use when you want to produce the smallest possible binary, and is one would expect when setting optimization to s or using the minsize build type.
* | compilers: Use standards compliant testRohit Goswami2021-09-201-1/+1
| |
* | C2000: Added depfile generation for incremental buildsmiebka2021-09-161-0/+3
| |
* | apply flake8 fixes for unused imports and missing importsEli Schwartz2021-09-143-9/+3
| |