Skip to content

Commit 9ad73a6

Browse files
Merge pull request swiftlang#62020 from AnthonyLatsis/getting-started-bootstrap-arm64
[docs] GettingStarted.md: Minor additions & amendments
2 parents ec29497 + b5400ed commit 9ad73a6

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

docs/HowToGuides/GettingStarted.md

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)