aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-02-23 18:07:38 +0900
committerOphestra <cat@gensokyo.uk>2026-02-23 18:07:38 +0900
commita5fea4686e39f2770dae4ba34031fdd5eb0c6704 (patch)
tree3236aba2baba57f9f63ee41635c28780a57d484b /internal/rosa
parentae8c365c0f474b5c678701c95795677c20dc22b7 (diff)
internal/rosa: make toolchain optional
The final Rosa OS image does not need the toolchain. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa')
-rw-r--r--internal/rosa/rosa.go19
1 files changed, 12 insertions, 7 deletions
diff --git a/internal/rosa/rosa.go b/internal/rosa/rosa.go
index 53442ce0..b2511f82 100644
--- a/internal/rosa/rosa.go
+++ b/internal/rosa/rosa.go
@@ -225,6 +225,8 @@ const (
TExclusive = 1 << iota
// TEarly hints for an early variant of [Toybox] to be used when available.
TEarly
+ // TNoToolchain excludes the LLVM toolchain.
+ TNoToolchain
)
var (
@@ -309,15 +311,18 @@ mkdir -vp /work/system/bin
if flag&TEarly != 0 {
toybox = toyboxEarly
}
- support = slices.Concat(extra, []pkg.Artifact{
- cureEtc{newIANAEtc()},
- musl,
- compilerRT,
- runtimes,
- clang,
+ std := []pkg.Artifact{cureEtc{newIANAEtc()}, musl}
+ toolchain := []pkg.Artifact{compilerRT, runtimes, clang}
+ utils := []pkg.Artifact{
boot.Load(Mksh),
boot.Load(toybox),
- })
+ }
+
+ if flag&TNoToolchain != 0 {
+ toolchain = nil
+ }
+
+ support = slices.Concat(extra, std, toolchain, utils)
env = fixupEnviron(env, []string{
EnvTriplet + "=" + triplet(),
lcMessages,