aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/state.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-11-01 00:28:47 +0900
committerOphestra <cat@gensokyo.uk>2026-11-01 00:28:47 +0900
commitaaeefb7be7a6b59810be514d6c40159f40761f0d (patch)
treeda562f44eeb25adf837d0bfccaaf7bfc02d56cdf /internal/rosa/state.go
parent6b88f9afb9f8cd6312e0313e51e23d35dc23310b (diff)
internal/rosa: enable checks for cross-compilation
This uses QEMU to run checks when supported. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/state.go')
-rw-r--r--internal/rosa/state.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/internal/rosa/state.go b/internal/rosa/state.go
index aa03b8ba..dc1b3109 100644
--- a/internal/rosa/state.go
+++ b/internal/rosa/state.go
@@ -226,15 +226,13 @@ type S struct {
// crosscompiling state for the native architecture.
var ErrInvalidCross = errors.New("invalid cross-compilation state")
-// NewCross returns a copy of s for cross-compilation. Testing is disabled in
-// the copy.
+// NewCross returns a copy of s for cross-compilation.
func (s *S) NewCross(arch string) *S {
if s.native != nil && arch == s.native.Arch() {
panic(ErrInvalidCross)
}
p := s.Clone()
- p.opts |= OptSkipCheck
p.native, p.arch = s, arch
return p
}
@@ -928,8 +926,10 @@ func (s *S) getFrame() azalea.Frame {
) (v any, set bool, err error) {
var attr CMakeHelper
var test azalea.AString
+ qemu := true
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("early"): &attr.Early,
+ k("qemu"): &qemu,
k("append"): &attr.Append,
k("buildType"): &attr.BuildType,
k("cache"): &attr.Cache,
@@ -939,6 +939,7 @@ func (s *S) getFrame() azalea.Frame {
}); err != nil {
return
}
+ attr.SkipEmulator = !qemu
attr.Test = test.V
attr.SkipTest = test.Nil