fix(docs): make the documented bootstrap work on a fresh clone

bin/ is gitignored and not checked in, so the first command in README.md,
COMPILING.md, CONTRIBUTING.md, tools/x/main.ludic and on the site —

    clang selfhost/ludicc.seed.ll -o bin/ludicc && ...

failed on a clean checkout with `ld: open() failed, errno=2 for 'bin/ludicc'`.
Verified against a fresh clone. Every copy now leads with `mkdir -p bin`, which
is what the CI workflows had been doing all along.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-05 01:48:01 +03:00
parent d41de1f7c9
commit 4b81b55849
3 changed files with 9 additions and 2 deletions

View file

@ -17,7 +17,7 @@
> >
> ```bash > ```bash
> # one-time bootstrap: clang assembles the seed, then ludicc compiles bin/x > # one-time bootstrap: clang assembles the seed, then ludicc compiles bin/x
> clang selfhost/ludicc.seed.ll -o bin/ludicc && bin/ludicc tools/x/main.ludic -o bin/x > mkdir -p bin && clang selfhost/ludicc.seed.ll -o bin/ludicc && bin/ludicc tools/x/main.ludic -o bin/x
> bin/x build # rebuild the whole toolchain into bin/ > bin/x build # rebuild the whole toolchain into bin/
> # (ludicc, ludic, x, ludic-fmt, ludic-lsp) > # (ludicc, ludic, x, ludic-fmt, ludic-lsp)
> bin/ludicc examples/games/snake.ludic -o bin/snake # compile > bin/ludicc examples/games/snake.ludic -o bin/snake # compile

View file

@ -39,7 +39,7 @@ Bootstrap it once from a clean checkout (the only step Ludic can't do for
itself, since compiling Ludic needs a compiler) with clang alone: itself, since compiling Ludic needs a compiler) with clang alone:
```bash ```bash
clang selfhost/ludicc.seed.ll -o bin/ludicc && bin/ludicc tools/x/main.ludic -o bin/x mkdir -p bin && clang selfhost/ludicc.seed.ll -o bin/ludicc && bin/ludicc tools/x/main.ludic -o bin/x
``` ```
Then build the whole toolchain and run a game: Then build the whole toolchain and run a game:

View file

@ -0,0 +1,7 @@
bump: patch
type: fix
The documented bootstrap works on a fresh clone. `bin/` is gitignored and not
checked in, so `clang selfhost/ludicc.seed.ll -o bin/ludicc` — the first command
in the README, in COMPILING, in CONTRIBUTING and on the site — failed with
`ld: open() failed, errno=2 for 'bin/ludicc'`. Every copy now begins with
`mkdir -p bin`, which is what CI had been doing all along.