aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/cuda.py
AgeCommit message (Collapse)AuthorFilesLines
2021-02-16Add optional -Dcuda_ccbindir= option and -ccbin flag to CUDA compiler.Olexa Bilaniuk1-8/+32
Closes #8110.
2021-02-16Armour-grade quoting to account for NVCC's -Xcompiler peculiarities.Olexa Bilaniuk1-14/+84
2021-02-16Extensive rewrite of GCC/MVSC flag translation to NVCC flags.Olexa Bilaniuk1-31/+313
2021-01-04move OptionKey to mesonlibDylan Baker1-2/+4
There's starting to be a lot of things including coredata that coredata needs to itself include. putting it in mesonlib makes more sense
2021-01-04use OptionKey for compiler_optionsDylan Baker1-7/+10
2020-11-12compilers: Standardize the names of compiler optionsDylan Baker1-4/+4
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
2020-10-16compilers/cuda: Use format_map(mapping) instead of format(**mapping)Carlos Bederian1-2/+2
2020-10-16compilers/cuda: Fix has_header_symbol checkCarlos Bederian1-4/+17
2020-10-01compilers/cuda: make type safeDylan Baker1-49/+65
2020-10-01compilres: move depfile_for_object to compilerDylan Baker1-4/+1
2020-10-01compilers: move get_dependency_gen_args to base CompilerDylan Baker1-3/+0
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
2020-10-01compilers/cpp: Add type annotationsDylan Baker1-1/+1
2020-09-24compilers: put name_string method in base compilerDylan Baker1-3/+0
Every language had the exact same implementation
2020-09-24compilers/compilers: Fully type annotateDylan Baker1-2/+2
2020-07-13Fix native builds on Windows ARM64 machinesNirbheek Chauhan1-3/+0
I made the mistake of always selecting the debug CRT for compiler checks on Windows 4 years ago: https://github.com/mesonbuild/meson/pull/543 https://github.com/mesonbuild/meson/pull/614 The idea was to always build the tests with debugging enabled so that the compiler doesn't optimize the tests away. But we stopped doing that a while ago, and also the debug CRT has no relation to that. We should select the CRT in the same way that we do for building targets: based on the options. On Windows ARM64, the debug CRT for ARM64 isn't always available, and the release CRT is available only after installing the runtime package. Without this, we will always try to pick the debug CRT even when --buildtype=debugoptimized or release.
2020-05-16Let .pc files specify rpath.Dan Kegel1-3/+4
Fixes #4027
2020-01-08types: import typing as T (fixes #6333)Daniel Mensinger1-8/+8
2019-12-12compilers: Make get_display_language a class or static methodDylan Baker1-3/+0
Currently this is done at the instance level, but we need it at the class level to allow compiler "lang" args to be gotten early enough. This patch also removes a couple of instance of branch/leaf classes providing their own implementation that is identical to the Compiler version.
2019-12-12compilers: move language attribute to the class levelDylan Baker1-2/+1
We know that if a compiler class inherits CCompiler it's language will be C, so doing this at the class level makes more sense.
2019-11-18Use strict function prototypesMichael Hirsch, Ph.D1-1/+1
2019-11-06Fix typos found by codespellWolfgang Stöggl1-2/+2
- Typos were found by codespell v1.16.0
2019-11-05dependency('cuda')Aleksey Gurtovoy1-1/+4
2019-10-07compilers: replace CompilerType with MachineInfoDylan Baker1-2/+4
Now that the linkers are split out of the compilers this enum is only used to know what platform we're compiling for. Which is what the MachineInfo class is for
2019-09-24CUDA support on WindowsAleksey Gurtovoy1-18/+101
2019-09-05Create CUDA linker with CUDA compilerKramer Peace1-6/+2
Since they are laways paired there is no need to "search" for the cuda linker.
2019-09-05Add a CUDA linker objectKramer Peace1-1/+5
Fixes issue #5870
2019-08-30compilers: Move the compiler argument to proxy linker flags to the compiler ↵Dylan Baker1-11/+5
class Instead of the DynamicLinker returning a hardcoded value like `-Wl,-foo`, it now is passed a value that could be '-Wl,', or could be something '-Xlinker=' This makes a few things cleaner, and will make it possible to fix using clang (not clang-cl) on windows, where it invokes either link.exe or lld-link.exe instead of a gnu-ld compatible linker.
2019-08-14compilers: Dispatch to dynamic linker classDylan Baker1-32/+26
Most of the cuda code is from Olexa Bilaniuk. Most of the PGI code is from Michael Hirsc
2019-08-14compilers/cuda: pass through extra kwargsDylan Baker1-2/+2
2019-08-14compilers/cuda: don't use re for replacementDylan Baker1-3/+2
Even with the check (for extra safety) string.replace is more than twice as fast.
2019-07-15compilers: split gnu and gnulike compilers out of compilersDylan Baker1-1/+2
I debated a bit whether both classes really belong in the same module, and decided that they do because the share a number of helpers.
2019-06-09Purge `is_cross` and friends without changing user interfacesJohn Ericson1-3/+3
In most cases instead pass `for_machine`, the name of the relevant machines (what compilers target, what targets run on, etc). This allows us to use the cross code path in the native case, deduplicating the code. As one can see, environment got bigger as more information is kept structured there, while ninjabackend got a smaller. Overall a few amount of lines were added, but the hope is what's added is a lot simpler than what's removed.
2019-04-28Added some cahced valuesDaniel Mensinger1-2/+3
2019-02-28Fix nvcc error with threads dependency (4999)John M. Lindemon1-1/+4
2019-02-24Solve NVCC -Werror problem.Olexa Bilaniuk1-1/+1
Partially addresses #4961.
2019-02-24Rework CUDA sanity check.Olexa Bilaniuk1-69/+81
PArtially addresses #4961. Also make the sanity check do double duty as a GPU architecture detection test.
2019-02-19Add warning level zerojml17951-1/+2
2019-02-13Fixes for CUDA compiler shared library linking.Olexa Bilaniuk1-8/+29
Also adds test case for shared library linking. Closes #4912, at least on Linux. The future 0.50.0 does not yet claim to support CUDA on systems other than Linux and backends other than Ninja.
2019-02-13Add werror flags to nvcc. Closes #4911.Jussi Pakkanen1-0/+3
2019-01-21All the fixes needed to make work against current master.Jussi Pakkanen1-1/+10
2019-01-21More tests and pic.Jussi Pakkanen1-0/+3
2019-01-21Clean up minor issues.Jussi Pakkanen1-4/+6
2019-01-21added cuda compilerBeau Johnston1-0/+188