meson/test cases/rust
Xavier Claessens 926c3a6919 Error when an installed static library links to internal custom target
When an installed static library A links to an internal static library B
built using a custom_target(), raise an error instead of a warning. This
is because to be usable, A needs to contain B which would require to
extract the archive to get its objects files.

This used to work, but was printing a warning and was installing a
broken static library, because we used to overlink in many cases, and
that got fixed in Meson 1.2.0. It now fails at link time with symbols
from the custom target not being defined. It's better to turn the
warning into a hard error at configure time.

While at it, noticed this situation can happen for any internal custom
or rust target we link to, recursively.
get_internal_static_libraries_recurse() could be called on CustomTarget
objects which do not implement it, and even if we did not call that
method, it would still fail when trying to call extract_all_objects() on
it.

Fixes: #12006
2023-08-07 05:44:08 -07:00
..
1 basic rust: add support for b_ndebug 2023-04-21 15:18:56 +05:30
2 sharedlib Implement rustc controlled whole-archive linking 2023-02-22 15:35:50 -08:00
3 staticlib Implement rustc controlled whole-archive linking 2023-02-22 15:35:50 -08:00
4 polyglot Fix typos discovered by codespell 2021-10-10 16:12:25 -04:00
5 polyglot static Error when an installed static library links to internal custom target 2023-08-07 05:44:08 -07:00
6 named staticlib test: merge installed_files.txt into test.json 2020-02-25 21:47:42 +01:00
7 private crate collision test: merge installed_files.txt into test.json 2020-02-25 21:47:42 +01:00
8 many files Support Rust targets with more than one source file. Closes #3632. 2018-06-17 15:39:59 +03:00
9 unit tests modules/rust: Add a keyword argument to pass extra args to the rust compiler 2023-06-27 11:53:18 -07:00
10 language stds rust: implement support for --edition 2020-11-05 21:24:20 +02:00
11 generated main tests/rust: Add a generated library to generated main test 2021-01-21 10:59:15 -08:00
12 bindgen propagate the most accurate node to error messages 2023-04-04 15:06:17 -04:00
13 external c dependencies Make `dependency('foo', static: true, method: 'cmake') link statically 2023-05-13 11:18:11 +03:00
14 external libm Fix typos discovered by codespell 2021-10-10 16:12:25 -04:00
15 polyglot sharedlib Add test to build a mixed C/Rust shared library. 2021-03-10 14:55:57 -08:00
16 internal c dependencies rust: Don't pass dependency compile arguments to the compiler 2023-04-14 06:11:44 -04:00
17 staticlib link staticlib rust: Add new `rust_dependency_map` target configuration 2023-04-21 15:35:06 -04:00
18 proc-macro rust: fix -C prefer-dynamic behavior 2023-06-21 18:05:16 -04:00
19 structured sources fix various spelling issues 2023-04-11 19:21:05 -04:00
20 rust and cpp rust: Override the default MSVCRT when linking Rust and !rust together 2023-06-27 11:53:18 -07:00