Commit Graph
127 Commits
Author SHA1 Message Date
osy c5766065d8 build: raise minimum to iOS 15 and macOS 12 to build with Xcode 27
Xcode 27 no longer supports deploying to iOS 14 or macOS 11, and the
macOS 27 SDK breaks several dependency builds, so raise the minimum
versions and fix the dependency build:

- Bump IOS_SDKMINVER/MAC_SDKMINVER and the project deployment targets.
- Pass our deployment targets to the Hypervisor build, whose project
  still targets iOS 14.
- Build ANGLE without -Werror; new clang warnings break it.
- Update MoltenVK to pick up the upstream minimum target bump and set
  a visionOS minimum so it no longer inherits the SDK version.
- Patch QEMU apple-gfx to use PGCreateDeviceWithDescriptor, since
  PGNewDeviceWithDescriptor is no longer exported by the macOS 27 SDK.
- Skip copying the IOKit headers on macOS where they are already in the
  SDK and a second copy conflicts with the IOKit module.
- Export MACOSX_DEPLOYMENT_TARGET since libtool drops -target when
  linking C++ libraries, which built libasprintf for macOS 27.
- Default CI to the installed Xcode.

Assisted-by: Claude:claude-opus-5
2026-09-15 08:12:39 +02:00
osy ee04b73402 github: install D3DMetal into universal sysroot
The macOS build embeds D3DMetal.framework when the sysroot ships it, but
the framework is distributed separately and cannot be committed. When
D3DM_DIST_DMG_URL is set, fetch the distribution DMG and stage the
framework into the universal sysroot before it is packed into the
artifact and saved to the cache, so downstream builds pick it up. Builds
without the variable set are unaffected.

We cannot ship a com.apple.* bundle, but D3DMetal loads its own
default.metallib through [NSBundle bundleWithIdentifier:@"com.apple.D3DMetal"]
using that identifier as a literal compiled into the framework binary, so
the rebrand rewrites both the Info.plist and the binary. Rewriting only one
makes the lookup return nil and every D3DMetal process aborts in
-[MTLDevice newLibraryWithFile:nil error:].

Staging lives in scripts/install_d3dmetal.sh so it can also be run by hand.

Assisted-by: Claude:claude-opus-5
2026-07-30 22:15:31 -07:00
alb3rto 99898d35ea ci: make Xcode path configurable via HOST_XCODE_PATH variable
Fall back to /Applications/Xcode_26.0.app if the variable is unset.
2026-05-03 19:49:33 +02:00
osy e89c580ed3 build: define mesa host dependencies 2026-02-21 12:35:15 -08:00
osy 847ad6e425 build: add MoltenVK to dependencies 2026-01-07 21:03:12 -08:00
osy 50283fd05d build: add distlib and mako to dependency check 2026-01-07 21:03:12 -08:00
osy e8e7ec7ac8 build: add Vulkan-Loader to dependencies 2026-01-05 20:56:42 -08:00
osy d09c8a45ff github: make cache key more precise 2025-07-09 00:18:06 -07:00
osy 3e2c129361 github: update cache action to v4 2025-07-05 19:21:39 -07:00
osy dcefe5f688 github: update path to Xcode 26 2025-07-04 22:07:04 -07:00
osy f9c367a058 github: update to Xcode 16.2 2025-02-20 15:27:35 -08:00
osy c17a2127f8 github: update actions/upload-artifact to v4 2025-02-17 12:07:37 -08:00
osy 9351b5575d github: update to Xcode 16 2024-10-02 11:18:01 -07:00
osy f218aca02f github: update runner to macos-14 2024-04-01 10:04:18 -07:00
osy f0baf20552 github: decrease TCI build CPU to 1 2024-03-31 21:54:52 -07:00
osy 9846260ec8 github: update to Xcode 15.3 and disable new compiler errors 2024-03-30 14:06:33 -07:00
osy 2e54e955e0 github: reduce number of CPUs for TCI build again due to timeout issues 2024-03-04 08:56:21 -08:00
osy 8b1b2b26a7 github: updated App Store upload instructions 2024-02-27 12:36:02 -08:00
osy 932ded4dce github: update to Xcode 15.2 2024-02-25 00:16:27 -08:00
osy ac2d7c4ec2 github: configure build for iOS-Remote 2024-02-25 00:16:27 -08:00
osy 163a903987 Revert "github: disable visionOS and build on Xcode 15.0"
This reverts commit ab90be1a36.
2023-12-10 15:50:25 -06:00
osy 8dd92c8cc6 github: fix macOS packaging 2023-12-10 15:48:18 -06:00
osy ab90be1a36 github: disable visionOS and build on Xcode 15.0 2023-10-20 16:33:29 -07:00
osy 9b623c9ec9 github: update to Xcode 15.1 beta 2023-10-03 14:57:58 -07:00
osy c0ba373bf7 Revert "github: disable App Store submission for beta builds"
This reverts commit 1872260469.
2023-08-25 17:57:41 -07:00
osy 83f94de1c5 github: change non-secrets to vars 2023-08-25 14:10:11 -07:00
osy 1872260469 github: disable App Store submission for beta builds 2023-08-25 13:55:37 -07:00
osy 5972980f11 github: update package actions to support visionOS 2023-08-19 10:32:50 -07:00
osy 93c46f2b7e github: enable build matrix for visionOS 2023-08-08 07:06:48 -07:00
osy f38651deaf github: update to Xcode 15.0 beta 2023-08-05 17:44:04 -07:00
osy 791c525c8d github: downgrade to Xcode 14.2
Workaround compiler bug that breaks __builtin_subcll intrinsic
2023-05-28 23:04:23 -07:00
osy 1269d3d148 github: update configuration for Xcode 14.3
Also bump NCPU=2 for TCI builds due to larger memory on CI memory.
2023-04-25 14:30:36 -07:00
osy ba4998d9db github: update cache for universal sysroot based on pack script 2023-03-12 01:10:28 -08:00
osy 2959a7a40e github: disable separate runner for TCTI builds
The clang resource exhaustion issue has been addressed and we no longer need
to force the build on GitHub hosted runners.
2023-03-06 17:01:32 -08:00
osy 2f235e1b4c github: increase retry count for uploadChunk to 10 2023-03-06 09:55:10 -08:00
osy 4bf39e564d github: fix building from pull requests 2022-11-23 21:33:25 -08:00
osy c7a34605ef github: use GitHub hosted runner for TCTI sysroot builds
Also default to GitHub hosted runner if no self-hosted runner exists to be
more friendly to forks.
2022-11-14 03:23:14 -08:00
osy 75efcca635 Revert "qemu: fix resource exhaustion building QEMU TCTI"
This reverts commit 9f6ab1d5b8.

Fixes #4516
2022-10-21 01:40:06 -07:00
osy dbb32261ee github: update Xcode version to 14.1 RC 2022-10-18 19:43:57 -07:00
osy 1d4ac3028d github: run sysroot build on limited instances 2022-09-16 15:49:28 +03:00
osy 200591ceef package: produce Hypervisor only build 2022-09-10 07:57:15 +03:00
osy 9f6ab1d5b8 qemu: fix resource exhaustion building QEMU TCTI 2022-08-19 21:26:50 -07:00
osy 7aade21050 github: force rebuild sysroot should still cache 2022-08-16 13:22:34 -07:00
osy d92ca1a614 github: fix running on branches 2022-08-14 23:37:44 -07:00
osy 06aba19ac7 github: enable build on all branches 2022-08-14 23:11:12 -07:00
osy 31cb19c05e github: shrink cache upload chunk size 2022-08-14 23:11:12 -07:00
osy 39cf43b1c2 github: switch xcode only if not already selected 2022-08-14 23:10:59 -07:00
osy 17e8e9f31d github: set number of cores used per job 2022-08-14 23:10:59 -07:00
osy 583e74eec9 github: manually rebuild sysroot 2022-08-14 23:04:35 -07:00
osy 0de1dffdbe github: separate step to install requirements 2022-08-09 10:26:44 -07:00