Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 5 additions & 9 deletions docs/HowToGuides/GettingStarted.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,20 +142,16 @@ toolchain as a one-off, there are a couple of differences:
1. Install Xcode. The minimum required version is specified in the node
information on <https://ci.swift.org>, may change frequently, and is often
a beta release.
1. Install [Ninja][] and [Sccache][]:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

out of curiosity, why is the Ninja stuff being removed here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the build process checks out and builds ninja for you, there's no need to do it yourself. You can if you want, though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And neither sccache nor homebrew is a requirement either. You just need Xcode and CMake.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the build process checks out and builds ninja for you

Does it by default? I don’t have a ninja clone in any of my checkouts.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You just need Xcode and CMake.

CMake was previously removed from this document (in #83063 by @MaxDesiatov).

As with ninja, CMake will be built from source, but I did encounter two issues:

  • utils/build-script --clean failed to rebuild CMake (as far as I remember).

  • utils/run-test couldn't find CMake (I had to manually add it to the PATH).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, ninja is the preferred tool for incremental builds AFAIC. I don’t think the build script installs it your PATH.

- Via [Homebrew][] (recommended):
2. Install [CMake][].
3. (Optional) Install [Sccache][] via [Homebrew][]:
```sh
brew install ninja sccache
```
- Via [Homebrew Bundle][]:
```sh
brew bundle
brew install sccache
```
This step is not required, but it speeds up rebuilds by caching build artifacts.
[Xcode]: https://developer.apple.com/xcode/resources/
[Ninja]: https://ninja-build.org
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: the link might still be useful to include somewhere even if the tool is installed automatically

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We had certain ninja compatibility problem's too, so I'd prefer we don't mislead users telling them to install a wrong version.

[Homebrew]: https://brew.sh/
[Homebrew Bundle]: https://github.com/Homebrew/homebrew-bundle
[CMake]: https://cmake.org
### Linux
Expand Down