Skip to content

Commit a8c5f45

Browse files
committed
[docs] Suggest ninja bin/swift-frontend instead of ninja swift-frontend
...to cope with a bootstrapping quirk on arm64 Macs.
1 parent 4480d89 commit a8c5f45

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

SwiftCompilerSources/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The bootstrapping mode is cached in the `CMakeCache.txt` file in the Swift build
2424

2525
### Bootstrapping
2626

27-
The bootstrapping process is completely implemented with CMake dependencies. The build-script is not required to build the whole bootstrapping chain. For example, a `ninja swift-frontend` invocation builds all the required bootstrapping steps required for the final `swift-frontend`.
27+
The bootstrapping process is completely implemented with CMake dependencies. The build-script is not required to build the whole bootstrapping chain. For example, a `ninja bin/swift-frontend` invocation builds all the required bootstrapping steps required for the final `swift-frontend`.
2828

2929
Bootstrapping involves the following steps:
3030

docs/DevelopmentTips.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ DYLD_LIBRARY_PATH=/Library/Developer/Toolchains/swift-LOCAL-YYYY-MM-DD.xctoolcha
4545
### Working with two build directories
4646
For developing and debugging you are probably building a debug configuration of swift. But it's often beneficial to also build a release-assert configuration in parallel (`utils/build-script -R`).
4747

48-
The standard library takes very long to build with a debug compiler. It's much faster to build everything (including the standard library) with a release compiler and only the swift-frontend (with `ninja swift-frontend`) in debug. Then copy the release-built standard library to the debug build:
48+
The standard library takes very long to build with a debug compiler. It's much faster to build everything (including the standard library) with a release compiler and only the swift-frontend (with `ninja bin/swift-frontend`) in debug. Then copy the release-built standard library to the debug build:
4949
```
5050
src=/path/to/build/Ninja-ReleaseAssert/swift-macosx-x86_64
5151
dst=/path/to/build/Ninja-DebugAssert/swift-macosx-x86_64

docs/HowToGuides/GettingStarted.md

+8-3
Original file line numberDiff line numberDiff line change
@@ -250,11 +250,16 @@ Phew, that's a lot to digest! Now let's proceed to the actual build itself!
250250
```
251251
If you installed and want to use Sccache, include the `--sccache` option in
252252
the invocation as well.
253+
<!-- FIXME: Without this "hard" line break, the note doesn’t get properly spaced from the bullet -->
254+
<br />
253255
254256
> **Note**
255-
> If you aren't planning to edit the parts of the compiler that are written
256-
> in Swift, pass `--bootstrapping=hosttools` to speed up local development.
257-
> This requires a recent Xcode and/or swift toolchain to be installed.
257+
> If you are planning to work on the compiler, but not the parts that are
258+
> written in Swift, pass `--bootstrapping=hosttools` to speed up local
259+
> development. Note that on Linux — unlike macOS, where the toolchain already
260+
> comes with Xcode — this option additionally requires
261+
> [a recent Swift toolchain](https://www.swift.org/download/) to be
262+
> installed.
258263
259264
This will create a directory `swift-project/build/Ninja-RelWithDebInfoAssert`
260265
containing the Swift compiler and standard library and clang/LLVM build artifacts.

0 commit comments

Comments
 (0)