Skip to content

Commit 2920b10

Browse files
andreabediniclaude
andcommitted
docs: update bootstrapping diagram to include stage3
Add stage3 (cross-compilation) to the bootstrapping stages diagram. Stage3 uses ghc2 to build libraries for different target platforms like javascript-unknown-ghcjs, wasm32-unknown-wasi, and x86_64-musl-linux. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 4340b43 commit 2920b10

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

Makefile

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,32 @@
4747
# │ ┌─────────┐ ┌──────────┐ ┌─────────┐ │
4848
# │ │ ghc2 │ │ ghc-pkg2 │ │ ... │ │
4949
# │ │ │ │ │ │ │ │
50-
# │ └─────────┘ └──────────┘ └─────────┘ │
51-
# │ (built with ghc1, linked with rts1) │
50+
# │ └─────┬───┘ └──────────┘ └─────────┘ │
51+
# │ │ (built with ghc1, linked with rts1) │
52+
# │ │ │
53+
# │ ·····│································································ │
54+
# │ ▼ │
55+
# │ Stage 3 (Cross-compilation) │
56+
# │ │ │
57+
# │ │ ┌─────────────────────────────────┐ │
58+
# │ └────►│ target-specific libs (pkg3) │ │
59+
# │ │ • javascript-unknown-ghcjs │ │
60+
# │ │ • wasm32-unknown-wasi │ │
61+
# │ │ • x86_64-musl-linux │ │
62+
# │ │ • etc. │ │
63+
# │ └─────────────────────────────────┘ │
64+
# │ (built with ghc2 for different target platforms) │
5265
# │ │
5366
# │ ┌─────────────────────────────────┐ │
5467
# │ │ SHIPPED RESULT │ │
5568
# │ │ ┌─────────┐ ┌─────────┐ │ │
5669
# │ │ │ pkg1 │ + │ ghc2 │ │ │
5770
# │ │ └─────────┘ └─────────┘ │ │
71+
# │ │ │ │
72+
# │ │ Optional cross-compilation: │ │
73+
# │ │ ┌─────────────────────────┐ │ │
74+
# │ │ │ target-specific pkg3 │ │ │
75+
# │ │ └─────────────────────────┘ │ │
5876
# │ └─────────────────────────────────┘ │
5977
# │ │
6078
# │ Notes: │
@@ -65,6 +83,8 @@
6583
# │ • ghc1 is linked against rts0, ghc2 against rts1 │
6684
# | • augmented packages are needed because ghc1 may require newer |
6785
# | versions or even new pacakges, not shipped with the boot compiler |
86+
# │ • Stage 3 is optional: ghc2 builds libraries for cross-compilation │
87+
# │ targets (different architectures/platforms) │
6888
# │ │
6989
# └─────────────────────────────────────────────────────────────────────────┘
7090

0 commit comments

Comments
 (0)