| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
A cargo package can build multiple crate types for the same library.
Using the same name in meson.override_dependency() fails.
[pbonzini: adjust documentation]
|
|
If main project finds a directory subprojects/foo with no corresponding
foo.wrap, it creates a dummy PackageDefinition for it. If we later find
a subproject that has foo.wrap, replace the dummy wrap with it.
This happens for example when wrap-redirect have been deleted. It also
happens for subprojects downloaded from some Cargo.lock which does not
create a wrap-redirect.
Avoid loading the same location twice, which can happen when preparing
cargo subprojects.
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
Fixes #14539.
Otherwise, .editorconfig is read from current working directory,
and there is no way to know what file name to filter to choose
the right section of editor config.
|
|
Fixes #14538.
Resolve the source file path before searching .editorconfig files,
to ensure parents up to the root directory are visited.
|
|
|
|
When generating targets in ninja backend for my project,
`determine_rpath_dirs` is the second most expensive function
call. Here are some optimizations:
- early exit when iterating for rpath arguments
- compute system_dirs and external_rpaths once per target instead
of recomputing them for every link args of the target (!!!)
|
|
It is more logical, since those functions depend on a build target,
and do not require anything specific to the backend.
Furthermore, it will allow us to call determine_rpath_dirs from the
linker in a following commit, without the need to depend on the backend.
|
|
|
|
coredata.get_external_link_args always returns a list
|
|
This requires any credentials to be supplied in the url, or some other
means of authentication (such as an identity file configured for the
user) to be used. Supplying a password in the URL is not supported.
|
|
|
|
|
|
When giving a dependency object as requires, allow to use the dependency from a
subproject (that is an InternalDepdency).
|
|
Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
|
|
_gir_has_option runs g-ir-scanner --help | grep <option> to determine if
the current version of g-ir-scanner supports a particular option. This
already early exists if g-ir-scanner is a OverrideProgram, as it cannot
be executed if it is (technically OverridePrograms can actually be
executed during configure time, but not g-ir-scanner; as it depends on
native modules). Do the same in case g-ir-scanner is an executable (it
currently isn't but I might want to move it into one, as to avoid the
rule-dependency issue with the aforementioned native module)
|
|
This requires g-ir-scanner >=1.85.0, if this isn't the case we'll just
fail.
|
|
The --version argument was only added in g-ir-scanner 1.58, but the
bionic ci still uses g-ir-scanner 1.56. Don't fail if that is the case
and assume the version comparison is void.
|
|
There isn't really any point in doing this, given that it doesn't
provide any headers & libraries by itself and means projects that
conditionally build introspection behind a feature only need to check
for the existence of g-ir-scanner, not gobject-introspection-1.0
anymore.
|
|
|
|
|
|
In `run_meson_command_tests.py`.
Replace it with `pip install .` if `pip` is available.
Replace it with 'gpep517 install-from-source` if available.
Else keep the old behaviour.
Fixes #14522.
|
|
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
Make generate_rust_target essentially a replacement from generate_link,
plus the actual generation of rustc compiler arguments. Remove
the parts (especially flatten_object_list and get_fortran_order_deps)
that generate_target already does, and add any objects files that
were produced by compiling non-Rust sources.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
rustc only needs to be a linker if there are any Rust-ABI dependencies.
Skip it whenever linking to a C-ABI dependency. This makes it possible
for Meson to pick 'rust' whenever it sees Rust sources, but not whenever
it sees Rust used by a dependency with "rust_abi: 'c'".
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Ensure that mixed Rust/C executables compile the non-Rust translation
units with a compatible relocation model.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
together
Rust sources are not compiled separately: generation of the .a or .so
or binary happens at the same time as compilation. There is no separate
compilation phase where the .o file is created.
In preparation for moving generate_rust_target where generate_link is now,
make the compilation phase of generate_target skip them.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Makes the code more similar to the earlier loop for generated sources.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
Commit eca1ac18dc1978b15b500c9f1710c05cb1ccc0ec (#14252) added support
for properly detecting the -Wno-vla-larger-than flag: a value must be
specified for its positive form (-Wvla-larger-than=N), or GCC will exit
with the error "missing argument to ‘-Walloc-size-larger-than=’".
There is a handful of other -Wno-* flags whose positive form act in the
same manner, but are not covered here:
* -Wno-alloc-size-larger-than (GCC >=7.1.0)
* -Wno-alloca-larger-than (GCC >=7.1.0)
* -Wno-frame-larger-than (GCC >=4.4.0)
* -Wno-stack-usage (GCC >=4.7.0)
Add logic to treat these in the same way.
Signed-off-by: Henrik Lehtonen <eigengrau@vm86.se>
|
|
As we are becoming more popular, the docs have to be clearer because
we're being exposed to a wider base of users with highly variable
English language ability. Some of those can be helped with
translations, but for the rest, let's repeat ourselves.
Fixes https://github.com/mesonbuild/meson/issues/14843
|
|
Allows explicitly setting the Swift module name. By default, this is set
to the target name, which we might want to change for various reasons,
for example when it isn't a valid module name, or when building two
targets with the same module name (e.g. a host and native variant).
|
|
Dependencies should be able to provide headers in its sources, even tho
the target which uses the dependency may not use the language that
header is for.
A specific example is vala, where C and Vala dependencies share the same
name, so in meson they ought to share the same dependency object in
order to provide a Vala and/or C dependency depending on who is using
it. Doing so right now however fails, if the project of the dependency
user doesn't list vala in its used languages, even tho they might just
be interested in the C part of the dependency.
|
|
|
|
|
|
|
|
|
|
This is required by meson-python to fix RPATH entries when building a wheel.
|
|
Currently the unittests are not runnable with pytest or unittest
without going through the run_unittests.py wrapper, or setting
certain env vars like MESON_UNIT_TEST_BACKEND.
This has that downside that the common "pytest ..." fails and integration
with things like VSCode fails too.
To work around that we set everything that is needed to run the tests
in __init__.py and run_unittests is only one more variant to invoke them
by providing different defaults and settings.
To make sure that pytest/unittest discover and run_unittests don't diverge
implement an automatic test discovery in run_unittests to avoid hardcoding
the tests to run there. There shouldn't be any functional changes.
|