A PR fixing many small bugs#15585
Open
bonzini wants to merge 13 commits intomesonbuild:masterfrom
Open
Conversation
c3da813 to
e7727db
Compare
Member
|
0d4314d looks good. Can you cherry-pick that one? I can review some (but not all) of the others at another time. |
dcbaker
requested changes
Mar 11, 2026
Member
dcbaker
left a comment
There was a problem hiding this comment.
I have some small nits for patches 1-2, but with those addressed they're r-b
Patch 3 is r-b
I haven't gotten past that yet.
dcbaker
requested changes
Apr 24, 2026
Member
dcbaker
left a comment
There was a problem hiding this comment.
I have three commits in this series with comments on them, the rest are r-b.
If you want to start merging the reviewed pieces separately that's fine by me.
febbc68 to
1fee791
Compare
For the --system-information case try multiple generators as done in dependencies/cmake.py. Then, when actually running cmake pass -DCMAKE_MAKE_PROGRAM so that cmake and meson's ninja are consistent. Fixes: mesonbuild#11236 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
The type check fix in _BASE_LANG_KW is all that's needed since __convert_file_args already handles File objects correctly (converts to path string + adds to depend_files for rebuild tracking). In fact, the vala_args case 569 already had (str, File). This just brings the other languages in line. Fixes: mesonbuild#1633 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Fixes: mesonbuild#11318 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
When both_libraries() reuses object files from the shared library for the static library via ExtractedObjects, the object filenames must match those produced for the shared library. For non-built vala source files in subdirectories, object_filename_from_source() was using os.path.basename() which dropped the subdirectory component, while the actual compilation preserved it. Use os.path.relpath() against the target's source directory instead, matching the logic in generate_vala_compile(). Fixes: mesonbuild#6960 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Fixes: mesonbuild#8412 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Use -nostdinc++ and -nostdlib++ just like in CPPCompiler. Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
When I pass an executable on PATH to SCANBUILD environment variable it fails: Could not execute scan-build "" Using shutil.which looks up bare names like scan-build in PATH and, on Windows, automatically checks executable extensions. Fixes: mesonbuild#9744 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
The TAP 14 spec says that "A command-line test runner might exit with a non-zero status code" to "indicate failure to the user in whatever means are appropriate". Only force the ERROR test case if the result was OK or EXPECTEDFAIL. Fixes: mesonbuild#7811 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Meson gives an erroneous warning about the output file for configure_file() being overwritten if multiple configure_file() calls are being made from the same directory with the same output file name, but different build_subdir settings. In this case, the output files are not being overwritten because they are being created in different subdirectories. The output also does not include the build_subdir: Configuring file using configuration WARNING: Output file "file" for configure_file() at meson.build:4 overwrites configure_file() output at meson.build:4 Configuring file using configuration Now: Configuring hello/file using configuration Configuring world/file using configuration Fixes: mesonbuild#15500 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
After the maximum number of failures is reached, any running test is canceled. However in this case the partial output of the test might not be a symptom of a hung test in the same way as it is after CTRL-C, so hide it. Fixes: mesonbuild#13322 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
meson is instructing msgmerge to output to the same file as the input, but this means that interrupting the execution of msgmerge results in an empty .po file. Instead, go through scripts.meson_exe and make msgmerge print to stdout. This is more effective because it also skips the update if the contents did not change. Fixes: mesonbuild#4683 Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
An executable in a subdirectory does not result in a forbidden target name, allow it if it's not named "meson-*" or "meson-internal__*". Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
If the link_language is not one of the languages used to compile
the sources, looking it up in target.compilers results in a KeyError.
Add it manually, and also skip languages that are not part of the target;
this avoids inconsistent behavior for targets that conditionally have
sources from one language:
srcs = ['a.c']
if host_machine.system() == 'windows'
srcs.append('windows.cpp')
endif
build_target(
'target',
srcs,
c_args : ['-DDEFINE'],
cpp_args : ['-DDEFINE'], # ignored for !windows automatically
c_pch : 'c_pch.c',
cpp_pch : 'cpp_pch.c', # always ends up doing work even on !windows
)
Fixes: mesonbuild#14113
Suggested-by: Dylan Baker <dylan@pnwbakers.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
All of these should be relatively easy to review. The bugs are all pretty simple, but for most of them I don't have easy testcases.
Fixes: #9744
Fixes: #8412
Fixes: #7811
Fixes: #6960
Fixes: #4683
Fixes: #1633
Fixes: #15500
Fixes: #14113
Fixes: #13322
Fixes: #11318
Fixes: #11236