diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-04-14 02:06:08 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-04-14 02:07:13 +0900 |
| commit | e97f6a393f90c9a194dc9d19abf23b62fa17c987 (patch) | |
| tree | 74d899ebca362caad5f8c573d188a5cb98e17fdf /cmd | |
| parent | eeffefd22b45b458af89f19e371fcac2179e1900 (diff) | |
internal/rosa/llvm: migrate runtimes and clang
This eliminates most newLLVM family of functions.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/mbf/main.go | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index e593c33b..c69ba0a6 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -396,24 +396,27 @@ func main() { rosa.SetGentooStage3(flagGentoo, checksum) } - _, stage1 := (t - 2).NewLLVM() - _, stage2 := (t - 1).NewLLVM() - _, stage3 := t.NewLLVM() var ( pathname *check.Absolute checksum [2]unique.Handle[pkg.Checksum] ) - if pathname, _, err = cache.Cure(stage1); err != nil { + if pathname, _, err = cache.Cure( + (t - 2).Load(rosa.LLVMClang), + ); err != nil { return err } log.Println("stage1:", pathname) - if pathname, checksum[0], err = cache.Cure(stage2); err != nil { + if pathname, checksum[0], err = cache.Cure( + (t - 1).Load(rosa.LLVMClang), + ); err != nil { return err } log.Println("stage2:", pathname) - if pathname, checksum[1], err = cache.Cure(stage3); err != nil { + if pathname, checksum[1], err = cache.Cure( + t.Load(rosa.LLVMClang), + ); err != nil { return err } log.Println("stage3:", pathname) @@ -565,7 +568,7 @@ func main() { "shell", "Interactive shell in the specified Rosa OS environment", func(args []string) error { - presets := make([]rosa.PArtifact, len(args)) + presets := make([]rosa.PArtifact, len(args)+3) for i, arg := range args { p, ok := rosa.ResolveName(arg) if !ok { @@ -573,25 +576,20 @@ func main() { } presets[i] = p } - root := make(pkg.Collect, 0, 6+len(args)) - root = rosa.Std.AppendPresets(root, presets...) - if flagWithToolchain { - boot := rosa.Std - 1 - runtimes, clang := boot.NewLLVM() - root = append(root, - boot.Load(rosa.Musl), - boot.Load(rosa.LLVMCompilerRT), - runtimes, clang, - ) - } else { - root = append(root, rosa.Std.Load(rosa.Musl)) + base := rosa.LLVMClang + if !flagWithToolchain { + base = rosa.Musl } - root = append(root, - rosa.Std.Load(rosa.Mksh), - rosa.Std.Load(rosa.Toybox), + presets = append(presets, + base, + rosa.Mksh, + rosa.Toybox, ) + root := make(pkg.Collect, 0, 6+len(args)) + root = rosa.Std.AppendPresets(root, presets...) + if _, _, err := cache.Cure(&root); err == nil { return errors.New("unreachable") } else if !pkg.IsCollected(err) { |
