summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix VS C++ module support.vsmodfixJussi Pakkanen2021-02-151-1/+2
|
* docs: Fix typo in release notes [skip ci]Sam Thursfield2021-02-141-1/+1
| | | Mismatched \` symbol was messing up the formatting.
* Add a release note entry for C++ modules which was missing. [skip ci]Jussi Pakkanen2021-02-141-1/+8
|
* Bump version for new development.Jussi Pakkanen2021-02-141-1/+1
|
* Set up release 0.57.0.57.0Jussi Pakkanen2021-02-1434-316/+355
|
* aix: avoid -bsvr4 flagPeter Harris2021-02-141-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.
* Add custom entyr to cuda buildtype dict. Closes #8336.Jussi Pakkanen2021-02-141-0/+1
|
* Merge pull request #8322 from bonzini/mtest-fixesJussi Pakkanen2021-02-112-44/+75
|\ | | | | mtest fixes for 0.57
| * mtest: include classname in <testcase> JUnit elementPaolo Bonzini2021-02-101-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>
| * mtest: cancel stdout/stderr tasks on timeoutPaolo Bonzini2021-02-101-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>
| * mtest: clean up conditions on whether tests are run in parallelPaolo Bonzini2021-02-101-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>
| * mtest: fix nits in printing test stdoutPaolo Bonzini2021-02-101-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>
| * mtest: TestSetup can have [] as an exe_wrapperPaolo Bonzini2021-02-092-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>
| * mtest: run the test output parser as a taskPaolo Bonzini2021-02-091-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>
| * mtest: hide infinite timeout from the progress reportPaolo Bonzini2021-02-091-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>
* | backends: Fix custom_target() with configure_file() exeXavier Claessens2021-02-092-1/+7
| |
* | backends: Always use the command returned by as_meson_exe_cmdline()Xavier Claessens2021-02-092-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.
* Bump version numbers for rc1.0.57.0.rc1Jussi Pakkanen2021-02-092-3/+3
|
* Add packaging dir to release tarball.Jussi Pakkanen2021-02-091-0/+1
|
* Condense test directory names in preparation for rc1.Jussi Pakkanen2021-02-0922-3/+3
|
* Fix exe wrapper detection for run targets.Jussi Pakkanen2021-02-085-7/+21
|
* Add Qt6 moduleLuca Weiss2021-02-078-5/+74
|
* Merge pull request #8162 from dcbaker/wip/2021-01/rust-module-bindgenJussi Pakkanen2021-02-0718-21/+351
|\ | | | | Add a wrapper to the rust module for bindgen
| * mesonlib: Add better errormessage to typelistifyDylan Baker2021-02-062-3/+3
| |
| * ci: Add bindgen to CI imagesDylan Baker2021-02-063-1/+6
| |
| * rust: Add a module wrapper for bindgenDylan Baker2021-02-0611-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
| * interpreter: Add annotations for CustomTargetHolderDylan Baker2021-02-061-1/+1
| | | | | | | | needed in the rust module
| * build: Add type annotations for CustomTarget constructorDylan Baker2021-02-061-2/+3
| | | | | | | | which are needed in the rust module for bindgen support.
| * Add a method to IncludeDirs to convert to string listDylan Baker2021-02-062-3/+8
| | | | | | | | | | I'm going to use this in the rust module as well, so having a single source of truth is useful.
| * backends/ninja: Implement linking a C ABI target into a rust targetDylan Baker2021-02-061-7/+12
| |
* | Make installing non-existing subdirs a supported featurePeter Hutterer2021-02-074-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
* | Merge pull request #8288 from bonzini/test-setup-exclude-suitesJussi Pakkanen2021-02-076-68/+94
|\ \ | | | | | | introduce add_test_setup(exclude suites: ...) keyword argument
| * | interpreter, mtest: introduce add_test_setup(exclude_suites: ...)Paolo Bonzini2021-02-026-15/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new keyword argument makes it possible to run specific test setups only on a subset of the tests. For example, to mark some tests as slow and avoid running them by default: add_test_setup('quick', exclude_suites: ['slow'], is_default: true) add_test_setup('slow') It will then be possible to run the slow tests with either `meson test --setup slow` or `meson test --suite slow`.
| * | mtest: extract get_test_setup, rename merge_suite_optionsPaolo Bonzini2021-02-021-10/+13
| | | | | | | | | | | | | | | | | | | | | merge_suite_options is really about test setups, so rename accordingly. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * | mtest: load build data earlyPaolo Bonzini2021-02-021-23/+21
| | | | | | | | | | | | | | | | | | This will be needed to exclude testsuites from test setups (which are stored in the build data). While at it, since a chdir is needed simplify a bit the loading of tests and benchmarks.
| * | mtest: compute logfile name earlyPaolo Bonzini2021-02-021-15/+18
| | | | | | | | | | | | Do this before overriding self.options.setup with the default setup.
| * | mtest: remove useless argumentPaolo Bonzini2021-02-021-3/+3
| | |
| * | build: fix flake8Paolo Bonzini2021-02-021-2/+1
| | |
* | | Merge pull request #8305 from xclaesse/run-target-envJussi Pakkanen2021-02-0714-241/+131
|\ \ \ | |_|/ |/| | run_target: Add env kwarg
| * | ninjabackend: Remove useless call to replace_paths()Xavier Claessens2021-02-052-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Replacements are already done by eval_custom_target_command() and must be done BEFORE calling as_meson_exe_cmdline() anyway. replace_paths() is still used by generators. Make eval_custom_target_command() more readable by handling error in the final else case instead of in the middle of elif.
| * | backend: Do not check for exe wrapper twiceXavier Claessens2021-02-053-17/+4
| | | | | | | | | | | | It is already checked by as_meson_exe_cmdline().
| * | run_target: Add env kwargXavier Claessens2021-02-0514-219/+123
| | | | | | | | | | | | | | | | | | Re-implement it in backend using the same code path as for custom_target(). This for example handle setting PATH on Windows when command is an executable.
* | | clarify some things in typed_pos_argsDylan Baker2021-02-061-27/+30
| | | | | | | | | | | | | | | This uses some variables to simplify some logic, and updates the docstring to be more useful.
* | | modules/rust: use typed_pos_argsDylan Baker2021-02-061-10/+5
| | |
* | | interpreterbase: Add support for optional arguments to typed_pos_argsDylan Baker2021-02-062-2/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows representing functions like assert(), which take optional positional arguments, which are not variadic. More importnatly you can represent a function like (* means optional, but possitional): ```txt func(str, *int, *str) ``` typed_pos_args will check that all of your types are correct, and if not provide None, which allow simplifying a number of implementation details
* | | interpreterbase: Add support for variadic arguments to typed_pos_argsDylan Baker2021-02-062-7/+131
| | | | | | | | | | | | This allows functions like `files()` to be decorated.
* | | interpreterbase: Add a helper method for typing positional argumentsDylan Baker2021-02-062-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | We don't do a very good job of type checking in the interpreter, sometimes we leave it to the mid layers of backends to do that (layering violations) and sometimes we just don't check them at all. When we do check them it's a ton of boilerplate and complicates the code. This should help quite a bit.
* | | interpreter: use noPosArgs and noKwargs instead of opencodingDylan Baker2021-02-061-8/+6
| | |
* | | add loongarch supportXiaotian Wu2021-02-063-1/+4
| | |
* | | run_unittests: fix misc lint errors due to whitespace or unused imports/argsEli Schwartz2021-02-051-5/+3
| | |