Skip to content

gst-plugins-rs: Address issues regarding iOS and Android

amyspark requested to merge amyspark/cerbero:fix-rust-linking into main

From !915 (merged) and !1191 (merged), the following bits were missing:

  • Autotools expects the raw linker to perform detection for version scripting. If that parameter isn't detected in the --help, shared libraries are disabled (breaks libpng).
  • Cargo, conversely, expects implicitly the clang executable itself because of a new dependency on libunwind starting with 1.68

The following changes were made:

  • Passing the corresponding linkers separately, then LDFLAGS are massaged into link-args entries in the TOML's rustflags array.
  • Enabled the debuginfo splitting to shave off a third of the size of the static plugins.
    • Postprocess the static libraries with objdump + strip to remove the remaining overhead.
  • Blocked parallelism on Darwin platforms to prevent Cargo from starving the rest of the system.

Fixes #446 (closed)

Requires !1265 (merged) merged beforehand.

Edited by amyspark

Merge request reports