Skip to content

Commit 9e34767

Browse files
committed
Add tvos targets
1 parent 07ddbf2 commit 9e34767

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

packages/ferric/src/build.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,7 @@ async function combineLibraries(
340340
const result = [];
341341
const darwinLibraries = [];
342342
const iosSimulatorLibraries = [];
343+
const tvosSimulatorLibraries = [];
343344
for (const [target, libraryPath] of libraries) {
344345
if (target.endsWith("-darwin")) {
345346
darwinLibraries.push(libraryPath);
@@ -348,6 +349,11 @@ async function combineLibraries(
348349
target === "x86_64-apple-ios" // Simulator despite name missing -sim suffix
349350
) {
350351
iosSimulatorLibraries.push(libraryPath);
352+
} else if (
353+
target === "aarch64-apple-tvos-sim" ||
354+
target === "x86_64-apple-tvos" // Simulator despite name missing -sim suffix
355+
) {
356+
tvosSimulatorLibraries.push(libraryPath);
351357
} else {
352358
result.push(libraryPath);
353359
}
@@ -356,6 +362,7 @@ async function combineLibraries(
356362
const combinedLibraryPaths = await createUniversalAppleLibraries([
357363
darwinLibraries,
358364
iosSimulatorLibraries,
365+
tvosSimulatorLibraries,
359366
]);
360367

361368
return [...result, ...combinedLibraryPaths];

packages/ferric/src/cargo.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@ const APPLE_XCFRAMEWORK_CHILDS_PER_TARGET: Record<AppleTargetName, string> = {
3232
// The x86_64 target for vision simulator isn't supported
3333
// see https://doc.rust-lang.org/rustc/platform-support.html
3434

35+
"aarch64-apple-tvos": "tvos-arm64",
36+
"aarch64-apple-tvos-sim": "tvos-arm64_x86_64-simulator",
37+
"x86_64-apple-tvos": "tvos-arm64_x86_64-simulator",
38+
3539
// "aarch64-apple-ios-macabi": "", // Catalyst
3640
// "x86_64-apple-ios-macabi": "ios-x86_64-simulator",
37-
// "aarch64-apple-tvos": "tvos-arm64",
38-
// "aarch64-apple-tvos-sim": "tvos-arm64-simulator",
3941
};
4042

4143
const ANDROID_ARCH_PR_TARGET: Record<AndroidTargetName, string> = {

packages/ferric/src/targets.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,23 +29,20 @@ export const APPLE_TARGETS = [
2929
"aarch64-apple-visionos",
3030
"aarch64-apple-visionos-sim",
3131

32-
// TODO: Re-enabled these when we know how to install them 🙈
33-
/*
3432
"aarch64-apple-tvos",
33+
// "arm64e-apple-tvos",
3534
"aarch64-apple-tvos-sim",
36-
*/
35+
"x86_64-apple-tvos", // Simulator (despite the missing -sim suffix)
3736

3837
// "aarch64-apple-watchos",
3938
// "aarch64-apple-watchos-sim",
4039
// "arm64_32-apple-watchos",
4140
// "arm64e-apple-darwin",
4241
// "arm64e-apple-ios",
43-
// "arm64e-apple-tvos",
4442
// "armv7k-apple-watchos",
4543
// "armv7s-apple-ios",
4644
// "i386-apple-ios",
4745
// "i686-apple-darwin",
48-
// "x86_64-apple-tvos",
4946
// "x86_64-apple-watchos-sim",
5047
// "x86_64h-apple-darwin",
5148
] as const;
@@ -57,6 +54,10 @@ export type TargetName = (typeof ALL_TARGETS)[number];
5754
const THIRD_TIER_TARGETS: Set<TargetName> = new Set([
5855
"aarch64-apple-visionos",
5956
"aarch64-apple-visionos-sim",
57+
58+
"aarch64-apple-tvos",
59+
"aarch64-apple-tvos-sim",
60+
"x86_64-apple-tvos",
6061
]);
6162

6263
export function assertNightlyToolchain() {

0 commit comments

Comments
 (0)