aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-07-03Fix image link names.docimagelinksJussi Pakkanen1-4/+4
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-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
2021-06-22interpreter: use typed_kwargs for install_dataDylan Baker2-26/+25
2021-06-22interpreter: use typed_pos_args for install_dataDylan Baker2-3/+5
2021-06-22interpreter: use typed_kwargs for install_subdirDylan Baker2-41/+99
2021-06-22interpreter: use typed_pos_args for install_subdirDylan Baker1-7/+3
2021-06-22interpreterbase: Add evolve to KwargInfoDylan Baker2-0/+53
This works just like OptionKey.evolve, pass new keyword arguments to override old ones, otherwise the original versions are copied to the new one.
2021-06-22interpreter: add overload for source_strings_to_filesDylan Baker1-0/+4
when only passing strings or Files we only get back Files. This is useful for the install_* methods
2021-06-22mesonlib: add rsplit and and maxsplitDylan Baker1-2/+5
Since string has a maxsplit as well, we should implement that for polymorphism
2021-06-22mesonlib: Fix FileMode type annotationsDylan Baker2-3/+4
2021-06-22minstall: fix type annotation for add_argumentsDylan Baker1-1/+1
This takes an `argparse.ArgumentParser` instance, not a namespace
2021-06-22backend: Headers.install_subdir is allowed to be NoneDylan Baker2-2/+7
But we don't properly handle that.
2021-06-22Fix project tests category name used in skippable() and XML outputJon Turney1-3/+4
Since 25df6e7d split the iteration over tests to start them from the iteration to collect their results, the variable 'name' is only being set in the first iteratiorn, so all tests are treated as being in the last test category read (probably 'wasm') for skipppable() and in the XML output. Store the category name in the TestDef object Use it in skippable() Use it in classname attribute of XML test results
2021-06-22extract_objects: skip headers when building custom_target command linePaolo Bonzini3-6/+15
As seen in the testcase, passing objects to custom_target does not work if headers are passed extract_objects(), or if extract_all_objects() is used and the sources include any header files. To fix this, use the code that already exists for unity build to filter out the nonexistent ".h.o" files. This already gives for free the handling of genlist, which was mentioned in a TODO comment.
2021-06-22Fixed unused-parameter/strict-prototypes warnings.Justin Handville3-4/+4
2021-06-22Added test case to test fix for issue 8910.Justin Handville5-0/+84
2021-06-22Fixed style issue as per comments on PR 8911.Justin Handville1-2/+1
2021-06-22Fix for Issue 8910 (Meson filters CMake asm files)Justin Handville2-2/+5
2021-06-22extract_objects: test and document using the result in a custom_targetPaolo Bonzini3-1/+30
QEMU would like to use the result of extract_objects in a custom_target; examples are using objcopy, or using the object files as the key to look up command line arguments in compile_commands.json. This is slightly peculiar and not covered by the test suite, but it works; in order to avoid regressions, add a test case and document it.
2021-06-22interpreter: Replace manual kwarg validation in ↵Laurin-Luis Lehning1-6/+7
compiler.get_supported_arguments with @typed_kwargs
2021-06-21fix: Ensure that build targets have all methods from ExternalProgramDaniel Mensinger6-9/+59
As a side-effect from #8885 `find_program()` returns now `Executable` objects when `meson.override_find_program` is called with an executable target. To resolve this conflict the missing methods from `ExternalProgram` are added to `BuildTarget`.
2021-06-21interpreter: Move argument checks from add_*_arguments to ↵Laurin-Luis Lehning9-41/+35
compiler.get_supported_arguments
2021-06-21docs: Fix snippet heading for required project argumentsLaurin-Luis Lehning1-1/+1
2021-06-21interpreter: Consider the compiler language before checking argumentsLaurin-Luis Lehning1-1/+4
2021-06-21interprter: Add required kwarg to add_(project|global)_argumentsLaurin-Luis Lehning5-2/+35
To avoid manual compiler support checks add_project_arguments and add_global_arguments receive a new keyword argument to perform them automatically.
2021-06-20fix: dicts and list need _holderify for fallbackDaniel Mensinger2-4/+30
2021-06-20fix: Fix strange holder_map bug in combination with subprojectsDaniel Mensinger1-9/+6
I was unable to reproduce this in a minimal test-case, so there is currently no new test :(
2021-06-20fix: Fix set_variable not holderifying (fixes #8904)Daniel Mensinger5-8/+58
2021-06-19Update Quick-guide.mdOrta Therox1-1/+1
2021-06-18holders: Fix the remaining code to respect the holder changesDaniel Mensinger15-499/+510
2021-06-18holders: remove unholderDaniel Mensinger20-257/+203
2021-06-18holders: Introduce BothLibrariesDaniel Mensinger4-76/+106