From e1f7024dba7e50ecce9bea7c7d96bff9fc41ad2a Mon Sep 17 00:00:00 2001
From: 4lDO2 <4lDO2@protonmail.com>
Date: Mon, 18 Jul 2022 11:52:15 +0200
Subject: [PATCH] Add bootstrap recipe.

---
 recipes/bootstrap/recipe.toml | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 recipes/bootstrap/recipe.toml

diff --git a/recipes/bootstrap/recipe.toml b/recipes/bootstrap/recipe.toml
new file mode 100644
index 000000000..9c1f730d3
--- /dev/null
+++ b/recipes/bootstrap/recipe.toml
@@ -0,0 +1,11 @@
+[recipe]
+[build]
+template = "custom"
+script = """
+ARCH="$(echo "${TARGET}" | cut -d - -f1)"
+nasm -o "${COOKBOOK_BUILD}/asm.o" -f elf64 "${COOKBOOK_SOURCE}/src/${ARCH}.asm"
+cargo -Zbuild-std=core,alloc,compiler_builtins -Zbuild-std-features=compiler-builtins-mem rustc --target "${TARGET}" --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" --release --target-dir "${COOKBOOK_BUILD}" -- --emit obj="${COOKBOOK_BUILD}/${TARGET}/release/libbootstrap.a"
+compiler_builtins=`find "${COOKBOOK_BUILD}/x86_64-unknown-redox/release/deps/" -name "*libcompiler_builtins*.rlib"`
+ld -o "${COOKBOOK_STAGE}/bootstrap" --gc-sections -T "${COOKBOOK_SOURCE}/src/${ARCH}.ld" "${COOKBOOK_BUILD}/asm.o" "${COOKBOOK_BUILD}/${TARGET}/release/libbootstrap.a" "${COOKBOOK_SYSROOT}/lib/libc.a" "$compiler_builtins"
+"""
+dependencies = ["relibc"]
-- 
GitLab