diff --git a/recipes/bootstrap/recipe.toml b/recipes/bootstrap/recipe.toml new file mode 100644 index 0000000000000000000000000000000000000000..9c1f730d39c05cb2ff9c21ef33ffd36cd5da9185 --- /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"]