1
0
forked from rosa/hakurei

internal/rosa/llvm: use llvm build system

This removes the multistep bootstrap hack. Stage0 exceptions are also eliminated for a later change to bring the stage0 distribution down to just a bare toolchain, toybox and shell. This change also enables dynamic linking and ThinLTO.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-01 03:09:49 +09:00
parent 2cd6b35bee
commit fc66f0bb47
10 changed files with 172 additions and 301 deletions

View File

@@ -318,7 +318,7 @@ func main() {
if err = cm.Do(func(cache *pkg.Cache) (err error) {
pathname, _, err = cache.Cure(
(t - 2).Load(rosa.Clang),
(t - 2).Load(rosa.LLVM),
)
return
}); err != nil {
@@ -328,7 +328,7 @@ func main() {
if err = cm.Do(func(cache *pkg.Cache) (err error) {
pathname, checksum[0], err = cache.Cure(
(t - 1).Load(rosa.Clang),
(t - 1).Load(rosa.LLVM),
)
return
}); err != nil {
@@ -337,7 +337,7 @@ func main() {
log.Println("stage2:", pathname)
if err = cm.Do(func(cache *pkg.Cache) (err error) {
pathname, checksum[1], err = cache.Cure(
t.Load(rosa.Clang),
t.Load(rosa.LLVM),
)
return
}); err != nil {
@@ -542,7 +542,7 @@ func main() {
presets[i] = p
}
base := rosa.Clang
base := rosa.LLVM
if !flagWithToolchain {
base = rosa.Musl
}