aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package
diff options
context:
space:
mode:
Diffstat (limited to 'internal/rosa/package')
-rw-r--r--internal/rosa/package/kernel/package.az8
-rw-r--r--internal/rosa/package/llvm/package.az52
-rw-r--r--internal/rosa/package/musl/package.az15
3 files changed, 65 insertions, 10 deletions
diff --git a/internal/rosa/package/kernel/package.az b/internal/rosa/package/kernel/package.az
index 47bc4323..8e2dcfe5 100644
--- a/internal/rosa/package/kernel/package.az
+++ b/internal/rosa/package/kernel/package.az
@@ -29,6 +29,12 @@ package kernel-headers {
make = [
"-f /usr/src/kernel-headers/Makefile",
"O=/tmp/kbuild",
+ "ARCH='"+arch {
+ default = arch;
+
+ amd64 = "x86";
+ riscv64 = "riscv";
+ }+"'",
"LLVM=1",
`HOSTLDFLAGS="${LDFLAGS:-''}"`,
"INSTALL_HDR_PATH=/work/system",
@@ -47,7 +53,7 @@ cat \
amd64 = "8BdskuTo4WxcJDFbdHakHmvkeIASmOkDd0LanTjaXwkmoMa5PeMf0gqee0FqYRFd";
arm64 = "RQ27XMgxEj5M6cagVHljCE1n-9q_gFayOaakWr0PoAq5yllfLHEz0KQx1fXLwCzp";
- riscv64 = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+ riscv64 = "N4YuFlWVfdgnmoJMFMrTL3vhnzh-yUpxGmFaHqSuNIOmgBn2rI_SWcodONGcfOhw";
};
tools = [ rsync ];
diff --git a/internal/rosa/package/llvm/package.az b/internal/rosa/package/llvm/package.az
index 631228be..02cea79a 100644
--- a/internal/rosa/package/llvm/package.az
+++ b/internal/rosa/package/llvm/package.az
@@ -17,13 +17,41 @@ package llvm-project {
];
}
+package early-builtins {
+ description = "early LLVM runtime: compiler-rt (builtins)";
+ source = llvm-project;
+
+ exclusive = true;
+
+ exec = cmake {
+ append = [ "compiler-rt/lib/builtins" ];
+ cache = {
+ "LLVM_HOST_TRIPLE": triple;
+ "LLVM_ENABLE_RTTI": "ON";
+ "LLVM_BUILD_LLVM_DYLIB": "ON";
+ "LLVM_LINK_LLVM_DYLIB": "ON";
+ "LLVM_ENABLE_PER_TARGET_RUNTIME_DIR": "ON";
+
+ "COMPILER_RT_DEFAULT_TARGET_ONLY": "ON";
+ };
+ test = nil;
+ };
+
+ tools = [ python-early ];
+
+ inputs = [
+ musl-headers,
+ kernel-headers,
+ ];
+}
+
package early-compiler-rt {
description = "early LLVM runtime: compiler-rt";
source = llvm-project;
exclusive = true;
early = `
-LLVM_VERSION_MAJOR="$(cmake -P /dev/stdin <<< '
+LLVM_VERSION_MAJOR="$(CLICOLOR_FORCE= cmake -P /dev/stdin <<< '
include(cmake/Modules/LLVMVersion.cmake)
message(NOTICE "${LLVM_VERSION_MAJOR}")
' 2>&1)"
@@ -36,6 +64,9 @@ message(NOTICE "${LLVM_VERSION_MAJOR}")
// libc++ not yet available
"CMAKE_CXX_COMPILER_TARGET": "";
+ // musl not yet available
+ "CMAKE_TRY_COMPILE_TARGET_TYPE": "STATIC_LIBRARY";
+
"LLVM_HOST_TRIPLE": triple;
"LLVM_ENABLE_RTTI": "ON";
"LLVM_BUILD_LLVM_DYLIB": "ON";
@@ -45,15 +76,15 @@ message(NOTICE "${LLVM_VERSION_MAJOR}")
"COMPILER_RT_BUILD_BUILTINS": "ON";
"COMPILER_RT_DEFAULT_TARGET_ONLY": "ON";
"COMPILER_RT_USE_BUILTINS_LIBRARY": "ON";
- "COMPILER_RT_SANITIZERS_TO_BUILD": "asan";
- "COMPILER_RT_BUILD_GWP_ASAN": "OFF";
// does not work without libunwind
"COMPILER_RT_BUILD_CTX_PROFILE": "OFF";
+ "COMPILER_RT_BUILD_SANITIZERS": "OFF";
"COMPILER_RT_BUILD_LIBFUZZER": "OFF";
"COMPILER_RT_BUILD_MEMPROF": "OFF";
"COMPILER_RT_BUILD_PROFILE": "OFF";
"COMPILER_RT_BUILD_XRAY": "OFF";
+ "COMPILER_RT_BUILD_ORC": "OFF";
};
test = nil;
postInstall = `
@@ -71,14 +102,14 @@ ln -s \
`;
};
- inputs = [
- python-early,
+ tools = [ python-early ];
+ inputs = [
musl-headers,
kernel-headers,
];
- runtime = [ musl ];
+ cross = [ early-builtins ];
}
package early-runtimes {
@@ -120,14 +151,17 @@ package early-runtimes {
test = nil;
};
- inputs = [
- python-early,
+ tools = [ python-early ];
+ inputs = [
zlib,
zstd,
early-compiler-rt,
kernel-headers,
];
- runtime = [ early-compiler-rt ];
+ runtime = [
+ musl,
+ early-compiler-rt,
+ ];
}
diff --git a/internal/rosa/package/musl/package.az b/internal/rosa/package/musl/package.az
index c264c782..7afa7e2f 100644
--- a/internal/rosa/package/musl/package.az
+++ b/internal/rosa/package/musl/package.az
@@ -24,6 +24,9 @@ package musl-headers {
exec = make {
defaults = false;
+ configure = {
+ "target": triple;
+ };
make = [ "DESTDIR=/work", "install-headers" ];
check = nil;
install = "# headers installed during make";
@@ -46,9 +49,20 @@ package musl {
env = [
"LDFLAGS=" + earlyLDFLAGS,
];
+ early = `
+[ -e '/system/`+arch+`' ] && \
+ ln -s ../../../../`+arch+`/system/lib/`+triple+` /system/lib/clang/*/lib || true
+`;
exec = make {
defaults = false;
+ configure = {
+ "target": triple;
+
+ "AR": "ar";
+ "RANLIB": "ranlib";
+ "CC": "'clang --target="+triple+" -rtlib=compiler-rt'";
+ };
check = nil;
postInstall = `
mkdir -p /work/system/bin
@@ -61,5 +75,6 @@ rmdir -v /work/lib
`;
};
+ cross = [ early-compiler-rt ];
tools = [ coreutils ];
}