aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/llvm.go
AgeCommit message (Collapse)Author
2026-05-19internal/rosa: create metadata alongside artifactOphestra
This enables deferring evaluation of azalea-based packages and fixes the longstanding quirk of version being disjoint from other metadata. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17internal/rosa: pass stage alongside stateOphestra
This cleans up many function signatures. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17internal/rosa: key metadata by stringOphestra
For upcoming azalea integration. The API is quite ugly right now to ease migration. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/rosa/llvm: 22.1.4 to 22.1.5Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/rosa/llvm: set exclusive bitOphestra
This was missed when improving bootstrap. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-07internal/rosa: configurable architectureOphestra
This enables curing via binfmt. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-05internal/rosa/llvm: update configuration for early runtimesOphestra
These were never updated when the bootstrap was moved to stage0-only. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-05internal/rosa/llvm: exclude benchmarksOphestra
These are being built despite LLVM_BUILD_BENCHMARKS defaulting to off. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-03internal/rosa/llvm: enable LLVM_BUILD_TESTSOphestra
This arranges for tests to be built early, and is more efficient towards the end of the build. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-03internal/rosa/llvm: provide runtimes early in stage0Ophestra
The LLVM build system fails to handle a dynamically linked toolchain correctly, and leaks the system installation during builds. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-03internal/rosa/clang: install cpp symlinkOphestra
Required by some buggy autotools scripts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/llvm: LIT args helperOphestra
This is useful for other projects using LIT. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/cmake: implicit CMAKE_BUILD_TYPEOphestra
Lack of this behaviour is a holdover from when the helper was first split from the (now removed) LLVM helper. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/llvm: make source independently availableOphestra
This is unfortunately still required, due to the monorepo nature of LLVM. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/llvm: skip multiple-compile-threads-basic on arm64Ophestra
This intermittently crashes. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/llvm: skip unwind_leaffunction on arm64Ophestra
This unexpectedly passes. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01internal/rosa/llvm: enable libclc as a runtimeOphestra
Enabling this as a project is deprecated. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01internal/rosa: global preset flagsOphestra
These changes preset behaviour globally. Useful for ad hoc workarounds for development or bootstrapping on resource-constrained systems. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01internal/rosa/llvm: use llvm build systemOphestra
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>
2026-04-15internal/rosa: respect preferred job countOphestra
This discontinues use of nproc, and also overrides detection behaviour in ninja. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: autodetect stage0 targetOphestra
This is fine, now that stages beyond stage0 have explicit target. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: centralise llvm sourceOphestra
This avoids having to sidestep the NewPackage name formatting machinery to take the cache fast path. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/cmake: remove variantOphestra
This has no effect outside formatting of name and is a remnant of the old llvm helpers. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate libclcOphestra
This eliminates newLLVMVariant. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate runtimes and clangOphestra
This eliminates most newLLVM family of functions. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate compiler-rt helperOphestra
This also removes unused dependencies. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate muslOphestra
This removes the pointless special treatment given to musl. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate compiler-rtOphestra
The newLLVM family of functions predate the package system. This change migrates compiler-rt without changing any resulting artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: remove project/runtime helperOphestra
More remnants from early days, these are not reusable at all but that was not known at the time. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-13internal/rosa/llvm: centralise patchesOphestra
This enables easier reuse of the patchset. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-13internal/rosa/llvm: remove conditional flags in helperOphestra
The llvm helper is a remnant from very early days, and ended up not being very useful, but was never removed. This change begins its removal, without changing the resulting artifacts for now. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-13internal/rosa: helpers for common url formatsOphestra
This cleans up call site of NewPackage. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-12internal/rosa/llvm: libclc artifactOphestra
This is built independently of llvm build system to avoid having to build llvm again. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-10internal/rosa/llvm: remove unused fieldOphestra
This change also renames confusingly named flags field and corrects its doc comment. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-10internal/rosa/llvm: use latest version on arm64Ophestra
This also removes arch-specific patches because they were not useful. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-10internal/rosa/llvm: enable cross compilationOphestra
This now passes the test suite. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-10internal/rosa/llvm: increase stack sizeOphestra
Some aarch64 regression tests fail intermittently on the default size. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-06internal/rosa/stage0: add riscv64 tarballOphestra
This had not yet passed all test suites because emulator is prohibitively slow. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-26internal/rosa: key-value typeOphestra
This type is used very frequently. The new type is much easier to type and can receive helper methods eventually if needed. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-15internal/rosa/llvm: arch-specific versionsOphestra
This enables temporarily avoiding a broken release on specific targets. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-15internal/rosa/llvm: arch-specific patchesOphestra
Broken aarch64 tests in LLVM seem unlikely to be fixed soon. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-13internal/rosa/llvm: 22.1.0 to 22.1.1Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-13internal/rosa: populate runtime dependenciesOphestra
This also removes manually resolved indirect dependencies. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-10internal/rosa/llvm: set LLVM_LIT_ARGSOphestra
This replaces the progress bar, which was worse than useless. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-08internal/rosa: add zlib runtime dependencyOphestra
For transitioning to dynamically linking zlib. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-05internal/rosa/llvm: separate major versionOphestra
For pathname formatting at compile time. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-05internal/rosa/llvm: 21.1.8 to 22.1.0Ophestra
New patch should not be affected next time. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-05internal/rosa: populate Anitya project idsOphestra
This enables release monitoring for all applicable projects. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-05internal/rosa/llvm: populate metadataOphestra
This enables use of release monitoring for LLVM. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-05internal/rosa: provide package metadataOphestra
This had to be done out-of-band because there was no way to efficiently represent these within Artifact. Signed-off-by: Ophestra <cat@gensokyo.uk>