aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/llvm.go
AgeCommit message (Collapse)Author
12 hourspkg: move from internalHEADstagingmasterdevelopOphestra
Closes #43. Signed-off-by: Ophestra <cat@gensokyo.uk>
42 hoursinternal/rosa/package/llvm: 22.1.8 to 23.1.0Ophestra
libclc is removed from the LLVM package and will be re-added as a separate package. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/rosa/llvm: early-runtimes for gentoo stage onlyOphestra
This bootstrap step is not required for a native Rosa OS stage0 distribution. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/rosa: read-only access to built-insOphestra
This removes potential footguns caused by mutable builtins without requiring unnecessary clones. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30internal/rosa: remove legacy exec helperOphestra
This change also adds a fourth stage to the bootstrap machinery, offering more correct toolchain validation that works around LLVM dynamic linking flaws. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-29internal/rosa/llvm: exclude runtime symbolsOphestra
These leak by default when static linking, which is considered unacceptable for many libraries. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-27internal/rosa/llvm: statically link libc++Ophestra
This avoids unnecessarily depending on the toolchain. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18internal/rosa: migrate early-compiler-rt to azaleaOphestra
Had to do the cmake hack for now due to evaluator limitation with inherited version. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18internal/rosa: migrate early-runtimes to azaleaOphestra
This is fully representable in azalea, so migrate it. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18internal/rosa: migrate llvm source to azaleaOphestra
Previous change enabled this migration. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-13internal/rosa: remove gawkOphestra
This change fully eliminates gawk. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-11internal/rosa/package/python: early bootstrap variantOphestra
This avoids pulling in python's insane dependency tree into the bootstrap path. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-09internal/rosa: respect preferred loadavg targetOphestra
This generally improves build performance and system responsiveness. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-01internal/rosa: create /bin symlinks via helperOphestra
This centralises the workaround for surprisingly common buggy scripts with nonstandard hardcoded paths. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-17internal/rosa/llvm: 22.1.7 to 22.1.8Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04internal/rosa/llvm: 22.1.6 to 22.1.7Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21internal/rosa/package: migrate llvm patchesOphestra
LLVM itself is unlikely to ever be migrated due to complexity of the bootstrap, so migrate patches instead. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21internal/rosa/package: migrate nssOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21internal/rosa/llvm: 22.1.5 to 22.1.6Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-20internal/rosa: remove global handlesOphestra
These no longer serve any purpose. Signed-off-by: Ophestra <cat@gensokyo.uk>
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>