Xavier Claessens
7902d2032d
Refactor handling of machine file options
...
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.
4 years ago
Carlos Bederian
c3b3dc598e
compilers/cuda: Use format_map(mapping) instead of format(**mapping)
4 years ago
Carlos Bederian
f09457a1e8
compilers/cuda: Fix has_header_symbol check
4 years ago
Peter Harris
8b8a610ea4
vs: add static_from_buildtype to b_vscrt
4 years ago
Jussi Pakkanen
1a0603835e
Add win_subsystem kwarg. Closes #7765 .
4 years ago
Vinson Lee
5d7069664b
compilers: Enable C++20 for Intel C++ Compiler.
...
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>
4 years ago
Daniel Mensinger
1dfaccfd91
pathlib: Fix resolve() by overriding it in Python 3.5
4 years ago
Dylan Baker
2fe400c350
compilers/icl fix IntelClCPP argument checking
...
Unlike MSVC and ClangCl it needs to call into it's own compiler check
args
4 years ago
Dylan Baker
f9316fbb46
compilers/icl: Fix pch usage
4 years ago
Dylan Baker
b309f4904b
compilers/fortran: make ifort on windows signature match ICL's
4 years ago
Dylan Baker
ff51e1c5aa
compilers/clike: Store exe_wrapper as ExternalProgram
...
Which is what other languages do.
4 years ago
Dylan Baker
135f5d5838
compilers: make get_optimization_args abstract
4 years ago
Dylan Baker
577a2de7e8
compilers/fortran: fix has_multi_*_arguments
...
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.
4 years ago
Dylan Baker
6a9761a2c0
compilers/d: add type annotations
4 years ago
Dylan Baker
6eb981e0c0
compilers/gnu: Don't pretend to inherit CLike
...
We don't need it anymore, and it would be problematic for the D
compilers.
4 years ago
Dylan Baker
738e343860
compilers: move _build_wrapper out of clike into Compiler
...
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.
4 years ago
Dylan Baker
cd59ce98dc
compilers: clang: use get_compiler_check_args
4 years ago
Dylan Baker
1c20f187e8
compilers/intel: use get_compiler_check_args
...
Instead of trying to override the compiles() method, which gets skipped
in a bunch of cases.
4 years ago
Dylan Baker
8291e947f5
compilers: move get_compile_check_args() to Compiler
...
This is groundwork to put _build_wrapper in the base Compiler, which is
needed to make the D compilers truly type safe.
4 years ago
Dylan Baker
e039727e63
compilers/fortran: add type annotations
4 years ago
Dylan Baker
3fc37fc13e
compilers/java: Add type annotations
4 years ago
Dylan Baker
4430269d4e
compilers/rust: add type annotations
4 years ago
Dylan Baker
e437bdd0a9
compilers/swift: Add type annotations
4 years ago
Dylan Baker
efceec9615
Compilers/vala: Add type annotations
4 years ago
Dylan Baker
d3a059b55f
compilers/cuda: make type safe
4 years ago
Dylan Baker
224a752489
compilres: move depfile_for_object to compiler
4 years ago
Dylan Baker
413f4d87e9
compilers/cs: Add type annotations
4 years ago
Dylan Baker
e7f0890cb9
compilers: move get_dependency_gen_args to base Compiler
...
So that every subclass doesn't have to reimplement it. Especially since
the Gnu implementation moved out of the CCompiler and into the
GnuLikeCompiler mixin
4 years ago
Dylan Baker
1513aa437d
compilers: move split_shlib_to_parts to the base compiler
...
Only the GnuLikeCompiler overrides this, and it's implemented multiple
places
4 years ago
Dylan Baker
fe97977b00
compilers/cpp: Add type annotations
4 years ago
Dylan Baker
96a1ae6dfe
compilers: fully type annotate the C compilers
4 years ago
Ian Harvey
3afe18228a
compilers: Use /Od for no-optimisation flag for Intel compilers on windows
...
Intel compilers on Windows (and the Microsoft C++ compiler) use /Od to disable optimisation, not /O0.
4 years ago
Vili Väinölä
d1638a4fde
compilers/VS: fix build to use optimization and debug flags
...
- Fixed using debug and optimization built-in options in MSVC.
- Fixed that VS backend does not create pdb files in release mode.
VS implicitly adds the debug fields if left out.
- Fix that it is possible to add debug info with ninja backend with
optimizations.
4 years ago
Dylan Baker
da4c1945fc
compilers/objcpp: add type annotations
4 years ago
Dylan Baker
05df8320db
compilers/objc: Add type annotations
4 years ago
Dylan Baker
682d22129c
compilers: Tell mypy that the compiler mixins are just that
...
We do this by making the mixins inherit the Compiler class only when
mypy is examining the code (using some clever inheritance shenanigans).
This caught a bunch of issues, and also lets us delete a ton of code.
4 years ago
Dylan Baker
2c0fbe161d
compilers: make is_cross part of the base Compiler class
...
Every class needs to set this, so it should be part of the base. For
classes that require is_cross, the positional argument remains in their
signature. For those that don't, they just allow the base class to set
their value to it's default of False.
4 years ago
Dylan Baker
1592b7a800
compilers: make sanity_check_impl a protected method
...
It's an implementation detail after all
4 years ago
Dylan Baker
98416e7f75
compilers: put name_string method in base compiler
...
Every language had the exact same implementation
4 years ago
Dylan Baker
fa1398f86c
compilers/mixins: make xc16 type safe
4 years ago
Dylan Baker
4911e8eef4
compilers/mixins: make visual studio type safe
4 years ago
Dylan Baker
b6c8b8a5be
compilers/mixins/pgi: Make type safe
4 years ago
Dylan Baker
6dc774f1b6
compilers/mixins/islinker: Make type safe
4 years ago
Dylan Baker
8ee1e6b768
compilers/mixins/intel: make type safe
4 years ago
Dylan Baker
a0a8ef567e
compilers/mixins/intel: Use the has_func_attribute_extra_args function
...
Instead of putting that extra argument in the base compiles() class
4 years ago
Dylan Baker
1e93d2875e
compilers/mixins/emscripten: make type safe
4 years ago
Dylan Baker
04a98baafb
compilers/mixins/elbrus: make type safe
4 years ago
Dylan Baker
bc532a8543
compilers/mixins: make compcert type safe
4 years ago
Dylan Baker
48a181866f
compilers/mixins/clang: Make type safe
4 years ago
Dylan Baker
4b52184dc6
compilers/mixings/gnu: make type safe
4 years ago