Skip to content

Commit

Permalink
Switch from ld (the default linker) to using lld for GNU Linux targets
Browse files Browse the repository at this point in the history
Copies changes from vercel/turborepo#8166
  • Loading branch information
bgw committed May 17, 2024
1 parent 829e2eb commit d1714e6
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
13 changes: 10 additions & 3 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,18 @@ rustflags = ["-C", "target-feature=+crt-static"]
[target.i686-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]

[target.aarch64-apple-darwin]
[target.'cfg(target_os = "macos")']
linker = "rust-lld"

[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
[target.'cfg(all(target_os = "linux", target_env = "gnu"))']
rustflags = [
"--cfg",
"tokio_unstable",
"-Zshare-generics=y",
"-Zthreads=8",
"-Csymbol-mangling-version=v0",
"-Clink-arg=-fuse-ld=lld",
]

[target.aarch64-unknown-linux-musl]
linker = "aarch64-linux-musl-gcc"
Expand Down
21 changes: 14 additions & 7 deletions contributing/core/developing.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,21 @@
- All pull requests should be opened against `canary`.
- The changes on the `canary` branch are published to the `@canary` tag on npm regularly.

To develop locally:
## Dependencies

- Install Rust and Cargo via [rustup](https://rustup.rs).
- Install the [GitHub CLI](https://github.com/cli/cli#installation).
- Enable pnpm:
```
corepack enable pnpm
```
- (Linux) Install LLD, the LLVM linker:
```
sudo apt install lld
```

## Local Development

1. Install Rust and Cargo via [rustup](https://rustup.rs).
1. Install the [GitHub CLI](https://github.com/cli/cli#installation).
1. Clone the Next.js repository (download only recent commits for faster clone):
```
gh repo clone vercel/next.js -- --filter=blob:none --branch canary --single-branch
Expand All @@ -16,10 +27,6 @@ To develop locally:
```
git checkout -b MY_BRANCH_NAME origin/canary
```
1. Enable pnpm:
```
corepack enable pnpm
```
1. Install the dependencies with:
```
pnpm install
Expand Down

0 comments on commit d1714e6

Please sign in to comment.