@@ -238,11 +238,20 @@ Phew, that's a lot to digest! Now let's proceed to the actual build itself!
238
238
--skip-ios --skip-watchos --skip-tvos --swift-darwin-supported-archs " $( uname -m) " \
239
239
--sccache --release-debuginfo --swift-disable-dead-stripping
240
240
```
241
+ > ** Warning**
242
+ > On Macs with Apple silicon (arm64), pass ` --bootstrapping=off` .
243
+ > (https://github.com/apple/swift/issues/62017)
244
+
241
245
- Linux:
242
246
` ` ` sh
243
247
utils/build-script --release-debuginfo --skip-early-swift-driver \
244
248
--skip-early-swiftsyntax
245
249
` ` `
250
+
251
+ > ** Note**
252
+ > If you aren' t planning to edit the parts of the compiler that are written
253
+ > in Swift, pass `--bootstrapping=off` to speed up local development.
254
+
246
255
This will create a directory `swift-project/build/Ninja-RelWithDebInfoAssert`
247
256
containing the Swift compiler and standard library and clang/LLVM build artifacts.
248
257
If the build fails, see [Troubleshooting build issues](#troubleshooting-build-issues).
@@ -341,7 +350,7 @@ several more steps are necessary to set up this environment:
341
350
* Create a new Xcode workspace.
342
351
* Add the generated Xcode projects or Swift packages that are relevant to your
343
352
tasks to your workspace. All the Xcode projects can be found among the
344
- build artifacts in `build/Xcode-DebugAssert`. For example:
353
+ build artifacts under ` build/Xcode-DebugAssert` . For example:
345
354
* If you are aiming for the compiler, add ` build/Xcode-DebugAssert/swift-macosx-* /Swift.xcodeproj` .
346
355
This project also includes the standard library and runtime sources. If you
347
356
need the parts of the compiler that are implemented in Swift itself, add the
@@ -366,14 +375,14 @@ several more steps are necessary to set up this environment:
366
375
* For a Ninja target that you want to build (e.g. `swift-frontend`), add a
367
376
target to the empty project, using the _External Build System_ template.
368
377
* In the _Info_ pane of the target settings, set
369
- * _Build Tool_ to the path of the ` ninja` executable (the output of
378
+ * _Build Tool_ to the absolute path of the `ninja` executable (the output of
370
379
`which ninja` on the command line)
371
380
* _Arguments_ to the Ninja target name (e.g. `swift-frontend`)
372
- * _Directory_ to the path of the build directory associated with the Ninja
373
- target . For Swift targets, including the standard library and runtime, you
374
- want ` path/to/swift-project/ build/Ninja-* /swift-macosx-* `
375
- * Add a scheme for the target. Be careful not to select a target from one of the
376
- generated Xcode projects .
381
+ * _Directory_ to the absolute path of the directory where the Ninja target
382
+ lives . For Swift targets ( the compiler, standard library, runtime, and
383
+ related tooling), this is the ` build/Ninja-*/swift-macosx-*` directory.
384
+ * Add a scheme for the target. In the drop-down menu, be careful not to mistake
385
+ your target for a similar one that belongs to a generated Xcode project .
377
386
* > **Note**
378
387
> Ignore this step if the target associates to a non-executable Ninja target
379
388
like `swift-stdlib`.
0 commit comments