Age | Commit message (Collapse) | Author | Files | Lines |
|
Fixes: #9022
|
|
Don't just create a .PHONY target which runs a script that magically
generates files ninja doesn't know about. It results in untracked files,
and `meson install` has to run additional commands instead of copying
over files, and then cannot track them to uninstall them later.
I'm not even really sure why it was originally done via a proxy script,
most likely bad legacy design. This is after all one of the oldest
modules...
One side effect of this is that meson doesn't know how to rename
build.CustomTarget files on install (only data files are supported?),
and every file needs to be installed as "domainname.mo" so it must be
named that in-tree too. To prevent clashes, every locale gets its own
locale-specific subdirectory.
Once we are doing that anyway, we can output them to the actual
structure required by the gettext family of functions, and
bindtextdomain() can therefore point to this location if desired. This
might be useful for running localized programs from the build tree.
|
|
When sending them to the introspection scanner, we must always filter
all compiler and linker flags, because g-ir-scanner does not accept any
random argument but only a specific subset.
Fixes: #8876
|
|
Fixes: #9081
|
|
This fix kwargs not going through typed_kwargs() decorator that sets
defaults.
Fixes: #9009
|
|
|
|
|
|
This works for `moc_*` and `ui_files`, but it never could have worked
for `qresources` due to the implementation assuming a `str` or `File`.
To restore previous compatibility I've added `CustomTarget` where it
would have worked, but not where it would have failed, the former would
raised an exception along the lines anyway.
Fixes #9007
|
|
Cleanup the python module
|
|
g-ir-scanner does not convert relative -L paths to runtime paths which
are added to -Wl,-rpath and LD_LIBRARY_PATH / DYLD_LIBRARY_PATH
/ PATH. This means that the local library will either not be found at
runtime (while building introspection data), or the system-wide
library will be picked instead.
See: giscanner/ccompiler.py:get_internal_link_flags() in
gobject-introspection for more details.
|
|
These were spotted by mypy and pyright. One is a string where a Path is
expected, another other is a possibly unbound variable, and the third is
bound but unused variables.
|
|
|
|
|
|
Nothing uses this anymore, so don't check for it.
|
|
This removes the odd 'pkgdep' attribute thing, and makes it behave more
like a proper dependency
|
|
Including not calling back into `Interpreter.func_*`, which is not a
good idea both from a type saftey and perforamance point of view.
Instead there's now a shared _impl method
|
|
And note that the way that find_installation works is completely broken
in regards to machine files
|
|
There's still a number of things that don't properly type check, that's
expected though as the input is often unvalidated and assumed good.
|
|
|
|
It has a similar interface to windres, but it produces ELF instead of
COFF binaries. It uses its own preprocessor which doesn't support
creating depfiles, but we can convince it to use the system preprocessor
instead and pass those arguments using the --preprocessor option.
Together with some hacks to override the shared library/executable
suffix and some wine patches [1] this is enough to compile dxvk when
ripping out the hand-rolled rc support.
[1] https://www.winehq.org/pipermail/wine-devel/2021-July/190100.html
https://www.winehq.org/pipermail/wine-devel/2021-July/190098.html
https://www.winehq.org/pipermail/wine-devel/2021-July/190099.html
https://www.winehq.org/pipermail/wine-devel/2021-July/190101.html
|
|
fixes #8893
|
|
Add required and disabled to import, modules.found method
|
|
Toolkit 11.4.0.
We skip 11.3.1 because it shares the same version requirements as 11.3.0.
|
|
This is useful both from the perspective of optional functionality that
requires a module, and also as I continue to progress with Meson++,
which will probably not implement all of the modules that Meson itself
does.
|
|
NewExtensionModule object
So that we get the found() method.
|
|
These will be needed for checking whether a module is found or not if it
is required false.
|
|
|
|
`qt.preprocess` dispatches to the individual methods instead of
duplicating all of the logic itself, but this means that it goes through
the type checking, and feature checking a second time. To avoid this we
need to use a private helper method instead.
Fixes #8920
|
|
This commit introduces a new type of `HoldableObject`: The
`SecondLevelHolder`. The primary purpose of this class is
to handle cases where two (or more) `HoldableObject`s are
stored at the same time (with one default object). The
best (and currently only) example here is the `BothLibraries`
class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Because that's what we need, of course
|
|
This should have been supported before, but wasn't.
|
|
mesonbuild.dependencies.__init__ exposes configtool, pkgconfig, cmake
and more in __init__.py, so there's no reason we should be tying
SystemDependency to the internal organization implementation of the
subpackage!
In the 2nd previous commit it took quite some effort to figure out that
the python module "does not exist" because of import errors while
refactoring something completely different.
|
|
In accordance with review comments; it's small enough this seems fitting.
|
|
Rewrite the Qt module for type safety!
|
|
|
|
This really shouldn't be necissary, but fixing the typing annotations of
ModuleReturnValue is much harder than just returning the Holder
directly.
|
|
|
|
It's really a property of the Generator what name to use, not something
that should be passed to each call to process files.
|
|
For qt we already have all of the necissary checking in place. Now in
the interpreter we have the same, the intrperter does all of the
checking, then passed the arguments to the Generator initializer, which
just assigns the passed values. This is nice, neat, and clean and fixes
the layering violatino between build and interpreter.
|
|
This requires that the interpreter has done the validation, which it now
does at all callsites. This simplifies the Generator initializer.
|
|
|
|
This just ignores the fact taht Generator is unchecked. Generator needs
some real love in terms of type checking.
|
|
|
|
|