aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-08-18rust targets: lld-link is the same as link for static libsnirbheek/un-disable-rust-clang-clNirbheek Chauhan1-3/+3
Without this, rustc will fail to find libfoo.a; same as with MSVC.
2021-08-18test cases/rust: clang-cl also needs extra_winlibsNirbheek Chauhan1-1/+1
2021-08-18Revert "Disable Rust + clangcl."Nirbheek Chauhan1-8/+0
This reverts commit 6c55fc5cb0f6f363d5221c9bd0c1fd1fc6f90f4a
2021-08-18Revert "Disable vs2017 + 32bit Rust combo as it is broken."Nirbheek Chauhan1-4/+1
This reverts commit 75688240cfca7eed08c2754daa784c9bd1a70a73 Should've been fixed by c95bffb295dd8ae12dd37c9a6c33372a20cf9a68
2021-08-17Add install tagsXavier Claessens26-87/+430
Fixes: #7007.
2021-08-16compilers/compilers: Fix some potential issues spotted by pyrightDylan Baker1-2/+4
There are two changes here, one is to remove an `elif` that is effectively an `else`, that helps the type checker and provides a small speedup potentially. The second is a potentially unbound variable, that currently isn't hit, but very much could be.
2021-08-16interpreter/compiler: make helper methods protectedDylan Baker1-29/+29
2021-08-16run_mypy: add interpreter/compiler.pyDylan Baker1-0/+1
2021-08-16interpreter/compiler: Add type checking for the Compiler objectDylan Baker2-401/+349
This adds a full set of `typed_pos_args` and `typed_kwarg` decorations, as well as fixing all of the typing errors reported by mypy.
2021-08-16interpreter/compiler: Add type annotations to TryRunResultHolderDylan Baker1-4/+4
2021-08-16interpreter/compiler: remove unittest_args methodDylan Baker2-16/+7
It's not documented, and it's been marked deprecated for who knows how long.
2021-08-16compilers: Fix extra_args parameterDylan Baker6-31/+36
which can also be a callable taking a CompileChekcMode as an argumetn and returning a list of strings.
2021-08-16compilers: Fix annotations for run and cached_compileDylan Baker3-9/+9
Which absolutely should accept `str | File`, but the annotations claim that only strings are accepted.
2021-08-16interpreter/compiler: Replace permittedKwargs({}) with noKwargsDylan Baker1-19/+19
The former isn't really correct, as it wants a set and is getting a dict, the other is also conceptually clearer I think.
2021-08-16interpreterobjects: Add TypedDict annoations for `extract_search_dirs`Dylan Baker2-1/+11
This allows for more accurate type checking
2021-08-16interperterbase: help type checkers do better type deductionDylan Baker1-1/+5
This assert causes several type checkers (both mypy and pyright) to force `obj` to be a base `HoldableObject` instead of the specialized object. Since the check itself may still be valuable as we don't have fully type annotation coverage it's simply been removed when type checking to aid in type specialization.
2021-08-16interpreter: allow KwargInfo.evolve to change the name as wellDylan Baker1-1/+2
2021-08-16unittests/base: Allow init method to failDylan Baker1-11/+29
This adds a new keyword argument to the init method, `allow_fail`. When set to True (default is False) then a failure to configure is not an error, and output is still returned. This can be useful for cases where we expect initialization to fail, and want to check the output.
2021-08-16unittests/base: Move code out of the try block of a try/except statementDylan Baker1-15/+18
There are two problems with having this in the try/except block. The first is that both of the if statements will raise, and the except statement cathces `Exception`, so it catches these two cases, prints a message that we either don't want or already printed, then re-raises.
2021-08-16unittests/baseplatform: don't double print on errorDylan Baker1-2/+4
2021-08-16Document new rules for green CI.Jussi Pakkanen1-0/+15
2021-08-16Add unset_variable()Tristan Partin7-2/+57
This should be useful for helping to control variable scope within Meson. CMake has something similar for controlling scope.
2021-08-16interpreter: Fix holder_map not being updated when subproject failsXavier Claessens3-6/+14
Fixes: #9038
2021-08-16ci: Use 32-bit Rust and Python on vs2017 x86Nirbheek Chauhan1-2/+11
See also: https://github.com/mesonbuild/meson/issues/9038#issuecomment-898960933
2021-08-15Refresh Ninja cache files on regeneration.Jussi Pakkanen1-0/+3
2021-08-15editorconfig: add setting to trim trailing whitespaceEli Schwartz156-216/+89
and clean up all outstanding issues Skip 'test cases/common/141 special characters/meson.build' since it intentionally uses trailing newlines.
2021-08-15correct a copy-pasted commentEli Schwartz1-2/+1
2021-08-15misc formatting lint fixes, drop unneeded f-stringEli Schwartz1-8/+8
2021-08-15run_unittests: fix unused variable warningsEli Schwartz1-2/+2
We don't actually want to do anything with the open()ed file, just immediately close it. The CalledProcessError doesn't have its return returncode checked here, even though other code with the same type of context manager does.
2021-08-15Revert "interpreter: Fix holder_map not being updated when subproject fails"Jussi Pakkanen3-14/+6
This reverts commit 566383c727219fc20cf1c90c0fe7dae4bcac5c96.
2021-08-15Revert "compilers/c++: Add MSVC option to make the __cplusplus define accurate"Jussi Pakkanen6-40/+2
This reverts commit 0b97d585480e973d8b149618901f7a4ddfa1a906.
2021-08-15tests: make detecting broken compilers always run without tracebacksEli Schwartz1-1/+1
Fixes regression in commit 75688240cfca7eed08c2754daa784c9bd1a70a73. Even though this function is *currently* only invoked on Windows, these environment variables may not actually exist -- and apparently don't in at least the "UnusedMissingReturn / windows" test run, which... did not get triggered by that commit, since it only edited the testsuite runner, not any test cases. \o/
2021-08-15Disable Rust + clangcl.Jussi Pakkanen1-0/+3
2021-08-15Disable vs2017 + 32bit Rust combo as it is broken.Jussi Pakkanen1-2/+11
2021-08-14Force unity builds off in Flex test.Jussi Pakkanen1-1/+3
2021-08-13Document that custom_target() install_dir can be a listXavier Claessens1-1/+20
2021-08-12Allow gettext test to skip on macOS.Jussi Pakkanen1-0/+3
2021-08-12fix the previous commit which deleted a doc file but not the index entryEli Schwartz1-1/+0
The CI still passed, or should I say, didn't run, and I failed to notice this in manual review. Sorry!
2021-08-12Update wrap documentation to describe new submission processEli Schwartz2-243/+57
2021-08-12Fix building framework test.Jussi Pakkanen1-0/+2
2021-08-12Disable asan memory leak checks on a Cuda test.Jussi Pakkanen1-2/+5
2021-08-12Pass a test file to flex test.Jussi Pakkanen3-2/+5
2021-08-11Always generate Java rule, it is platform agnostic.Jussi Pakkanen1-2/+1
2021-08-11compilers/c++: Add MSVC option to make the __cplusplus define accurateDylan Baker6-2/+40
Otherwise it always returns the value for c++98, starting with MSVC 2017 15.7 or later. Earlier versions are not affected by this mis-feature
2021-08-11Make the flex test case workAdrien Plazas2-11/+3
This adds the noyywrap option so flex doesn't wait for more input once we reached EOF. This also adds the nounput and noinput options to fix compilation warnings. We can now run the test as expected.
2021-08-09build: store global and project args per-machine even when not cross compilingDylan Baker1-8/+4
The problem is what happens in this case: ```meson add_project_arguments('-DHOST', language : 'c', native : false) add_project_arguments('-DBUILD', langauge : 'c', native : true) ``` The original meson behavior was that in an host == build configuration only the `native : false` would be applied. This doesn't really make sense as in that case the build machine is the host machine, so it is both the native and non-native machine at once. We changed this so that the both would be applied in a host == build configuration, but this is a behavioral change, and needs to be reverted. Fixes: #9037
2021-08-09build: add a few annotationsDylan Baker1-4/+4
I was debugging this code, these were trivial, so I added them.
2021-08-09Fix i18n target name when using @BASENAME@ and configure_file() inputXavier Claessens5-13/+55
Fixes: #9022
2021-08-09i18n: use real build/install targets for gmo filesEli Schwartz2-51/+23
Don't just create a .PHONY target which runs a script that magically generates files ninja doesn't know about. It results in untracked files, and `meson install` has to run additional commands instead of copying over files, and then cannot track them to uninstall them later. I'm not even really sure why it was originally done via a proxy script, most likely bad legacy design. This is after all one of the oldest modules... One side effect of this is that meson doesn't know how to rename build.CustomTarget files on install (only data files are supported?), and every file needs to be installed as "domainname.mo" so it must be named that in-tree too. To prevent clashes, every locale gets its own locale-specific subdirectory. Once we are doing that anyway, we can output them to the actual structure required by the gettext family of functions, and bindtextdomain() can therefore point to this location if desired. This might be useful for running localized programs from the build tree.
2021-08-09interpreter: Fix spurious warning in configure_data()Xavier Claessens1-2/+2
This is a regression when porting to typed_pos_args().