internal/rosa: early toybox variant

This is a variant of toybox with unfinished tools enabled, for artifacts that will end up in a dependency loop without them.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-30 00:24:14 +09:00
parent 9d9b7294a4
commit 616ed29edf
13 changed files with 62 additions and 19 deletions

View File

@@ -178,6 +178,8 @@ var absCureScript = fhs.AbsUsrBin.Append(".cure-script")
const (
// TExclusive denotes an exclusive [pkg.Artifact].
TExclusive = 1 << iota
// TEarly hints for an early variant of [Toybox] to be used when available.
TEarly
)
// New returns a [pkg.Artifact] compiled on this toolchain.
@@ -253,6 +255,10 @@ ln -vs ../usr/bin /work/bin
boot := t - 1
musl, compilerRT, runtimes, clang := boot.NewLLVM()
toybox := Toybox
if flag&TEarly != 0 {
toybox = toyboxEarly
}
support = slices.Concat(extra, []pkg.Artifact{
cureEtc{newIANAEtc()},
musl,
@@ -260,7 +266,7 @@ ln -vs ../usr/bin /work/bin
runtimes,
clang,
boot.Load(Mksh),
boot.Load(Toybox),
boot.Load(toybox),
})
env = fixupEnviron(env, []string{
EnvTriplet + "=" + triplet(),