aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-08-20Fix duplicated frameworks in the Xcode backend.xcodegodotJussi Pakkanen1-1/+7
2021-08-20Fix multiple generators in target in Xcode.Jussi Pakkanen1-2/+2
2021-08-20Path special casing for the Xcode backend.Jussi Pakkanen3-3/+9
2021-08-20Handle .C extension in Xcode.Jussi Pakkanen1-1/+4
2021-08-20external-project: Add support for WAF build systemXavier Claessens4-27/+53
Fixes: #7638
2021-08-19Merge pull request #9126 from dcbaker/submit/rust-use-full-typingJussi Pakkanen2-31/+39
Fully type check rust.bindgen
2021-08-18tests: python module should install files correctlyEli Schwartz7-3/+51
- default to python site-packages - subdir to site-packages/subdir - arbitrary install_dir
2021-08-18python module: fix extensions without explicit subdir being installed to libdirEli Schwartz1-4/+4
They are documented to go in site-packages, and indeed belong there. Regression from the initial implementation via commit ad296976f079cd185ab7361e3e4b18c6bf684090 Fixes #6331
2021-08-18test runner: add the ability to configure test.json for python pathsEli Schwartz3-2/+32
Adds new installed file types with @VAR@ substitution.
2021-08-18python module: make external program wrapper have access to useful metadataEli Schwartz1-26/+35
Basically just reorganize code. Try to make it a little neater, while we're at it.
2021-08-18Fix incorrect .name attribute for python programEli Schwartz1-3/+4
It is always set to python3 even if we asked for python2...
2021-08-18fix some confusingly indirect codeEli Schwartz1-3/+3
rsplit(..., 1) always produces exactly one split, by design, there's no need to then join a 1-element list via a generator comprehension after extracting the end of it via pop. If this commit message sounds confusing, then so was I when trying to figure out what this actually did and if it needed extracting to PythonExternalModule.
2021-08-18Test boost-python on macOSKevin Meagher2-7/+9
Previously the meson test case would only test boost-python on linux. With the #7909 it is now possible to use boost-python on macOS/homebrew. This enables the boost-python test on both linux and macOS. It also uses python.extension_module() instead of shared_library to make the python extension module.
2021-08-18backends/ninja: write depscan input files to jsonDylan Baker2-13/+24
Currently, we write each file to the command line, but this can result in situations where the number of files passed exceeds OS imposed command line limits. For compilers, we solve this with response files. For depscan I've chosen to use a JSON list instead. JSON has several advantages in that it's standardized, there's a built-in python module for it, and it's familiar. I've also chosen to always use the JSON file instead of having a heuristic to decide between JSON and not JSON, while there may be a small performance trade off here, keeping the implementation simple with only one path is wort it. Fixes #9129
2021-08-18docs: Remove the deleted function find_libraryDaniel Mensinger3-9/+3
2021-08-17rust targets: lld-link is the same as link for static libsNirbheek Chauhan1-3/+3
Without this, rustc will fail to find libfoo.a; same as with MSVC.
2021-08-17test cases/rust: clang-cl also needs extra_winlibsNirbheek Chauhan1-1/+1
2021-08-17Revert "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-16modules/rust: fix initialize signatureDylan Baker1-2/+2
So that it's accurate, and we don't need to use to use `#type: ignore` declaration
2021-08-16modules/rust: use typed_kwargs for bindgenDylan Baker1-29/+34
This was the only function left in here that wasn't fully typed, so let's fix that
2021-08-16interpreter: fix `source_strings_to_files` annotationsDylan Baker1-0/+3
It's missing a required overload declaration
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/