@@ -238,11 +238,20 @@ Phew, that's a lot to digest! Now let's proceed to the actual build itself!
238238 --skip-ios --skip-watchos --skip-tvos --swift-darwin-supported-archs " $( uname -m) " \
239239 --sccache --release-debuginfo --swift-disable-dead-stripping
240240 ```
241+ > ** Warning**
242+ > On Macs with Apple silicon (arm64), pass ` --bootstrapping=off` .
243+ > (https://github.com/apple/swift/issues/62017)
244+
241245 - Linux:
242246 ` ` ` sh
243247 utils/build-script --release-debuginfo --skip-early-swift-driver \
244248 --skip-early-swiftsyntax
245249 ` ` `
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+
246255 This will create a directory `swift-project/build/Ninja-RelWithDebInfoAssert`
247256 containing the Swift compiler and standard library and clang/LLVM build artifacts.
248257 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:
341350* Create a new Xcode workspace.
342351* Add the generated Xcode projects or Swift packages that are relevant to your
343352 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:
345354 * If you are aiming for the compiler, add ` build/Xcode-DebugAssert/swift-macosx-* /Swift.xcodeproj` .
346355 This project also includes the standard library and runtime sources. If you
347356 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:
366375* For a Ninja target that you want to build (e.g. `swift-frontend`), add a
367376 target to the empty project, using the _External Build System_ template.
368377* 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
370379 `which ninja` on the command line)
371380 * _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 .
377386* > **Note**
378387 > Ignore this step if the target associates to a non-executable Ninja target
379388 like `swift-stdlib`.
0 commit comments