aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/mbf/main.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-22 22:24:16 +0900
committerOphestra <cat@gensokyo.uk>2026-05-22 22:24:16 +0900
commitb47fa1a214eb5a081c4ceb39cf30ac708e19b8ed (patch)
tree607e00afd357c8af9659969cb6ad207a2bff2b20 /cmd/mbf/main.go
parent9e363cb2c9cc51296624e39bcc266ccdf6f1c9de (diff)
internal/rosa: IR-curable source override
This creates a tarball in-memory for overriding hakurei-source. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd/mbf/main.go')
-rw-r--r--cmd/mbf/main.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index cc8a40b2..8e2c4bda 100644
--- a/cmd/mbf/main.go
+++ b/cmd/mbf/main.go
@@ -64,11 +64,12 @@ func main() {
return
}
- e, ok := r.(rosa.LoadError)
- if !ok {
+ switch r.(type) {
+ case rosa.LoadError, pkg.IRStringError:
+ log.Fatal(r)
+ default:
panic(r)
}
- log.Fatal(e)
}()
ctx, stop := signal.NotifyContext(context.Background(),
@@ -86,6 +87,7 @@ func main() {
flagLTO bool
flagPT bool
+ flagSourcePath string
flagCrossOverride int
addr net.UnixAddr
@@ -136,6 +138,12 @@ func main() {
}
}
+ if flagSourcePath != "" {
+ if err := rosa.Native().SetSource(os.DirFS(flagSourcePath)); err != nil {
+ return err
+ }
+ }
+
return nil
}).Flag(
&flagQuiet,
@@ -196,6 +204,10 @@ func main() {
&flagPT,
"parse-time", command.BoolFlag(false),
"Print duration of the initial azalea parse",
+ ).Flag(
+ &flagSourcePath,
+ "source", command.StringFlag(""),
+ "Override hakurei source tree",
)
c.NewCommand(