26 lines
930 B
Bash
Executable file
26 lines
930 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
# Add cargo to path
|
|
export PATH="$HOME/.cargo/bin:$PATH"
|
|
cd /app
|
|
|
|
# Set linkers for cross-compilation
|
|
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER=musl-gcc
|
|
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=/musl/aarch64/bin/musl-gcc
|
|
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_LINKER=/musl/armv7l/bin/musl-gcc
|
|
export CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_MUSL_LINKER=/musl/riscv64/bin/musl-gcc
|
|
|
|
# Build for windows
|
|
cargo build --release --target x86_64-pc-windows-gnu
|
|
|
|
# Add -C relocation-model=static to the build command
|
|
# See https://github.com/rust-lang/rust/issues/95926
|
|
export RUSTFLAGS="-C relocation-model=static"
|
|
|
|
# Build for platforms
|
|
cargo build --release --target x86_64-unknown-linux-musl
|
|
cargo build --release --target aarch64-unknown-linux-musl
|
|
cargo build --release --target armv7-unknown-linux-musleabihf
|
|
#cargo build --release --target riscv64gc-unknown-linux-musl
|