aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-09-30dependency: Allow searching for multiple namesXavier Claessens5-3/+33
2021-09-30Fix typosChristian Clauss1-4/+4
2021-09-30interpreter: Use typed_kwargs for func_custom_targetDylan Baker7-49/+181
This does not convert the build side, or remove any of the checking it does. We still need that for other callers of custom target. What we'll do for those is add an internal interface that defaults things, then we'll be able to have those callers do their own validation, and the CustomTarget validation machinary can be removed. Fixes #9096
2021-09-30build: Prepare CustomTarget.process_kwargs to co-existDylan Baker1-19/+19
We still need this to co-exist as long as there are interfaces for CustomTarget other than `func_custom_target`, this gets us there.
2021-09-30build: Allow `Dict[OptionKey, str` in parse_overridesDylan Baker1-1/+8
We really want to move all of this option handling into the interpreter through the typed_kwargs, this is the first step to that
2021-09-30interpreter: Allow FileMode to be passed to _get_kwarg_install_modeDylan Baker1-0/+2
This will happen as we transition from doing the conversion in the function body to using the KwargInfo to make that change. If we get one just return it.
2021-09-30interpreter: move command kwarg to type_checkingDylan Baker2-8/+12
2021-09-30interpreter/type_checking: Add DEPEND_FILES_KWDylan Baker1-1/+8
since most of the Target classes use this, let's just go ahead and add it here instead of moving it later
2021-09-30interpreter: move KwargInfo('depends') to type_checkingDylan Baker2-7/+10
2021-09-30interpreter: DEPFILE_KW should be Optional[str]Dylan Baker2-3/+3
2021-09-30interpreter: remove duplicate permittedKwargsDylan Baker1-2/+0
func_generator already has typed_kwargs, it doesn't need both.
2021-09-30interpreter: move DEPFILE_KW to type_checkingtDylan Baker2-2/+9
2021-09-30build: Use isinstance(other, Target) instead of hasattrDylan Baker1-4/+4
In the comparison methods of Target. There are several problems with the old implementation: 1. It's not idiomatic 2. It can match on things that It shouldn't (like a Compiler, which has a `get_id() -> str` method, but not one that we should compare with Targets 3. It confuses mypy, which doesn't handle hasattr
2021-09-30build: Add type annotations to AliasTargetDylan Baker1-1/+2
It's just a RunTarget with one default value overriden
2021-09-30interpreter: use typed_kwargs on func_run_targetDylan Baker2-23/+31
2021-09-30build: drop unnecissary method from RunTargetDylan Baker1-3/+0
2021-09-30build: Fully annotate RunTargetDylan Baker1-5/+10
2021-09-30build: Add full type annotations to CommandBaseDylan Baker1-2/+3
2021-09-30build: add forward delcarations to CommandBase classDylan Baker1-0/+5
It would probably be better if CommandBase had an initializer so it could set the depend_files and dependencies attributes itself, but this will make mypy happier.
2021-09-30build: Add a couple of obvious annotations to RunTargetDylan Baker1-2/+2
2021-09-30interpreterbase/decorators: KwargIfno validator must take an relaxed typeDylan Baker1-1/+1
I've used any because it needs to be infinitely recursive, something that we simply can't model. But basically until it goes into validator we have no way of knowing what's going on, since one can write code like: ```python KwargInfo[str]('arg', object, validator=_some_very_complex_logic_to_get_specific_string) ``` As such, we can't assume that validator is receiving a type _T, it could be anything.
2021-09-30Make custom_target() name argument optionalXavier Claessens9-6/+63
2021-09-29Fix mypy errorsmakise-homura2-5/+9
2021-09-29pkgconfig: pkg-configs version<0.29.1 escape variables incorrectlymakise-homura1-1/+2
2021-09-29compilers/elbrus: Deal with C/C++/Fortran stds more correctlymakise-homura4-14/+43
2021-09-29compilers: Select correct clang on e2k for C++ and ObjC++makise-homura1-2/+2
2021-09-29compilers: There is clang for e2k (elbrus) platform finallymakise-homura1-6/+4
2021-09-29compilers/elbrus: Support prelinking with lcc correctlymakise-homura1-0/+3
2021-09-29compilers/elbrus: Fix incorrect inheritance model of Elbrus*Compilermakise-homura4-13/+14
2021-09-29unittests: Make qt test work if multiple versions of qt installedmakise-homura1-1/+1
2021-09-29external-project: variables must be dict not listXavier Claessens1-1/+1
Fixes: #9316
2021-09-30doc: document string.strip() optional argument [skip ci]Stone Tickle1-0/+5
2021-09-30syntax-highlighting: vim: set b:undo_indentDoug Kearns1-0/+2
The b:undo_indent variable gets executed to undo the effects of the options set earlier in the file. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Liam Beguin <liambeguin@gmail.com>
2021-09-29Revert "mtest: fix test output issues (in console)"Paolo Bonzini2-212/+201
This reverts commit 5fcb0e6525e2044e0f82bda488a51350e0f7f29f. The commit is a massive change that should have been split in separate pieces, and it also removes a few features: * in verbose mode, subtests are not printed as they happen * in non-verbose mode the progress report does not include the number of subtests that have been run * in non-parallel mode, output is batched rather than printed as it happens Furthermore, none of these changes are not documented in the release notes. Revert so that each proposal can be tested, evaluated and documented individually.
2021-09-29tests/rust: add libm to fix build with rust 1.55Dominique Leuenberger1-0/+1
Fixes #9309
2021-09-29tests: take into account Debian Python pathsFilipe Laíns2-4/+4
Signed-off-by: Filipe Laíns <lains@riseup.net>
2021-09-29modules: python: better handling of the Python paths for DebianFilipe Laíns1-8/+35
Hardcoding the name is fragile, and enabling it based on the existence of /etc/debian_version (as the is_debianlike helper does) will result in incorrect paths if the Python binary is not provided by Debian. Using the deb_system distuils scheme instead makes sure we use the install path from the current interpreter, which Debian could change between releases, and gives us the correct value on Python installations that are not provided by Debian (eg. deadsnakes, Github Action Python, etc.) Do notice, though, that there is still no guarantee that these are the correct paths, as they assume all schemes paths have the install prefix as a base, see #9284. Signed-off-by: Filipe Laíns <lains@riseup.net>
2021-09-29CODEOWNERS: add myself as "meson test" ownerPaolo Bonzini1-0/+1
2021-09-28Merge pull request #9014 from bonzini/mixed-language-linkJussi Pakkanen9-9/+92
Use appropriate compiler for the source file for "links" tests with file argument
2021-09-27fix test case instances where undefined message(true) occurredEli Schwartz2-3/+3
2021-09-26fix message function accepting bools and casting to stringEli Schwartz1-0/+2
This was allowed by accident despite what meson said would work, because in python a bool counts as a subclass of int.
2021-09-25unittests: Make test_prelinking work on SolarisAlan Coopersmith1-3/+6
Running 'cc --version' finds the Solaris Studio C compiler, not gcc, and it doesn't support --version.
2021-09-25dependencies: Add JDK system dependency for SolarisAlan Coopersmith1-0/+2
Handle is_sunos() machines in __machine_info_to_platform_include_dir
2021-09-25Merge pull request #8773 from dcbaker/submit/rustc-enhancements-clippyJussi Pakkanen12-22/+102
More enhancements for Rust + clippy support
2021-09-25interpreter: Add FeatureNew checkDaniel Mensinger3-1/+20
2021-09-25Remove helpers.check_stringlist()Daniel Mensinger10-32/+63
2021-09-25interpreter: Introduce StringHolderDaniel Mensinger15-134/+216
Another commit in my quest to rid InterpreterBase from all higher level object processing logic. Additionally, there is a a logic change here, since `str.join` now uses varargs and can now accept more than one argument (and supports list flattening).
2021-09-25mtest: fix test output issues (in console)Hemmo Nieminen2-201/+212
This change set aims to fix various "issues" seen with the current implementation. The changes can be summarized with the following list: * Replace emojis and spinners with multiline status displaying the name and running time of each currently running test. * The test output (especially in verbose mode or when multiple failing tests' output gets printed out) can get confusing. Try to make the output easier to read and grasp. Most notable change here is the addition of the test number to the beginning of each printed line. * Print exit details (i.e. exit code) of the test in verbose mode. * Try to make the verbose "live" output from tests to match the look and feel of otherwise produced (verbose) test output.
2021-09-24compilers/rust: Add support for clippyDylan Baker8-12/+59
Clippy is a compiler wrapper for rust that provides an extra layer of linting. It's quite popular, but unfortunately doesn't provide the output of the compiler that it's wrapping in it's output, so we don't detect that clippy is rustc. This small patch adds a new compiler class (that is the Rustc class with a different id) and the necessary logic to detect that clippy is in fact rustc) Fixes: #8767
2021-09-24pipelines: add 32bit clippy to 32bit rustDylan Baker1-0/+4