Skip to content

moltenvk: Bump to latest, fix support for macOS arm64 and iOS x64

Nirbheek Chauhan requested to merge nirbheek/cerbero:moltenvk-improvements into main

For universal iOS and macOS builds, we need to ship "fat" (merged) libraries and executables.

The MoltenVK SDK already provides those for macOS, so for macOS universal we just ship them as-is, which means disabling merge and code-sign steps (see below).

For non-universal builds on macOS, we use lipo to strip the extra arches.

The MoltenVK SDK provides an xcframework for iOS, which has separate libMoltenVK.a for each target:

  • iOS (arm64)
  • iOS Simulator (arm64+x86_64)
  • tvOS (arm64+arm64e)
  • tvOS Simulator (arm64+x86_64)

However, our packaging is currently lacking (TODO), and we ship "fat" archives with arm64 (ios) and x86_64 (ios-simulator) merged. So we need to extract the x86_64 archive and place it in the arch-specific prefix, and let cerbero merge it with the ios-arm64 one (and then sign it).

For non-universal builds on iOS, no extra steps are necessary.

Fixes #482

Needs: gstreamer!7091 (same branch name, will get picked up automatically in CI)

Merge request reports