aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-07-02backends/ninja: only pass project specific arguments to scan-buildDylan Baker1-1/+2
Currently all arguments are being passed to scan-build as part of the refactoring of how Meson internally handles arguments, but that's wrong, only project specific arguments are supposed to be passed. Fixes: #8818
2021-07-02fix: get_variable default variables are not ObjectHolders (fixes #8936)Daniel Mensinger7-10/+21
2021-07-01Add minimum NVIDIA driver version entry in table for newly-released CUDA ↵Olexa Bilaniuk1-0/+1
Toolkit 11.4.0. We skip 11.3.1 because it shares the same version requirements as 11.3.0.
2021-06-30interpreter: add required and disabled to importDylan Baker9-49/+96
This is useful both from the perspective of optional functionality that requires a module, and also as I continue to progress with Meson++, which will probably not implement all of the modules that Meson itself does.
2021-07-01C2000: linker uses now binary setting defined within the cross-filemiebka2-3/+3
2021-06-30modules: modules need to return either an ExtensionModlue or aDylan Baker3-6/+6
NewExtensionModule object So that we get the found() method.
2021-06-30modules: add classes with the found methodDylan Baker1-2/+52
These will be needed for checking whether a module is found or not if it is required false.
2021-06-30interpreter: use typed_pos_args for func_importDylan Baker1-18/+16
and make the helper method private
2021-06-30Alphabetize dependency names with special lookupJon Turney1-61/+60
2021-06-30Move 'builtin', 'config-tool' and 'system' methods to discussion of methodsJon Turney1-45/+45
2021-06-29Merge pull request #8882 from xclaesse/msubprojects-parallelJussi Pakkanen3-338/+440
msubprojects: Run action on all subprojects in parallel
2021-06-29Merge pull request #8924 from jon-turney/fix-test-json-schemaJussi Pakkanen2-9/+24
Various fixes to test.json schema
2021-06-29Add feed arg to custom_target()Simon Ser12-19/+95
2021-06-29Merge pull request #8918 from mensinda/pathlibFixesJussi Pakkanen83-308/+487
pathlib: Patch pathlib to work around some bugs (fixes #8263 #7295)
2021-06-29Users.md:add rmwandy59951-0/+1
2021-06-29tests: test that we always set encodingDaniel Mensinger3-1/+86
2021-06-29fix: Always explicitly set encoding for text files (fixes #8263)Daniel Mensinger79-305/+310
2021-06-29pathlib: Patch pathlib to work around some bugs (fixes #7295)Daniel Mensinger5-3/+92
2021-06-28 build: fix object path for vs backendDenis Fortin7-3/+52
2021-06-27modules/qt: use _impl private methods to avoid incorrect FeatureNewDylan Baker1-11/+28
`qt.preprocess` dispatches to the individual methods instead of duplicating all of the logic itself, but this means that it goes through the type checking, and feature checking a second time. To avoid this we need to use a private helper method instead. Fixes #8920
2021-06-27Update detect.pyIan Harvey1-1/+1
Adjust Intel Fortran compiler detection to handle changes in ifort logo with the introduction of the oneapi toolkit. See #8338.
2021-06-26refactor: Refactor BothLibraries logicDaniel Mensinger13-50/+56
This commit introduces a new type of `HoldableObject`: The `SecondLevelHolder`. The primary purpose of this class is to handle cases where two (or more) `HoldableObject`s are stored at the same time (with one default object). The best (and currently only) example here is the `BothLibraries` class.
2021-06-25msubprojects: Display progress while tasks are runningXavier Claessens1-9/+49
Logs are printed only when the task is done to not interleave logs while running multiple tasks in parallel. That means that nothing is printed until the task is done and that could take time.
2021-06-25msubprojects: Add message at the end of purgeXavier Claessens1-0/+12
2021-06-25msubprojects: Run action on all subprojects in parallelXavier Claessens3-337/+387
This moves all the code into a class and call its run() method in a thread. The class queues all logs to print them at the end to avoid mixing output of multiple actions.
2021-06-25typing: Annotate compilers.detectDaniel Mensinger2-63/+74
2021-06-25Split compiler detection from EnvironmentDaniel Mensinger14-1457/+1611
This moves all the compiler detection logic into the new compilers.detect module. This dramatically reduces the size and complexity of Environment.
2021-06-25linkers: move linkers.py into the linkers packageDaniel Mensinger3-9/+124
2021-06-24Fix test.json for boost test to match schemaJon Turney1-4/+4
I guess the intent was that tests of thread/debug library variants only get run with MSVC, but currently this test isn't getting run at all in our Windows CI (since boost got removed from the VM image [1], and we didn't notice, more on which anon). [1] https://github.com/actions/virtual-environments/pull/2843
2021-06-24Fix test.json schema for 'matrix'Jon Turney1-5/+11
I'm not sure what the current schema is describing, but it's not doing anything useful to validate 'matrix' entries, as I discover when I come to add something to that. 'matrix' is a dict with possible keys 'options' and 'exclude'. 'options' is a dict with arbitrary keys, whose's values are arrays Once we describe those dicts correctly, also fix that 'val' keys may be string, boolean or null, and the corresponding 'exclude' keys may be string or boolean. v2: Also allow 'val' and 'exclude' to be an array of strings.
2021-06-23gnome: add update_desktop_database to post_install()Xavier Claessens3-4/+28
2021-06-23gnome: Set GSETTINGS_SCHEMA_DIR in devenvXavier Claessens3-0/+10
2021-06-23interpreter: Empty list used to be allowed in install_headers/manXavier Claessens1-2/+2
That change introduced when porting to @typed_pos_args breaks gtk4. We could decide to deprecate/warn but should not error for backward compatibility.
2021-06-23Enforce all dicts with a fixed set of keys in test.json schemaJon Turney1-0/+9
Improve test.json schema to disallow arbitrary keys in all dicts which have a defined set of keys (the 'installed', matrix 'options' and 'stdout' dicts). Add 'count' and 'comment' keys to 'stdout' dict.
2021-06-23Merge pull request #8884 from dcbaker/submit/type-and-annotate-install-functionsJussi Pakkanen11-122/+256
Add annotations for the various install_* functions
2021-06-23Merge pull request #8912 from mensinda/fixBothLibrariesJussi Pakkanen32-37/+98
Fix `BothLibraries` processing
2021-06-22tests: both_library test improvementsDaniel Mensinger27-29/+66
This switches some `shared_library()` calls to `library()` and adds one new CI matrix entries for -Ddefault_library={static, both}.
2021-06-22fix: Handling BothLibraries objects (fixes #8907)Daniel Mensinger5-8/+32
2021-06-22Merge pull request #8905 from mensinda/refactorFixJussi Pakkanen5-19/+92
fix: Fix set_variable not holderifying (fixes #8904)
2021-06-22coverage: Enable coverage reportsDaniel Mensinger16-116/+205
2021-06-22Add Visual Studio 2012/2013 backends (#8803)fanc99910-16/+144
* backends: Add a Visual Studio 2013 backend This is more-or-less a quick port from the VS2015 backend, except that we update the Visual Studio version strings and toolset versions accordingly. Also correct the generator string for Visual Studio 2015 in mesonbuild/cmake/common.py. * backend: Add VS2012 backend Similar to what we did for Visual Studio 2013, add a Visual Studio 2012 backend. * vs2010backend.py: Implement `link_whole:` if needed We actually need Visual Studio 2015 Update 2 to use `/WHOLEARCHIVE:`, which is what we are currently using for `link_whole:` on Visual Studio. For Visual Studio versions before that, we need to expand from the static targets that were indicated by `link_whole:`, and any of the sub-dependent targets that were pulled in via the dependent target's `link_whole:`. This wil ensure `link_whole:` would actually work in such cases. * vs2010backend.py: Handle objects from generated sources Unforunately, we can't use backends.determine_ext_objs() reliably, as the Visual Studio backends handle this differently. * vs2010backend.py: Fix generating VS2010 projects Visual Studio 2010 (at least the Express Edition) does not set the envvar %VisualStudioVersion% in its command prompt, so fix generating VS2010 projects by taking account into this, so that we can determine the location of vcvarsall.bat correctly. * whole archive test: Disable on vs2012/2013 backends too The Visual Studio 2012/2013 IDE has problems handling the items that would be generated from this test case, so skip this test when using --backend=vs[2012|2013]. This test does work for the Ninja backend when VS2012 or VS2013 is used, though. Consolidate this error message with XCode along with the vs2010 backend. * docs: Add the new vs2012 and vs2013 backends Let people know that we have backends for vs2012 and 2013. Also let people know that generating Visual Studio 2010 projects have been fixed and the pre-vs2015 backends now handle the `link_whole:` project option.
2021-06-22Merge pull request #8900 from bonzini/extract-objects-docsJussi Pakkanen5-6/+44
extract_objects: fixes, tests and documentation for using the result in a custom_target
2021-06-22Merge pull request #8898 from e820/interpreter-required-argumentsDylan Baker5-4/+35
interpreter: Add checked kwarg to compiler.get_supported_arguments
2021-06-22minstall: make intentions clearerDylan Baker1-2/+2
The existing code works, but it probably doesn't do what the author thought it would do. `(x or y or z) is not None` works by checking that each of those things are *truthy* in turn, and returning the first truthy value, which is compared against None. Using `all()` makes it very clear that what you want to do is make sure that each value is not None.
2021-06-22install_*: FileMode doesn't need to be NoneDylan Baker3-12/+7
There's no reason to allow None into the backend, it already has code to check that all of the values of the FileMode object are None, so let's use that, which is much simpler all the way down.
2021-06-22interpreter: use typed_kwargs for install_manDylan Baker2-12/+19
2021-06-22interpreter: man sections can be up to 9 on many platformsDylan Baker3-5/+6
Linux and FreeBSD use section 9 for kernel man pages, so we should allow that.
2021-06-22interpreter: use typed_pos_args for install_manDylan Baker1-2/+5
2021-06-22interpreter: use typed_kwargs for install_headersDylan Baker2-12/+18
2021-06-22interpreter: use typed_pos_args for install_headersDylan Baker1-4/+5