From 20790af71ec9a69a462ecaaa7fc308e3b685383d Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 25 Jan 2026 01:32:21 +0900 Subject: internal/rosa: lazy initialise all artifacts This improves performance, though not as drastically as lazy initialising llvm. Signed-off-by: Ophestra --- cmd/mbf/main.go | 44 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 8 deletions(-) (limited to 'cmd') diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 329a885e..c382144f 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -143,24 +143,52 @@ func main() { if len(args) != 1 { return errors.New("cure requires 1 argument") } - var a pkg.Artifact + var p rosa.PArtifact switch args[0] { + case "autoconf": + p = rosa.Autoconf + case "bash": + p = rosa.Bash case "busybox": - a = rosa.Std.NewBusybox() - case "musl": - a = rosa.Std.NewMusl(nil) + p = rosa.Busybox + case "cmake": + p = rosa.CMake + case "coreutils": + p = rosa.Coreutils + case "diffutils": + p = rosa.Diffutils + case "gettext": + p = rosa.Gettext case "git": - a = rosa.Std.NewGit() + p = rosa.Git case "go": - a = rosa.Std.NewGo() + p = rosa.Go + case "kernel-headers": + p = rosa.KernelHeaders + case "libffi": + p = rosa.Libffi + case "m4": + p = rosa.M4 + case "make": + p = rosa.Make + case "ninja": + p = rosa.Ninja + case "perl": + p = rosa.Perl + case "patch": + p = rosa.Patch + case "python": + p = rosa.Python case "rsync": - a = rosa.Std.NewRsync() + p = rosa.Rsync + case "zlib": + p = rosa.Zlib default: return fmt.Errorf("unsupported artifact %q", args[0]) } - pathname, _, err := cache.Cure(a) + pathname, _, err := cache.Cure(rosa.Std.Load(p)) if err == nil { log.Println(pathname) } -- cgit v1.3.1