[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" """