Skip to content

Commit 0a1b3b9

Browse files
committed
Added visionOS steps
1 parent e3c6626 commit 0a1b3b9

File tree

1 file changed

+48
-21
lines changed

1 file changed

+48
-21
lines changed

Makefile.toml

Lines changed: 48 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -123,33 +123,40 @@ command = "xcodebuild"
123123
args = [
124124
"-create-xcframework",
125125
"-output", "${CARGO_TARGET_DIR}/swift/liveview_native_core.xcframework",
126-
# macOS
126+
# macOS
127127
"-library", "${CARGO_TARGET_DIR}/universal/macos/libliveview_native_core.a",
128128
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
129-
# iOS
129+
# iOS
130130
"-library", "${CARGO_TARGET_DIR}/aarch64-apple-ios/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
131131
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
132-
# iOS sim
132+
# iOS sim
133133
"-library", "${CARGO_TARGET_DIR}/universal/ios-sim/libliveview_native_core.a",
134134
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
135-
# watchOS
135+
# watchOS
136136
"-library", "${CARGO_TARGET_DIR}/universal/watchos/libliveview_native_core.a",
137137
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
138-
# watchOS sim
138+
# watchOS sim
139139
"-library", "${CARGO_TARGET_DIR}/universal/watchos-sim/libliveview_native_core.a",
140140
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
141-
# tvOS
141+
# tvOS
142142
"-library", "${CARGO_TARGET_DIR}/aarch64-apple-tvos/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
143143
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
144144
# tvOS sim
145145
"-library", "${CARGO_TARGET_DIR}/universal/tvos-sim/libliveview_native_core.a",
146146
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
147+
# visionOS
148+
"-library", "${CARGO_TARGET_DIR}/aarch64-apple-visionos/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
149+
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
150+
151+
"-library", "${CARGO_TARGET_DIR}/aarch64-apple-visionos-sim/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
152+
"-headers", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/crates/core/c_src/include",
147153
]
148154
dependencies = [
149155
"build-macos",
150156
"build-ios",
151157
"build-watchos",
152158
"build-tvos",
159+
"build-visionos",
153160
"create-lipo-universal-directories",
154161
"lipo-macos",
155162
"lipo-ios-sim",
@@ -258,17 +265,37 @@ args = [
258265
]
259266
dependencies = ["install-targets"]
260267

268+
# This "stage1" compiler is built by following the steps in:
269+
# https://github.com/rust-lang/rust/pull/121419#issuecomment-2047563639
270+
# The only change was:
271+
# ./x build --stage 1 library --target=aarch64-apple-darwin,aarch64-apple-visionos,aarch64-apple-visionos-sim
272+
# when using the changes from https://github.com/rust-lang/rust/pull/123723
273+
[tasks.build-visionos]
274+
workspace = false
275+
category = "Build"
276+
description = "Compiles for all targets needed to produce a universal library for tvOS"
277+
command = "rustup"
278+
args = [
279+
"run", "stage1",
280+
"cargo", "build",
281+
"@@remove-empty(CARGO_MAKE_CARGO_VERBOSE_FLAGS)",
282+
"--profile", "${CARGO_PROFILE}",
283+
"--target", "aarch64-apple-visionos",
284+
"--target", "aarch64-apple-visionos-sim",
285+
"-p", "liveview-native-core"
286+
]
287+
261288
[tasks.lipo-macos]
262289
dependencies = ["create-lipo-universal-directories"]
263290
workspace = false
264291
category = "Build"
265292
description = "Combines macOS targets into a universal binary"
266293
command = "xcrun"
267294
args = [
268-
"lipo", "-create",
269-
"${CARGO_TARGET_DIR}/aarch64-apple-darwin/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
270-
"${CARGO_TARGET_DIR}/x86_64-apple-darwin/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
271-
"-output", "${CARGO_TARGET_DIR}/universal/macos/libliveview_native_core.a"
295+
"lipo", "-create",
296+
"${CARGO_TARGET_DIR}/aarch64-apple-darwin/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
297+
"${CARGO_TARGET_DIR}/x86_64-apple-darwin/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
298+
"-output", "${CARGO_TARGET_DIR}/universal/macos/libliveview_native_core.a"
272299
]
273300

274301
[tasks.lipo-ios-sim]
@@ -278,11 +305,11 @@ category = "Build"
278305
description = "Combines iOS simulator targets into a universal binary"
279306
command = "xcrun"
280307
args = [
281-
"lipo",
282-
"-create",
283-
"${CARGO_TARGET_DIR}/aarch64-apple-ios-sim/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
284-
"${CARGO_TARGET_DIR}/x86_64-apple-ios/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
285-
"-output", "${CARGO_TARGET_DIR}/universal/ios-sim/libliveview_native_core.a"
308+
"lipo",
309+
"-create",
310+
"${CARGO_TARGET_DIR}/aarch64-apple-ios-sim/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
311+
"${CARGO_TARGET_DIR}/x86_64-apple-ios/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
312+
"-output", "${CARGO_TARGET_DIR}/universal/ios-sim/libliveview_native_core.a"
286313
]
287314

288315
[tasks.lipo-watchos-sim]
@@ -292,10 +319,10 @@ category = "Build"
292319
description = "Combines watchOS simulator targets into a universal binary"
293320
command = "xcrun"
294321
args = [
295-
"lipo", "-create",
296-
"${CARGO_TARGET_DIR}/aarch64-apple-watchos-sim/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
297-
"${CARGO_TARGET_DIR}/x86_64-apple-watchos-sim/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
298-
"-output", "${CARGO_TARGET_DIR}/universal/watchos-sim/libliveview_native_core.a"
322+
"lipo", "-create",
323+
"${CARGO_TARGET_DIR}/aarch64-apple-watchos-sim/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
324+
"${CARGO_TARGET_DIR}/x86_64-apple-watchos-sim/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
325+
"-output", "${CARGO_TARGET_DIR}/universal/watchos-sim/libliveview_native_core.a"
299326
]
300327

301328
[tasks.lipo-tvos-sim]
@@ -305,7 +332,7 @@ category = "Build"
305332
description = "Combines watchOS simulator targets into a universal binary"
306333
command = "xcrun"
307334
args = [
308-
"lipo", "-create",
335+
"lipo", "-create",
309336
"${CARGO_TARGET_DIR}/aarch64-apple-tvos-sim/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
310337
"${CARGO_TARGET_DIR}/x86_64-apple-tvos/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
311338
"-output", "${CARGO_TARGET_DIR}/universal/tvos-sim/libliveview_native_core.a"
@@ -318,7 +345,7 @@ category = "Build"
318345
description = "Combines watchOS simulator targets into a universal binary"
319346
command = "xcrun"
320347
args = [
321-
"lipo", "-create",
348+
"lipo", "-create",
322349
"${CARGO_TARGET_DIR}/aarch64-apple-watchos/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
323350
"${CARGO_TARGET_DIR}/arm64_32-apple-watchos/${CARGO_BUILD_TYPE}/libliveview_native_core.a",
324351
"-output", "${CARGO_TARGET_DIR}/universal/watchos/libliveview_native_core.a",

0 commit comments

Comments
 (0)