aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2021-09-24compilers/detect: use linker_always_args as well as linker exe_listDylan Baker1-1/+1
Otherwise we don't get critical arguments like -fuse=lld.
2021-09-24ninjabackend: Rust use Backend.generate_basic_compiler_argsDylan Baker1-9/+1
Instead of open coding it. This simplifies things, and fixes some missing functionality
2021-09-24rustc: implement pic argsDylan Baker2-0/+10
2021-09-24compilers/rust: Implement warning levelsDylan Baker2-0/+15
Currently this implements 3 warning levels, 1 and 2 are just the "default" set by rustc, 3, is "everything is a warning", and 0 is "nothign is a warning".
2021-09-24rust: Add werror argumentsDylan Baker2-0/+9
2021-09-24compilers/detect: avoid mutating rustc compiler listDylan Baker1-0/+2
Because mutation is bad.
2021-09-24pylintrc: add function-redefinedDylan Baker1-0/+1
2021-09-25compilers: Add default search path stdlib_only_link_flagsDylan Baker5-18/+62
This should be done in all cases of language_stdlib_only_link_flags, but I don't have access to all of the compilers to test it. This is required in cases where object files created by gfortran are linked using another compiler with a differen default search path, such as gfortran and clang together.
2021-09-24Merge pull request #9167 from dcbaker/submit/meson-main-type-checkingJussi Pakkanen16-154/+208
Add type annotations and type checking to meson main
2021-09-24Add option to to transpile Cython to C++Dylan Baker8-7/+123
This patch adds a new meson built-in option for cython, allowing it to target C++ instead of C as the intermediate language. This can, of course, be done on a per-target basis using the `override_options` keyword argument, or for the entire project in the project function. There are some things in this patch that are less than ideal. One of them is that we have to add compilers in the build layer, but there isn't a better place to do it because of per target override_options. There's also some design differences between Meson and setuptools, in that Meson only allows options on a per-target rather than a per-file granularity. Fixes #9015
2021-09-24interpreter/mesonmain: remove unreachable codeDylan Baker1-5/+2
Now that we have type checking, we can be sure that this code is unreachable, and remove it.
2021-09-24pylint: check for duplicate importsDylan Baker7-8/+7
I ran into one of these from LGTM, and it would be nice if pylint could warn me as part of my local development process instead of waiting for the CI to tell me.
2021-09-24interpreter/mesonmain: Fix remaining typing problems and add to run_mypyDylan Baker2-25/+37
2021-09-24build: use an object rather than a dict for the dep_manifestDylan Baker7-15/+32
This really is more of a struct than a dict, as the types are disjoint and they are internally handled, (ie, not from user input). This cleans some things up, in addition I spotted a bug in the ModuleState where the dict with the version and license is passed to a field that expects just the version string.
2021-09-24interpreter/mesonmain: Add full set of typed_argument guardsDylan Baker1-99/+122
2021-09-24interpreter/mesonmain: fix type annotationsDylan Baker1-3/+3
Taht should have been converted to build/program module objects, not interpterter objects
2021-09-24interpreter: Add a few missing type annotationsDylan Baker1-3/+6
Just enough to make interpreter/mesonmain happy
2021-09-24scripts/meson_exe: narrow type annotationDylan Baker1-1/+1
Not just a `dict`, but a `dict[str, str]`
2021-09-24scripts/meson_exe: close fd if we open itDylan Baker1-0/+3