mirror of
https://gitlab.com/fabinfra/fabaccess/bffh.git
synced 2025-03-12 16:11:43 +01:00
30 lines
1.3 KiB
Bash
Executable File
30 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# this scripts compiles bffh for all target architectures which are defined in Cross.toml (using cross_rs).
|
|
# We use cross_rs because it supports easy and successful cross compilation for different architectures with less efforts
|
|
# For this we install podman by default
|
|
|
|
# requirements
|
|
# - this script only runs on debianoid OS (Debian, Ubuntu, Kubuntu, ... having dpkg)
|
|
|
|
echo -e "\n+++++++++++++++++++++++++++++++++++++++++++"
|
|
echo -e "installing requirements ..."
|
|
echo -e "+++++++++++++++++++++++++++++++++++++++++++\n"
|
|
sudo apt install podman
|
|
cargo install cross
|
|
|
|
echo -e "\n+++++++++++++++++++++++++++++++++++++++++++"
|
|
echo -e "gathering some general info ..."
|
|
echo -e "+++++++++++++++++++++++++++++++++++++++++++\n"
|
|
dpkg-architecture | grep DEB_HOST_ARCH_CPU
|
|
dpkg-architecture | grep DEB_HOST_MULTIARCH
|
|
|
|
# this generates bffhd and fabfire_provision binary files in target/<architecture>/ dir
|
|
# we compile for amd64 (x86_64) using native "cargo build --release". Other architectures we use podman + cross_rs
|
|
echo -e "\n+++++++++++++++++++++++++++++++++++++++++++"
|
|
echo -e "cross-compiling ..."
|
|
echo -e "+++++++++++++++++++++++++++++++++++++++++++\n"
|
|
time cargo build --release
|
|
time cross build --target aarch64-unknown-linux-gnu --release
|
|
time cross build --target=armv7-unknown-linux-gnueabihf --release
|