Skip to content

Apple: visionOS and tvOS builds now supported; update to 26.4 SDKs#156

Closed
stuartcarnie wants to merge 1 commit intogodotengine:mainfrom
stuartcarnie:apple-embedded-updates
Closed

Apple: visionOS and tvOS builds now supported; update to 26.4 SDKs#156
stuartcarnie wants to merge 1 commit intogodotengine:mainfrom
stuartcarnie:apple-embedded-updates

Conversation

@stuartcarnie
Copy link
Copy Markdown
Contributor

Depends on:

Changes in this PR:

  • Adds tvOS support via a new build-tvos/build.sh, mirroring build-ios/build.sh but arm64-device only (no simulator) for both Classical and Mono templates. Outputs land under out/templates/libgodot.tvos*.a and out/templates-mono/libgodot.tvos*.a.
  • Bumps the iOS and visionOS SDKs from 26.1 / 26.0 to 26.4, matching the Xcode 26.4 SDKs pulled into the godot-appleembedded image.
  • Bumps the Swift toolchain used by the iOS and visionOS builds from 6.2.x to 6.3.0 (Apple SDK 26.4 shipped with swiftlang-6.3.0.123.x, so the OSS Swift 6.3 release is the closest marketing-version match).

Paired with the build-containers PR that adds the Swift 6.3 toolchain to the godot-appleembedded image and applies the necessary visionOS SDK patches.

Copy link
Copy Markdown
Member

@akien-mga akien-mga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You also need to update the Swift version in build-macos/build.sh.

And likewise there we could move darwin25.1 to an env variable in the build container so we don't need to do updates like this every time we update SDKs.

Comment thread build-ios/build.sh
# Keep LTO disabled for iOS - it works but it makes linking apps on deploy very slow,
# which is seen as a regression in the current workflow.
export OPTIONS="production=yes use_lto=no SWIFT_FRONTEND=/root/.local/share/swiftly/toolchains/6.2.1/usr/bin/swift-frontend"
export OPTIONS="production=yes use_lto=no SWIFT_FRONTEND=/root/.local/share/swiftly/toolchains/6.3.0/usr/bin/swift-frontend"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add a SWIFT_VERSION env to Dockerfile.osx so we can reuse it here and in the other places.

Comment thread build-ios/build.sh
export TERM=xterm

export IOS_SDK="26.1"
export IOS_SDK="26.4"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could tackle this in a follow-up, but we could also expose this as an env variable so we don't need to adjust build scripts every time we update the SDKs.

@stuartcarnie
Copy link
Copy Markdown
Contributor Author

Closed in favour of the New Improved™:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants