Age | Commit message (Collapse) | Author | Files | Lines |
|
Just enough to make interpreter/mesonmain happy
|
|
-Oz is the appropriate flag to use when you want to produce the smallest
possible binary, and is one would expect when setting optimization to s
or using the minsize build type.
|
|
Fixes: #9271
|
|
This removes the warning when using default_options without fallback
kwarg completely because a subproject does not know if the main project
has an implicit fallback or not, so it could set default_options even if
not fallback is available at all.
Fixes: #9278
|
|
Allow using the links method to test that the C++ driver (e.g. g++) can be used to
link C objects. One usecase is that the C compiler's libsanitizer might not be
compatible with the one included by the C++ driver.
This is theoretically backwards-incompatible, but it should be treated as a
bugfix in my opinion. There is no way in Meson to compile a .c file with the
C++ driver as part of a build target, therefore there would be no reason to
do something like meson.get_compiler(meson.get_compiler('cpp').links(files('main.c')).
Fixes: #7703
|
|
Signed-off-by: Filipe LaÃns <lains@riseup.net>
|
|
It is a commonly needed information to help debugging build issues. We
already were printing options with non-default value at the end of the
configure but outside of the summary.
Keeping the list of user defined options in the interpreter will also in
the future be useful to use new default value on reconfigure.
|
|
That used to abort in previous Meson versions but 0.59 stopped
forbidding that by mistake.
|
|
|
|
|
|
This simplifies things for us, as we don't have to have threading
imported for no other reason, and we can remove the
`an_unpicklable_object` from the Interpreter and mesonlib, since there
was only one user of this.
|
|
|
|
We have a lot of these. Some of them are harmless, if unidiomatic, such
as `if (condition)`, others are potentially dangerous `assert(...)`, as
`assert(condtion)` works as expected, but `assert(condition, message)`
will result in an assertion that never triggers, as what you're actually
asserting is `bool(tuple[2])`, which will always be true.
|
|
This finds things like
```python
if not x == 1:
```
which should be
```python
if x != 1:
```
|
|
This is more consistent with other Holder classes
|
|
|
|
Currently, EnvironmentVariablesObject is a strange
holder-that's-not-a-holder. This has implicaitons for things that expect
to get an EnvironmentVariables object, as we can't automatically
unholder it, and instead have to to manually do so. Now we can
automatically unholder it, which makes everything much nicer.
|
|
|
|
Since the convertor has been added env, we are now only going to be an
EnvironmentVariables object, nothing else.
|
|
This does the conversion to an EnvironmentVariables, so that the
receiver always gets a EnvironmentVariables object and not a list, dict,
or string
|
|
Let's start moving the validation out of the interpreter object
|
|
|
|
|
|
Because mypy doesn't like the type alias.
|
|
The correct way to mark these is `KwargInfo(..., (T, type(None)))`.
There's also a few cases of `(T, None)` which is invalid, as `None`
isn't a type
|
|
There was a copy-n-paste error here, and it was benchmark instead.
|
|
This is quite valuable for enum-like inputs, where only a certain set
of values is allowed.
|
|
Exception is thrown when dependency name is empty and when its
'include_type' differs from the default one.
Regression from b6d754a40c.
|
|
|
|
It should build the fallback subprject with default_library=static and
override the dependency for both static=True and static kwarg not given.
Fixes: #8050.
|
|
We recommend people use declare_dependency and access it via
dependency() in a parent project. But this requires a wrap file (or to
use override_dependency and an explicit subproject call).
Let's actually mention that.
Fixes #9146
|
|
|
|
Fully type check rust.bindgen
|
|
Fixes: #7007.
|
|
|
|
This adds a full set of `typed_pos_args` and `typed_kwarg` decorations,
as well as fixing all of the typing errors reported by mypy.
|
|
|
|
It's not documented, and it's been marked deprecated for who knows how
long.
|
|
The former isn't really correct, as it wants a set and is getting a
dict, the other is also conceptually clearer I think.
|
|
This allows for more accurate type checking
|
|
It's missing a required overload declaration
|
|
This should be useful for helping to control variable scope within
Meson. CMake has something similar for controlling scope.
|
|
Fixes: #9038
|
|
This reverts commit 566383c727219fc20cf1c90c0fe7dae4bcac5c96.
|
|
This is a regression when porting to typed_pos_args().
|
|
In the case main->subp->subsubp, if subsubp succeed to configure but
subp subsequentially fails, subsubp is still being built but its summary
was missing.
|
|
Fixes: #9038
|
|
Fixes: #9065
|
|
|
|
Mypy gets confused by the lambda, so we might as well just use a named
function.
|