aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-11-09Delete ghwt.py as it is no longer needed or even works.Jussi Pakkanen1-132/+0
2021-11-09Merge pull request #9396 from keszybz/drop-unused-and-unnecessary-printing-codeJussi Pakkanen2-40/+41
depfixer: drop unused and unnecessary printing code
2021-11-09python: Better detect when install path is not in sys.pathXavier Claessens1-9/+12
Using pathlib ensure propre platform specific path handling, such as case sensitivity.
2021-11-09depfixer: always print the file name in messagesZbigniew Jędrzejewski-Szmek1-6/+6
The messages are not useful unless we know what file they are about.
2021-11-09depfixer: convert unused printing code to debugging functionsZbigniew Jędrzejewski-Szmek2-31/+32
When installing with 'meson install --quiet' I'd get the following output: This file does not have an rpath. This file does not have a runpath. (It turns out that of the couple hundred of binaries that are installed, this message was generated for /usr/lib/systemd/boot/efi/linuxx64.elf.stub.) There doesn't seem to be any good reason for this output by default. But those functions can still be used for debugging. Under a debugger, returning the string is just as useful as printing it, but more flexible. So let's suppress printing of anything by default, but keep the extractor functions. The code was somewhat inconsistent wrt. to when .decode() was done. But it seems that we'll get can expect a decodable text string in all cases, so just call .decode() everywhere, because it's nicer to print decoded strings.
2021-11-09depfixer: f-stringsZbigniew Jędrzejewski-Szmek1-3/+3
2021-11-08compilers/java: Add no_warn_args and debug_args methodsDylan Baker1-0/+8
2021-11-08modules/gnome: use typed_kwargs for gdbus_codegenDylan Baker1-51/+70
2021-11-08modules/gnome: use typed_kwargs for gtkdoc methodDylan Baker1-113/+121
2021-11-08modules/gnome: use typed_kwargs for generate_girDylan Baker1-142/+95
This removes the `packages` keyword argument, which was added in 80d665e8decd644d737930d450f0bc66d6b5b02c, but beyond not warning about unknown arguments has never done anything, and has never been documented. The only users I could find were in our own test suite. If someone is using this we can add it back with a deprecation warning.
2021-11-08modules/gnome: use typed_kwargs for compile_resourcesDylan Baker2-35/+74
2021-11-08modules/gnome: use typed_kwargs for yelpDylan Baker1-25/+26
2021-11-08modules/gnome: use typed_kwargs for compile_schemasDylan Baker1-9/+19
2021-11-08tests/vala: remove useless keyword argumentDylan Baker2-2/+0
The `packages` argument to `gnome.generate_gir` was allowed, but never did anything, so stop passing it.
2021-11-05Fix markdown formating in find_program.yamlrusty-snake1-2/+2
fixes #9528
2021-11-04fix regression that broke string.format with list objectsEli Schwartz2-0/+3
String formatting should validly assume that printing a list means printing the list itself. Instead, something like this broke: 'one is: @0@ and two is: @1@'.format(['foo', 'bar'], ['baz']) which would evaluate as: 'one is: foo and two is: bar' or: 'the value of array option foobar is: @0@'.format(get_option('foobar')) which should evaluate with '-Dfoobar=[]' as 'the value of array option foobar is: []' But instead produced: meson.build:7:0: ERROR: Format placeholder @0@ out of range. Fixes #9530
2021-11-02fix custom_target with install: true and no install_dir, crashingEli Schwartz1-1/+1
It's supposed to emit an error message, but instead it did a traceback. It used to be, if no install_dir was specified then it was simply not in kwargs, but due to typed_kwargs it will now be there, but not have viable contents, so the dict membership check got skipped. Fixes #9522
2021-11-02wrap: Fix concurrent os.mkdir()Xavier Claessens1-2/+1
Since 0.59.0 Meson downloads multiple wraps in parallel, so the packagecache directory could be created by one then the 2nd would hit error when calling os.mkdir() because it already exists.
2021-11-02Add tutorial for building an SDL app from scratch.Jussi Pakkanen9-0/+197
2021-11-02python.dependency(): Do not stop when first candidate is not foundXavier Claessens3-3/+12
It has to lookup the dependency with required=False otherwise it raises an exception when the first candidate (pkg-config) failed.
2021-11-02FAQ: Add entry about `add_project_link_arguments` and multiple languagesDylan Baker1-0/+44
This seems to come up fairly often, so having an FAQ entry seems useful.
2021-11-02Move language standard in separate method within vsbackendMoroz Oleg3-9/+24
2021-11-02Fixes .vcxproj for vs2017 vs2019Олег Мороз1-0/+9
fixes #6314 in case of backend is vs2017 or vs2019 place LanguageStandard tag with stdcpp version and LanguageStandard_C tag with stdc version in .vcxproj file
2021-11-01various manual conversion of percent-formatted strings to f-stringsEli Schwartz14-90/+80
2021-11-01fix broken error message that printed formatter codesEli Schwartz1-1/+1
This was probably supposed to be percent-formatted but got typoed to a comma instead. Rewrite as an f-string.
2021-11-01fix typoed vs backend tokenEli Schwartz1-1/+1
2021-11-01coverage generator: obey the documentation and only generate supported outputsEli Schwartz3-36/+44
We say: > If version 4.2 or higher of the first is found, targets coverage-text, > coverage-xml, coverage-sonarqube and coverage-html are generated. But this is totally untrue. Make it true, by actually checking (and not generating broken coverage commands when older versions of gcovr are found). Fixes #9505
2021-11-01modules/gnome: don't use dict.keys() to test membershipDylan Baker1-2/+2
This is slower than looking in the dictionary, as the dict lookup is O(log n), while keys() is O(n).
2021-11-01modules/gnome: use textwrap.dedentDylan Baker1-35/+44
Python is a whitespace significant language, changing indent level implies that scope is changing. So when a string like ```python def foo(): a = ''' somthing ''' return a ``` It's visually misleading. Couple that with folding editors like vim getting utterly confused by this, and it turns into a real pain. Using textwrap.dedent allows us to get rid of that: ```python def foo(): a = texwrap.dedent( ''' something ''') return a ``` But we still get the same result
2021-11-01modules/gnome: use envconfig for VAPIGENDylan Baker2-4/+2
we have a mechanism for doing "this could be an environment variable" let's use that.
2021-11-01mesonbuild/module/gnome: remove unused variableDylan Baker1-1/+1
2021-11-01modules/gnome: Use typed_pos_args for generate_vapiDylan Baker1-7/+2
2021-11-01modules/gnome: use typed_pos_args for genmarshalDylan Baker1-4/+2
2021-11-01modules/gnome: use typed_pos_Args for mkenums_simpleDylan Baker1-3/+4
2021-11-01modules/gnome: use typed_pos_args for mkenumsDylan Baker1-3/+2
2021-11-01modules/gnome: use typed_pos_args for gdbus_codegenDylan Baker1-4/+3
2021-11-01modules/gnome: use typed_pos_args for gtkdoc_html_dirDylan Baker1-9/+5
2021-11-01modules/gnome: use typed_pos_args for gtkdocDylan Baker1-5/+2
2021-11-01modules/gnome: use typed_pos_args for yelpDylan Baker1-6/+3
2021-11-01modules/gnome: use noPosargs for compile_schemasDylan Baker1-3/+2
2021-11-01modules/gnome: use typed_pos_args for generate_girDylan Baker1-4/+4
2021-11-01modules/gnome: use typed_pos_args for compile_resourcesDylan Baker1-29/+24
2021-11-01modules/gnome: add some type annotationsDylan Baker1-113/+161
This is not complete, but it's a start. The rest will have to get finished as we go
2021-11-01modules/gnome: clean and sort dependenciesDylan Baker1-11/+11
2021-11-01build: Add type annotations to BuildTarget.get_all_link_depsDylan Baker1-1/+1
2021-11-01build: Add annotations to CustomTarget.extra_dependsDylan Baker1-2/+2
2021-11-01build: Add a get_command method to ExecutableDylan Baker1-0/+7
Since Executable can be used in places where ExternalProgram is, simply having a wrapper that gives them the same API is pretty useful.
2021-11-01modules: use IncludeDirs.to_string_list instead of open codingDylan Baker1-12/+3
This both allows more cod re-use, and simplifies the code.
2021-11-01build: IncludeDirs extend `to_string_list` method to handle builddirDylan Baker1-2/+10
2021-11-01build: Add type annotations for BuildTarget.include_dirsDylan Baker1-4/+4
The gnome module uses these, so to be able to fully type that we need this.