| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Use a proper install option for this. Now `install_<type>` can directly
override `install` instead of passing a boolean to the string kwarg
`install_dir_<type>`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*_typelib
generate_gir forces building both the typelib and gir, and some people
only want one or the other (probably only the typelib?) which means
flagging the other as install_dir: false in the same way custom_target
supports.
As this always worked, albeit undocumented, make sure it keeps working.
It's pretty reasonable to allow, anyway.
Fixes https://github.com/mesonbuild/meson/pull/9484#issuecomment-980131791
|
| |
|
|
|
|
|
| |
This allows these two arguments to take a tuple of (version, message),
where the message will be passed to Feature*'s message parameter
|
|
|
|
|
|
| |
For passing an extra message to Feature*
This allows providing a more detailed message.
|
|
|
|
|
| |
Which shouldn't be Dict[str, str], they should be Dict[_T, str], as nay
value that can be passed to types is valid here.
|
|
|
|
| |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
| |
Fixes: #8333
|
|
|
|
|
| |
Fixes: #7585
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
|
|
|
| |
Meson was passing only the first output and warning about it. To do this
easily, refactor construct_target_rel_path to return a list.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
|
|
| |
Re-use any already determined rpaths for a target.
Fixes #9695
|
| |
|
|
|
|
| |
I don't understand the purpose of this confusing API naming split.
|
|
|
|
|
|
|
|
|
|
| |
FeatureCheck always immediately sets extra_message to '' if it isn't
explicitly passed, so there is really no point in using None as a
sentinel that is never used.
Names used in init functions are sometimes pointlessly different from
the class instance attributes they are immediately assigned to. They
would make more sense if defined properly.
|
|
|
|
|
|
|
|
|
| |
Originally name should have been set to required=True, but since then
the requirement to name CustomTargets (which compile_resources is a
wrapper around) has been dropped. As such we just need to allow the
default value of None through.
Fixes: #9698
|
|
|
|
|
|
| |
Make it possible to specify a wrapper for executing binaries
in cross-compiling scenarios.
(usually, some kind of target hardware emulator, such as qemu)
|
|
|
|
|
|
| |
It was originally forgotten in merge_file() and later added for parity
with gettext(). This means that the FeatureNew for each function is
different.
|
|
|
|
|
|
|
|
|
|
| |
* cmake: Deprecate CMake <3.14 and warn for <3.17
See:
- #7832
- #9676
* cmake: Add deprecation release note snippet
|
|
|
|
|
|
|
| |
This also includes some refactoring, since the alternaticve would
have been to duplicate the huge traceparser target code block again.
fixes #9581
|
|
|
|
|
|
| |
Allows installing symlinks directly from meson, which can
become useful in multiple scenarios. Current main use is to
help moving forward #9557
|
| |
|
| |
|
|
|
|
|
|
|
| |
They passed the arguments in the wrong order, so the version parsed as the
message and the message parsed as a version.
While we are at it, pass the location node in too.
|
|
|
|
|
|
| |
We allow this for the command (the first parameter), but not later
parameters, which is just odd. This also allows us to give better error
messages for the case of overridden programs.
|
|
|
|
|
|
| |
This also cleans up a couple of internal callers of the internal impl
version that don't set the `check` argument, and therefore trigger a
warning about not setting the check argument.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The interpreter tries to catch any exception and add the latest node
information to it, but currently we only used that to print better
formatted error messages on MesonException.
Since we should theoretically have that property for most/all
exceptions, let's percolate that upward, and message the user that an
unexpected traceback was encountered, that it should be reported as a
bug, and the helpful information of "how far into parsing this
meson.build did we get before erroring out, anyway?"
|
|
|
|
|
|
|
|
|
|
|
| |
If the compiler check is updated as a string in meson.build, we force
rebuild, which is a good thing since the outcome of that check changes
the configuration context and can enable or disable parts of the build.
If the compiler check came from a files() object then we didn't add a
regen rule on those files.
Fixes #1656
|
|\
| |
| | |
Add type annotations and typed_pos_args to the keyval module
|
| |
| |
| |
| | |
And use typed_pos_args
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For libraries installed to libdir, it's not expected to have rpath
hooked up. But for non-default libdirs, the path might not get searched
by default. `ldconfig -m <libdir>` is convenient here, as it will
programmatically add a new directory to search for shared libraries, so
the resulting installed programs work out of the box.
Include the dragonfly BSD platform name, which doesn't match the 'bsd'
catch-all pattern.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
has_function(prefix: '...') is useless to check the difference between
builtins and external library functions. It has code to detect
"builtins" that misfires and reports that iconv_open is defined as a
builtin on mingw, but only if you include the header.
Instead compile an open-coded test file that this iconv dependency
implementation fully controls, that doesn't get up to imaginative edge
cases like trying to find `__builtin_iconv_open`.
Fixes commit db1fa702f3943c6e4fec142b2bf5468c89173993, which merely
moved the brokenness over one step to the right (by breaking mingw
instead of freebsd)
Fixes https://github.com/mesonbuild/meson/pull/9632#issuecomment-979581509
|
| | |
|
|\ \
| | |
| | | |
Improve error messages for typed_kwarg type mismatches in containers
|
| | |
| | |
| | |
| | | |
Python uses this syntax now, as does typescript and other languages
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, if you pass a `[]string`, but the argument expects
`[]number`, then you get a message like `expected list[str] but got
list`. That isn't helpful. With this patch arrays and dictionaries will
both print messages with the types provided.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The inner closure of the typed_kwargs function is already complicated
enough without defining closures in the middle of a loop. Let's just
pass the types_tuple as an argument to both avoid redefining the
function over and over, and also make the whole thing easier to read.
|
| | | |
|
|\ \ \
| | | |
| | | | |
More use of typed_* in the interpreter module
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Calling interpreter implementation methods is just a bad idea, apart
from the extra type checking that goes into it, we need to pass more
arguments than we need to calling the impl method.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This also includes a few type annotation cleans for the Summary object.
Getting the positional arguments exactly right is impossible, as this is
really a function with two different signatures:
```
summary(value: dictionary): void
summary(key: string, value: any): void
```
We can get close enough in the typed_pos_args by enforcing that there
are two parameters, one required and one optional, and that the first
must be either a dictionary or a string.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It works fine as-is with an empty list, and since that's easier to get
using our typed_kwargs, and thus is what we're passing, go ahead and
simplify the class to only take a list of strings.
|
| |/ /
| | |
| | |
| | |
| | | |
This also sets a few missing "new kwarg" warnings, as they're quite easy
to set with typwed_kwargs
|