From 3cf3e61a050daf980b133ea02d78376503279af9 Mon Sep 17 00:00:00 2001 From: Andrea Bedini Date: Tue, 7 Oct 2025 15:44:05 +0800 Subject: [PATCH] docs: update bootstrapping diagram to include stage3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- Makefile | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 20837cbea96..1cd505fddd0 100644 --- a/Makefile +++ b/Makefile @@ -47,14 +47,32 @@ # โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ # โ”‚ โ”‚ ghc2 โ”‚ โ”‚ ghc-pkg2 โ”‚ โ”‚ ... โ”‚ โ”‚ # โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ -# โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ -# โ”‚ (built with ghc1, linked with rts1) โ”‚ +# โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +# โ”‚ โ”‚ (built with ghc1, linked with rts1) โ”‚ +# โ”‚ โ”‚ โ”‚ +# โ”‚ ยทยทยทยทยทโ”‚ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท โ”‚ +# โ”‚ โ–ผ โ”‚ +# โ”‚ Stage 3 (Cross-compilation) โ”‚ +# โ”‚ โ”‚ โ”‚ +# โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +# โ”‚ โ””โ”€โ”€โ”€โ”€โ–บโ”‚ target-specific libs (pkg3) โ”‚ โ”‚ +# โ”‚ โ”‚ โ€ข javascript-unknown-ghcjs โ”‚ โ”‚ +# โ”‚ โ”‚ โ€ข wasm32-unknown-wasi โ”‚ โ”‚ +# โ”‚ โ”‚ โ€ข x86_64-musl-linux โ”‚ โ”‚ +# โ”‚ โ”‚ โ€ข etc. โ”‚ โ”‚ +# โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +# โ”‚ (built with ghc2 for different target platforms) โ”‚ # โ”‚ โ”‚ # โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ # โ”‚ โ”‚ SHIPPED RESULT โ”‚ โ”‚ # โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ # โ”‚ โ”‚ โ”‚ pkg1 โ”‚ + โ”‚ ghc2 โ”‚ โ”‚ โ”‚ # โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ +# โ”‚ โ”‚ โ”‚ โ”‚ +# โ”‚ โ”‚ Optional cross-compilation: โ”‚ โ”‚ +# โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ +# โ”‚ โ”‚ โ”‚ target-specific pkg3 โ”‚ โ”‚ โ”‚ +# โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ # โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ # โ”‚ โ”‚ # โ”‚ Notes: โ”‚ @@ -65,6 +83,8 @@ # โ”‚ โ€ข ghc1 is linked against rts0, ghc2 against rts1 โ”‚ # | โ€ข augmented packages are needed because ghc1 may require newer | # | versions or even new pacakges, not shipped with the boot compiler | +# โ”‚ โ€ข Stage 3 is optional: ghc2 builds libraries for cross-compilation โ”‚ +# โ”‚ targets (different architectures/platforms) โ”‚ # โ”‚ โ”‚ # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜