summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/cuda.py
Commit message (Collapse)AuthorAgeFilesLines
* fix various flake8 whitespace errorsEli Schwartz2021-10-271-7/+7
|
* cuda: Override std=none to avoid host_compiler to emit -std argumentXavier Claessens2021-10-141-6/+3
|
* Fix typos discovered by codespellChristian Clauss2021-10-101-2/+2
|
* fix extra whitespaceEli Schwartz2021-10-041-3/+0
| | | | discovered via flake8 --select E303
* compilers: Fix extra_args parameterDylan Baker2021-08-161-2/+2
| | | | | which can also be a callable taking a CompileChekcMode as an argumetn and returning a list of strings.
* Cuda: Enable PGODavid Seifert2021-07-181-0/+6
|
* Cuda: Filter -isystem with system pathsDavid Seifert2021-07-181-12/+19
|
* Cuda: Pass -DNDEBUG throughDavid Seifert2021-07-181-0/+3
|
* linkers: remove is_shared_module argument to get_soname_argsPaolo Bonzini2021-07-141-4/+2
| | | | The argument is now unused, drop it.
* fix: Always explicitly set encoding for text files (fixes #8263)Daniel Mensinger2021-06-291-1/+1
|
* Strip host-compiler -std flag from NVCC line.cudafix0572Olexa Bilaniuk2021-03-281-1/+12
| | | | Closes #8523.
* Retract "DQSQ" merging in NVCC arguments handling.Olexa Bilaniuk2021-03-281-15/+0
| | | | | No coverage, no tests, unreadable, unused, likely premature optimization.
* Canonicalize and merge consecutive -Xcompiler flags together.Olexa Bilaniuk2021-03-281-1/+47
| | | | Makes command-line more readable.
* split program related classes and functions out of dependenciesDylan Baker2021-03-191-1/+2
| | | | | | Dependencies is already a large and complicated package without adding programs to the list. This also allows us to untangle a bit of spaghetti that we have.
* mass rewrite of string formatting to use f-strings everywhereEli Schwartz2021-03-041-2/+2
| | | | performed by running "pyupgrade --py36-plus" and committing the results
* various python neatness cleanupsEli Schwartz2021-03-041-2/+2
| | | | | | | | | | | | | | | | All changes were created by running "pyupgrade --py3-only --keep-percent-format" and committing the results. I have not touched string formatting for now. - use set literals - simplify .format() parameter naming - remove __future__ - remove default "r" mode for open() - use OSError rather than compatibility aliases - remove stray parentheses in function(generator) scopes
* raw string literals are next to godlinessEli Schwartz2021-03-041-2/+2
| | | | | | Invalid escape sequences are deprecated and will be removed from a future version of python. Use r"" to define them so they remain readable.
* [CUDA] Bugfix: Forward sanitizer_*_args() methods to host compiler.Olexa Bilaniuk2021-02-221-0/+6
| | | | | | | | | | | | | Enables -Db_sanitize=undefined and company. Also serves as a testcase for NVCC comma-shielding: Because the test- case declares `b_sanitize=address,undefined`, the host GCC compiler needs `-fsanitize=address,undefined`, but this stands a danger of being split by NVCC when wrapped with `-Xcompiler=args,args`. Special, already-existing comma-shielding codepaths activate to prevent this splitting. Closes #8394.
* Add optional -Dcuda_ccbindir= option and -ccbin flag to CUDA compiler.Olexa Bilaniuk2021-02-161-8/+32
| | | | Closes #8110.
* Armour-grade quoting to account for NVCC's -Xcompiler peculiarities.Olexa Bilaniuk2021-02-161-14/+84
|
* Extensive rewrite of GCC/MVSC flag translation to NVCC flags.Olexa Bilaniuk2021-02-161-31/+313
|
* move OptionKey to mesonlibDylan Baker2021-01-041-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
* use OptionKey for compiler_optionsDylan Baker2021-01-041-7/+10
|
* compilers: Standardize the names of compiler optionsDylan Baker2020-11-121-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
* 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
|
* compilers/cuda: make type safeDylan Baker2020-10-011-49/+65
|
* compilres: move depfile_for_object to compilerDylan Baker2020-10-011-4/+1
|
* compilers: move get_dependency_gen_args to base CompilerDylan Baker2020-10-011-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
* compilers/cpp: Add type annotationsDylan Baker2020-10-011-1/+1
|
* compilers: put name_string method in base compilerDylan Baker2020-09-241-3/+0
| | | | Every language had the exact same implementation
* compilers/compilers: Fully type annotateDylan Baker2020-09-241-2/+2
|
* Fix native builds on Windows ARM64 machinesNirbheek Chauhan2020-07-131-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.
* Let .pc files specify rpath.Dan Kegel2020-05-161-3/+4
| | | | Fixes #4027
* types: import typing as T (fixes #6333)Daniel Mensinger2020-01-081-8/+8
|
* compilers: Make get_display_language a class or static methodDylan Baker2019-12-121-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.
* compilers: move language attribute to the class levelDylan Baker2019-12-121-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.
* Use strict function prototypesMichael Hirsch, Ph.D2019-11-181-1/+1
|
* Fix typos found by codespellWolfgang Stöggl2019-11-061-2/+2
| | | | - Typos were found by codespell v1.16.0
* dependency('cuda')Aleksey Gurtovoy2019-11-051-1/+4
|
* compilers: replace CompilerType with MachineInfoDylan Baker2019-10-071-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
* CUDA support on WindowsAleksey Gurtovoy2019-09-241-18/+101
|
* Create CUDA linker with CUDA compilerKramer Peace2019-09-051-6/+2
| | | | | Since they are laways paired there is no need to "search" for the cuda linker.
* Add a CUDA linker objectKramer Peace2019-09-051-1/+5
| | | | Fixes issue #5870
* compilers: Move the compiler argument to proxy linker flags to the compiler ↵Dylan Baker2019-08-301-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.
* compilers: Dispatch to dynamic linker classDylan Baker2019-08-141-32/+26
| | | | | Most of the cuda code is from Olexa Bilaniuk. Most of the PGI code is from Michael Hirsc
* compilers/cuda: pass through extra kwargsDylan Baker2019-08-141-2/+2
|
* compilers/cuda: don't use re for replacementDylan Baker2019-08-141-3/+2
| | | | | Even with the check (for extra safety) string.replace is more than twice as fast.
* compilers: split gnu and gnulike compilers out of compilersDylan Baker2019-07-151-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.
* Purge `is_cross` and friends without changing user interfacesJohn Ericson2019-06-091-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.