From a5fea4686e39f2770dae4ba34031fdd5eb0c6704 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 23 Feb 2026 18:07:38 +0900 Subject: [PATCH] internal/rosa: make toolchain optional The final Rosa OS image does not need the toolchain. Signed-off-by: Ophestra --- internal/rosa/rosa.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/internal/rosa/rosa.go b/internal/rosa/rosa.go index 53442ce..b2511f8 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,