Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Sync with the English version
|
|
Replace optlist2optdict with a convertor. However, while default_options
should use OptionKeys like it did before the option refactoring,
override_options keeps using strings.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
A convertor will *accept* something that is definitely a TYPE_var; but the
output can be any Python object that the evaluation function desires.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Allow OptionStringLikeDict to use non-string data types, and use it
as much as possible instead of string-valued dictionaries.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Do not go through string first and OptionKey second. Just pass the OptionKeys
down.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
This makes it possible to remove all list cases from first_handle_prefix
and callees.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
Make the validators accept any object since that is where the type
checking is done. The same is true for listify_array_value, which
also performs type checking.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
It is assigned to invoker_method_default_options for clarity, use that name
everywhere.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Since opt.deprecated is a dictionary with string keys, the lookup must use
str() around the user-provided value; with some care because booleans
will be the meson-ic 'true' and 'false' instead of Python's 'True' and
'False'.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Apply the default_library=... default after the default options have been
converted to a dictionary, to avoid having to deal with all the possible types
of the default_options keyword argument.
Fixes: #14532
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Always use a dictionary (even though later OptionStore will convert it back to list
for hackish historical reasons) to make it easy to apply overrides. Long term
we probably want OptionStore to not know about T.List[str] at all, anyway.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
No code changes, just making mypy annotations truthful.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Something like
subproject('sub', default_options: ['sub2:from_subp=true'])
will cause an assertion failure due to "key.subproject is None"
obviously being false. Just support this, since it's easy to do so.
|
|
Fixes: #14528
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
In this case, self.raw_link_args is None.
Fixes #14534.
|
|
|
|
Fixes #14270.
|
|
|
|
By default we point to the start of the most recent token we parsed.
This is used when erroring out on parser issues, to print the line that
caused the error, with a pointer to where we were when we got the error.
In this particular case, the pointer pointed to the start of the last
token we successfully parsed (col), but was not updated if we hit a
token we didn't understand at all. Instead use a pointer to the
unrecognized token itself.
Fixes: https://github.com/mesonbuild/meson/issues/14415
|
|
Fixes #14415
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
See the way that it is created:
dir_node = assign(dir_var, function(include_directories, tgt.includes))
sys_node = assign(sys_var, function(include_directories, tgt.sys_includes, {is_system: True}))
inc_node = assign(inc_var, array([id_node(dir_var), id_node(sys_var)]))
Due to incorrect documentation, commit 1f4bb3737 ("modules/cmake: Make fully type
safe", 2025-04-02) added an incorrect assertion. Fix both.
Fixes: #14530
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
This reflects the upstream project, which dropped the + in 2020
|
|
This removes a lot of projects from our list of users, unless they are
very notable.
|
|
|
|
Some of the projects listed are part of larger umbrella organizations,
which have many project using Meson. Instead of listing every single
project from them, list the organization itself and a couple of major
projects (if we have any listed) from those organizations.
|
|
|
|
|
|
|
|
As of this commit, meson has three different
pathways to set an exe_wrapper field.
exe_wrapper set through `meson test --wrapper`
CLI arg or `add_test_setup()` meson function argument
are treated equally. Only one wrapper through either
of these routes may be set though.
The exe_wrapper field set in the cross file is handled
separately internally in mtest.py, and holds a little
more consequence over meson test behavior than the other
two fields.
Perhaps a future version of meson should treat these
fields equally and explicitly document how they are
combined.
For now, I think its a better first step to
document current behavior to generate discussion about
how exactly the future version should behave.
|
|
libc++ deprecated _LIBCPP_ENABLE_ASSERTIONS from version 18.
However, the libc++ shipped with Apple Clang backported that
deprecation in version 17 already,
which is the version which Apple currently ships for macOS.
This PR changes the _LIBCPP_ENABLE_ASSERTIONS deprecation check
to use version ">=17" on Apple Clang.
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Allow specifying e.g. -Dbackend_max_links on the command line.
Fixes: #14524
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Which command line options are valid is not entirely known until the backend
option is processed. Split the validation to a separate function so that it
can be done later, and while at it mention all unknown options instead of
just the first.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Based on the SharedCMDOptions protocol it is guaranteed to be a dictionary.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
Avoid reinventing the wheel and instead use a single helper, taking care
of logging and cross compilation.
Fixes: #14373
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Particularly if using an exe_wrapper, it can be useful to have output
logged for debugging.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
The unit tests for the `meson test --slice=` option check that the
option is working by extracting all tests that have been run from the
command output. This is done with a rather loose regular expression
"test-[0-9]*", which can easily match other parts of the output, as
well.
One user for example reported that the test broke because they were
executing tests in a directory called "meson-test-1.8.0-build", and
given that the "test-1" part of that directory matches the regular
expression we have too many matches.
Fix the issue by tightening the regex so that is way less likely to
match anything from the host's build environment.
Reported-by: Dominique Leuenberger <dleuenberger@suse.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
|
|
|
|
|
|
|
|
|