aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-02-17Disable failing Cygwin GIR test.cygwindisabletestJussi Pakkanen1-0/+4
2021-02-17compilers: Only insert -flto-jobs in clang's link argumentsDylan Baker4-8/+18
Clang has a hand `-Wunused-command-line-argument` switch, which when turned to an error, gets very grump about `-flto-jobs=0` being set in the compiler arguments (although `-flto=` belongs there). We'll refactor a bit to put that only in the link arguments. GCC doesn't have this probably because, a) it doesn't have an equivalent warning, and b) it uses `-flto=<$numthreads. Fixes: #8347
2021-02-17Do not validate options when finding non-matchingDylan Baker4-5/+22
This is a) useless because it's only used to print which options are not default, and b) harmful because it can result in cases where things break, like in projects that set a standard that the chosen compiler doesn't support, but the project (or some subset) can be built with a different standard. Fixes: #8360
2021-02-17Substitute @CURRENT_SOURCE_DIR@ in run_target() and custom_target()Xavier Claessens5-3/+54
run_target() does some variable substitutions since 0.57.0. This is a new behavior, and undocumented, caused by sharing more code with custom_target(). More consistency is better, so document it now. custom_target() was doing variable substitution in the past, because it shared some code with generator(), but that was undocumented. Some refactoring in 0.57.0 caused it to not replace @CURRENT_SOURCE_DIR@, @SOURCE_DIR@, and @BUILD_DIR@ anymore. This patch adds back @CURRENT_SOURCE_DIR@ and document it. It does not add back @SOURCE_DIR@ because it is duplicate with @SOURCE_ROOT@ that has a better name. Also do not add back @BUILD_DIR@ which is duplicate of @PRIVATE_DIR@, and not @BUILD_ROOT@ surprisingly, adding to the confusion.
2021-02-17mconf: only print correct options in the correct sectionsDylan Baker1-2/+2
A predicate in two comprehensions was dropped, in what looks like a rebase error on my part. With the predicate added things work correctly. Fixes: #8344
2021-02-17Environment: Fix passing envrionment variables CPPFLAGS and CFLAGSDylan Baker6-8/+60
Or other language flags that use CPPFLAGS (like CXXFLAGS). The problem here is actually rather simple, `dict.setdefault()` doesn't work like I thought it did, I thought it created a weak entry, but it actually is equivalent to: ```python if k not in dict: dict[k] = v ``` Instead we'll use an intermediate dictionary (a default dictionary actually, since that makes things a little cleaner) and then add the keys from that dict to self.options as applicable. Test case written by Jussi, Fix by Dylan Co-authored-by: Jussi Pakkanen Fixes: #8361 Fixes: #8345
2021-02-16Merge pull request #8355 from obilaniu/cudafixesDylan Baker5-41/+419
CUDA Compiler Fixes
2021-02-16Small patch to unittests to initialize CUDA compiler correctly.Olexa Bilaniuk1-1/+1
Suggested by Dylan Baker.
2021-02-16Add optional -Dcuda_ccbindir= option and -ccbin flag to CUDA compiler.Olexa Bilaniuk2-8/+33
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-02-16Add default debug flags for two configurations to NVCC.Olexa Bilaniuk1-2/+2
2021-02-16CUDA Toolkit 11.2.1 has been released, update version tableOlexa Bilaniuk1-1/+2
Strangely, the minimum version of CUDA Toolkit 11.2.0 has also been updated - downwards. We pick up this change as well.
2021-02-16Fix VS C++ module support.Jussi Pakkanen1-1/+2
2021-02-16Fix destdir detection for installation via polkitXℹ Ruoyao1-1/+1
In 0.57.0 installation via polkit won't work anymore. `destdir` is defaulted to an empty string ('') instead of None. But polkit installation code incorrectly tests `destdir is None`.
2021-02-16Add missing apostrophes. [skip ci]Jussi Pakkanen1-2/+2
2021-02-14docs: Fix typo in release notes [skip ci]Sam Thursfield1-1/+1
Mismatched \` symbol was messing up the formatting.
2021-02-14Add a release note entry for C++ modules which was missing. [skip ci]Jussi Pakkanen1-1/+8
2021-02-14Bump version for new development.Jussi Pakkanen1-1/+1
2021-02-14Set up release 0.57.0.57.0Jussi Pakkanen34-316/+355
2021-02-14aix: avoid -bsvr4 flagPeter Harris1-9/+22
The svr4 linker flag causes issues, especially when compiling c++. Replace '-z' options with the equivalent non-svr4 flags. When using -blibpath, we must be careful to include the default system library path, or the resulting executables will not be able to find libc. This patch was suggested by @andreaskem in #7581.
2021-02-14Add custom entyr to cuda buildtype dict. Closes #8336.Jussi Pakkanen1-0/+1
2021-02-11Merge pull request #8322 from bonzini/mtest-fixesJussi Pakkanen2-44/+75
mtest fixes for 0.57
2021-02-10mtest: include classname in <testcase> JUnit elementPaolo Bonzini1-2/+4
It looks like GitLab ignores the suite name and actually uses the classname. Adjust the output accordingly. Fixes: #8316 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-10mtest: cancel stdout/stderr tasks on timeoutPaolo Bonzini1-18/+35
Avoid that the tasks linger and SingleTestRunner.run() never terminates. In order to do this, we need read_decode() and read_decode_lines() to be cancellable, and to handle the CancelledError gracefully while returning the output they have collected so far. For read_decode(), this means always operating on a line-by-line basis, even if console_mode is not ConsoleUser.STDOUT. For read_decode_lines(), instead, we cannot return an iterator. Rather, read_decode_lines() returns the output directly (similar to read_decode) and communication with the parser is mediated by an asyncio.Queue. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-10mtest: clean up conditions on whether tests are run in parallelPaolo Bonzini1-10/+13
This makes non-parallel tests emit their output on the fly, similar to ninja console jobs. It also cleans up the code a bit, avoiding the repetition of "self.options.num_processes" tests. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-10mtest: fix nits in printing test stdoutPaolo Bonzini1-4/+5
- Ensure the output is terminated with a \n even if the test does not include one. - Ensure that stdout is flushed for each reported result Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09mtest: TestSetup can have [] as an exe_wrapperPaolo Bonzini2-2/+4
Fix "meson test --wrapper foo --setup bar", it should work just fine if the setup does not define a wrapper. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09mtest: run the test output parser as a taskPaolo Bonzini1-5/+6
Start the parsing of the output early; this avoids a deadlock if the test writes to stdout but no one reads from it. It also reports TAP or Rust subtest results as they happen, which was the intention all along. While at it, use a consistent naming conventions for coroutines vs tasks. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09mtest: hide infinite timeout from the progress reportPaolo Bonzini1-3/+8
Avoid printing something like "30/-1s" when tests are run without a timeout or with --timeout-multiplier 0. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09backends: Fix custom_target() with configure_file() exeXavier Claessens2-1/+7
2021-02-09backends: Always use the command returned by as_meson_exe_cmdline()Xavier Claessens2-15/+12
Even if the command is not wrapped by meson, it could have been modified to add java/mono interpreters. This fix potential inconsistency between wrapped and unwrapped commands.
2021-02-09Bump version numbers for rc1.0.57.0.rc1Jussi Pakkanen2-3/+3
2021-02-09Add packaging dir to release tarball.Jussi Pakkanen1-0/+1
2021-02-09Condense test directory names in preparation for rc1.Jussi Pakkanen22-3/+3
2021-02-08Fix exe wrapper detection for run targets.Jussi Pakkanen5-7/+21
2021-02-07Add Qt6 moduleLuca Weiss8-5/+74
2021-02-07Merge pull request #8162 from dcbaker/wip/2021-01/rust-module-bindgenJussi Pakkanen18-21/+351
Add a wrapper to the rust module for bindgen
2021-02-07Make installing non-existing subdirs a supported featurePeter Hutterer4-1/+16
install_subdir() with a non-existing subdir creates the directory in the target directory. This seems like an implementation detail but is quite useful to create new directories for e.g. configuration or plugins in the installed locations. git bisect says this started with 8fe816101467e66792251b4f57e0ddddb537764a. Let's add a test for it and document it to make this behavior official. Limitation: it can only create at the install_dir location, trying to create nested subdirectories does not work and indeed creates the wrong directory structure. That is a bug that should be fixed separately: install_subdir('blah', install_dir: get_option('prefix')) install_subdir('sub/foobar', install_dir: get_option('prefix')) install_subdir('foo/baz', install_dir: get_option('prefix')) $ tree ../_inst ../_inst ├── baz ├── blah └── foobar Fixes #2904
2021-02-07Merge pull request #8288 from bonzini/test-setup-exclude-suitesJussi Pakkanen6-68/+94
introduce add_test_setup(exclude suites: ...) keyword argument
2021-02-07Merge pull request #8305 from xclaesse/run-target-envJussi Pakkanen14-241/+131
run_target: Add env kwarg
2021-02-06mesonlib: Add better errormessage to typelistifyDylan Baker2-3/+3
2021-02-06ci: Add bindgen to CI imagesDylan Baker3-1/+6
2021-02-06rust: Add a module wrapper for bindgenDylan Baker11-5/+319
This has a couple of advantages over rolling it by hand: 1. it correctly handles include_directories objects, which is always handy 2. it correctly generates a depfile for you, which makes it more reliable 3. it requires less typing
2021-02-06interpreter: Add annotations for CustomTargetHolderDylan Baker1-1/+1
needed in the rust module
2021-02-06build: Add type annotations for CustomTarget constructorDylan Baker1-2/+3
which are needed in the rust module for bindgen support.
2021-02-06Add a method to IncludeDirs to convert to string listDylan Baker2-3/+8
I'm going to use this in the rust module as well, so having a single source of truth is useful.
2021-02-06backends/ninja: Implement linking a C ABI target into a rust targetDylan Baker1-7/+12
2021-02-06clarify some things in typed_pos_argsDylan Baker1-27/+30
This uses some variables to simplify some logic, and updates the docstring to be more useful.
2021-02-06modules/rust: use typed_pos_argsDylan Baker1-10/+5