summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
Commit message (Collapse)AuthorAgeFilesLines
* Create unit test for C++ modules and accept ixx as C++ source extension.Jussi Pakkanen2020-12-111-1/+1
|
* compilers: add support for c++20/gnu++20Florian Schmaus2020-12-101-4/+7
| | | | Fixes #8084.
* Add prelinking support for static libraries.Jussi Pakkanen2020-12-032-0/+5
|
* compilers/fortran: Add "none" to intel compielrs for standardsDylan Baker2020-11-241-2/+2
| | | | Fixes #8023
* Add a variant of TemporaryDirectory that uses windows_proof_rmtree()Christoph Reiter2020-11-231-53/+48
| | | | | | | | Adds TemporaryDirectoryWinProof which calls windows_proof_rmtree() on error. Use instead of hacky error handling (which might shadow other OSError) in Compiler.compile().
* use real pathlib moduleDylan Baker2020-11-203-3/+3
| | | | | We added the _pathlib module to work around defeciencies in python 3.5's implementation, since we now rely on 3.6 lets drop this
* Revert "Add thinlto support. Closes #7493."Jussi Pakkanen2020-11-174-20/+11
| | | | This reverts commit 3e6fbde94c1cb8d4e01b7daf0282c315ff0e6c7d.
* Merge pull request #7843 from dcbaker/submit/rustc-fixesJussi Pakkanen2020-11-141-0/+4
|\ | | | | A few fixups for rust
| * compilers/rust: add and use an implementation of use_linker_argsDylan Baker2020-11-131-0/+4
| |
* | msvc: enable /std:c17 flagjpark372020-11-131-8/+19
|/ | | | | | Increase allowed c_std options, and check compiler version. Also update mlog pattern to not crash.
* Merge pull request #7866 from dcbaker/submit/compiler-std-in-baseJussi Pakkanen2020-11-134-170/+123
|\ | | | | Put the Compiler standard option in the Language mixin
| * clang-cl: Allow clang-cl (when compiling C) to pass std to underlying clang)Dylan Baker2020-11-121-34/+33
| | | | | | | | | | This allows a wider array of standard support than would be available directly from clang-cl, emulating MSVC stds.
| * compilers/c: Log that MSVC doesn't support gnu stdsDylan Baker2020-11-121-1/+13
| | | | | | | | | | | | | | | | | | Since the current approach of demoting to the nearest C standard *might* work, but might not. For projects like Glib that detect which standard is used and fall back this is fine. For projects like libdrm that only work with gnu standards, this wont. We're nog tusing a warning because this shouldn't be fatal if --meson-fatal-warnings is used. Also demote a similar message in IntelCl from warning to log.
| * compilers: define standards in the base language compilerDylan Baker2020-11-123-152/+71
| | | | | | | | | | | | And then update the choices in each leaf class. This way we don't end up with another case where we implicitly allow an invalid standard to be set on a compiler that doesn't have a 'std' setting currently.
| * compilers: Standardize the names of compiler optionsDylan Baker2020-11-123-16/+16
| | | | | | | | | | | | Most options don't use language prefaced options (std vs c_std) internally, as we don't need that due to namespacing. Let's do that across the board
| * compilers/c: Clang-cl also needs specific handling for standardsDylan Baker2020-11-121-0/+19
| |
| * Make MSVC accept gnu11 as a language standard version. Closes: #7611.Jussi Pakkanen2020-11-121-3/+7
| | | | | | | | Fixes: #7611
* | compilers/rust: Add color outputDylan Baker2020-11-101-1/+7
| | | | | | | | | | Rust has color output, although it's help doesn't document it. It uses the same values as cargo (and everything else), auto, never, always.
* | compilers/rust: Add vs_crt supportDylan Baker2020-11-101-0/+6
|/ | | | | | As far as I can Tell, rust just handles this for us (it's always worked with no special arguments from us). However, since we're going to add support for base options for rust, we need to add the method.
* Fix WASM thread count option. Closes #7921.Jussi Pakkanen2020-11-091-2/+2
|
* Fix "generator doesn't stop" on WindowsChristoph Reiter2020-11-081-1/+1
| | | | | | | | | | | | | | When TemporaryDirectory() cleans up on __exit__ it sometimes throws OSError noting that the dir isn't empty. This happens after the first yield in this generator and leads to the exception being handled which leads to a second yield. contextlib.contextmanager() fails then since the function it wraps is only allowed to yield once. Fix this by not yielding again in the error case. Fixes #7947
* Add thinlto support. Closes #7493.Jussi Pakkanen2020-11-084-11/+20
|
* rust: implement support for --editionDylan Baker2020-11-051-0/+19
| | | | | | | | | Using the std option, so now `rust_std=..` will work. I've chosen to use "std" even though rust calls these "editions", as meson refers to language versions as "standards", which makes meson feel more uniform, and be less surprising. Fixes: #5100
* Refactor handling of machine file optionsXavier Claessens2020-10-161-8/+3
| | | | | | It is much easier to not try to parse options into complicated structures until we actually collected all options: machine files, command line, project()'s default_options, environment.
* compilers/cuda: Use format_map(mapping) instead of format(**mapping)Carlos Bederian2020-10-161-2/+2
|
* compilers/cuda: Fix has_header_symbol checkCarlos Bederian2020-10-161-4/+17
|
* vs: add static_from_buildtype to b_vscrtPeter Harris2020-10-143-11/+22
|
* Add win_subsystem kwarg. Closes #7765.Jussi Pakkanen2020-10-073-0/+24
|
* compilers: Enable C++20 for Intel C++ Compiler.Vinson Lee2020-10-061-0/+3
| | | | | | | | Intel C++ Compiler 19.1 has C++20 features. https://software.intel.com/content/www/us/en/develop/articles/intel-c-compiler-191-for-linux-release-notes-for-intel-parallel-studio-xe-2020.html Signed-off-by: Vinson Lee <vlee@freedesktop.org>
* pathlib: Fix resolve() by overriding it in Python 3.5Daniel Mensinger2020-10-043-3/+3
|
* compilers/icl fix IntelClCPP argument checkingDylan Baker2020-10-011-0/+4
| | | | | Unlike MSVC and ClangCl it needs to call into it's own compiler check args
* compilers/icl: Fix pch usageDylan Baker2020-10-011-0/+3
|
* compilers/fortran: make ifort on windows signature match ICL'sDylan Baker2020-10-011-1/+1
|
* compilers/clike: Store exe_wrapper as ExternalProgramDylan Baker2020-10-012-4/+4
| | | | Which is what other languages do.
* compilers: make get_optimization_args abstractDylan Baker2020-10-012-1/+5
|
* compilers/fortran: fix has_multi_*_argumentsDylan Baker2020-10-012-23/+12
| | | | | | The implementation of the link variant was what should have been the compiler variant, and there was no valid compiler variant, which meant it was getting C code.
* compilers/d: add type annotationsDylan Baker2020-10-012-128/+143
|
* compilers/gnu: Don't pretend to inherit CLikeDylan Baker2020-10-011-1/+1
| | | | | We don't need it anymore, and it would be problematic for the D compilers.
* compilers: move _build_wrapper out of clike into CompilerDylan Baker2020-10-012-51/+79
| | | | | | This abstraction is really useful, and most compilers could use it (including D). It also will allow the Gnu mixins to work properly without the CLikeCompiler in their mro.
* compilers: clang: use get_compiler_check_argsDylan Baker2020-10-011-5/+8
|
* compilers/intel: use get_compiler_check_argsDylan Baker2020-10-012-24/+15
| | | | | Instead of trying to override the compiles() method, which gets skipped in a bunch of cases.
* compilers: move get_compile_check_args() to CompilerDylan Baker2020-10-013-26/+47
| | | | | This is groundwork to put _build_wrapper in the base Compiler, which is needed to make the D compilers truly type safe.
* compilers/fortran: add type annotationsDylan Baker2020-10-012-92/+143
|
* compilers/java: Add type annotationsDylan Baker2020-10-011-24/+22
|
* compilers/rust: add type annotationsDylan Baker2020-10-011-25/+38
|
* compilers/swift: Add type annotationsDylan Baker2020-10-011-30/+37
|
* Compilers/vala: Add type annotationsDylan Baker2020-10-012-24/+35
|
* compilers/cuda: make type safeDylan Baker2020-10-016-71/+75
|
* compilres: move depfile_for_object to compilerDylan Baker2020-10-014-13/+6
|
* compilers/cs: Add type annotationsDylan Baker2020-10-013-44/+40
|