mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-23 13:24:17 +08:00
80 lines
1.5 KiB
TOML
80 lines
1.5 KiB
TOML
[source]
|
|
same_as = "../drivers"
|
|
|
|
[build]
|
|
template = "custom"
|
|
script = """
|
|
BINS=(
|
|
acpid
|
|
fbbootlogd
|
|
fbcond
|
|
hwd
|
|
inputd
|
|
lived
|
|
nvmed
|
|
pcid
|
|
pcid-spawner
|
|
rtcd
|
|
vesad
|
|
)
|
|
|
|
virt_bins()
|
|
{
|
|
BINS+=(virtio-blkd virtio-gpud)
|
|
}
|
|
|
|
x86_common_bins()
|
|
{
|
|
BINS+=(ahcid ided ps2d vesad)
|
|
virt_bins
|
|
}
|
|
|
|
aarch64_bins()
|
|
{
|
|
case "${BOARD}" in
|
|
raspi3b*)
|
|
BINS+=(bcm2835-sdhcid)
|
|
;;
|
|
*)
|
|
#qemu-virt
|
|
virt_bins
|
|
;;
|
|
esac
|
|
}
|
|
|
|
case "${TARGET}" in
|
|
i586-unknown-redox | i686-unknown-redox)
|
|
x86_common_bins
|
|
;;
|
|
x86_64-unknown-redox)
|
|
x86_common_bins
|
|
;;
|
|
aarch64-unknown-redox)
|
|
aarch64_bins
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
mkdir -pv "${COOKBOOK_STAGE}/bin" "${COOKBOOK_STAGE}/lib/drivers"
|
|
export CARGO_PROFILE_RELEASE_OPT_LEVEL=s
|
|
export CARGO_PROFILE_RELEASE_PANIC=abort
|
|
"${COOKBOOK_CARGO}" build ${build_flags} \
|
|
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
|
|
$(for bin in "${BINS[@]}"; do echo "-p" "${bin}"; done)
|
|
for bin in "${BINS[@]}"
|
|
do
|
|
case "${bin}" in
|
|
pcid | pcid-spawner | fbbootlogd | fbcond | inputd | vesad | lived | ps2d | acpid | bcm2835-sdhcid | rtcd | hwd)
|
|
cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/bin"
|
|
;;
|
|
*)
|
|
cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/lib/drivers"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
mkdir -pv "${COOKBOOK_STAGE}/etc/pcid"
|
|
cp -v "${COOKBOOK_SOURCE}/initfs.toml" "${COOKBOOK_STAGE}/etc/pcid/initfs.toml"
|
|
"""
|