The reference manual states that the optional value argument to
dep.as_system() defaults to 'preserve'. In practice, omitting the
argument makes the dependency use the 'system' include type.
Update the documentation to describe the actual default behavior.
Fixes#13294
GitHub queries often returns a 429 Too Many Requests status code
to the runners. Ignore the error, as it makes CI flaky and a
Too Many Requests result (unlike a 404) is a sign that the
URL itself is ok.
While at it, improve slightly the formatting to avoid this:
>>> ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MESON_TEST_ITERATION=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=51 /usr/bin/python3 /home/runner/work/meson/meson/docs/./validatelinks.py /home/runner/work/meson/meson/docs/markdown/Users.md
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
"`meson` GitHub
topic" https://github.com/topics/meson 429
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Disable the new feature that ensures that the git repository is owned
by the same user that runs the command. This apparently is not true
when running the test suite and breaks at least the Gentoo CI job.
Signed-off-by: Michał Górny <mgorny@quansight.com>
clean up
fix tests for windows paths mimicing what was done in other unit tests (e.g., test case 74)
Update mesonbuild/interpreter/interpreterobjects.py
Co-authored-by: Charles Brunet <charles.brunet@optelgroup.com>
Update docs/markdown/snippets/include_directories_to_list.md
Co-authored-by: Charles Brunet <charles.brunet@optelgroup.com>
Update mesonbuild/interpreter/interpreterobjects.py
Co-authored-by: Charles Brunet <charles.brunet@optelgroup.com>
Update docs/yaml/objects/inc.yaml
Co-authored-by: Charles Brunet <charles.brunet@optelgroup.com>
Fix comment language
While discussing error messages on IRC with xclaesse, we found 448b11cb7f which improves one of the error messages, but leaves out the others. This commit updates them, too.
Previously, find_program only used the subproject fallback if it didn't
find the tool the normal way or global forcefallback was activated. Now
it should also fall back if the subproject that provides the fallback is
part of force-fallback-for.
This commit reenables and implements correct response file support for
Nasm.
Fortified with the knowledge of #15867 and #15872, and with a quick chat
with @nirbheek, I realised that the easiest way to fix this (since Ninja
does not support custom argument spacing) is to do it the obvious way,
with Meson's custom command support.
This commit implements an abridged version of that: when a non-standard
RspFileSyntax value is detected, the active NinjaBuildRule is temporarily
resolved to the corresponding NinjaRule on the fly and if the latter says
that a response file will be used, the NinjaBuildRule is immediately
converted into a CUSTOM_COMMAND, completing the arguments with
the bits for infile and outfile and triggering the executable
serialization. That serializes the response file and pickles the command.
Fixes building mpv with MSVC 2022+ and fdk-aac enabled.
ExternalProgram has as weird way of setting self.command to `list[str |
None]`, but it should only be `list[None]` if `self.command = [None]`.
Instead, just set self.command to `list[str]`, and use an empty list as
the sentinel value.
This also fixes a few issues where we use Any or reduce to Any.
This is a decorator that allows declaring a property as initialized
late. This allows for more ergonomic typing than using a union of `T |
None` for late initialized variables.
We have one, and only one case where we use the fact it can return None,
and otherwise assert (or should assert) that the value is not None.
Instead, raise if the command is None, and in the one case catch the
exception.
When a crate name is compiled for both the build and the host machine,
give it two different names to avoid conflicts. This is not needed
for subprojects, but it is still necessary for packages that are part
of the toplevel workspace.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change the dependency resolution code to take a MachineChoice as an
argument. Create build- and/or host-side configurations
through the machines_from() method in Manifest.
Make the PackageConfiguration a PerMachine object. This makes it
possible to do dependency resolution separately for build- and/or host-side
libraries.
For now, all users only fill in or consume the host side, but that will change.