[F] Fix rust builder

This commit is contained in:
Azalea Gui 2024-12-22 01:39:13 -05:00
parent cafa3ff752
commit afd9ad33d4
3 changed files with 15 additions and 4 deletions

2
tools/build_rust.sh Normal file → Executable file
View file

@ -8,4 +8,4 @@ docker build -t rust-builder-general tools/rust-builder/general
# Step 2: Run the Docker container and execute the builder script
echo "Running the Docker container..."
docker run --rm -v "$(pwd)":/app rust-builder bash -c "cd /app && ./tools/rust-builder/general/builder.sh"
docker run --rm -v "$(pwd)":/app rust-builder-general bash -c "cd /app && ./tools/rust-builder/general/build.sh"

View file

@ -3,14 +3,19 @@ FROM debian:10-slim
# Install Rust building environment
RUN apt update && apt install -y curl build-essential gcc libssl-dev bash musl-tools mingw-w64
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
RUN source $HOME/.cargo/env
# Add toolchains for building for gnu[x86_64, aarch64, armv7l], musl[x86_64], and windows[x86_64, aarch64]
RUN rustup target add \
RUN /root/.cargo/bin/rustup target add \
x86_64-unknown-linux-gnu \
aarch64-unknown-linux-gnu \
armv7-unknown-linux-gnueabihf \
x86_64-unknown-linux-musl \
x86_64-pc-windows-gnu \
x86_64-pc-windows-gnu
# Install armv7l & aarch64 toolchains
RUN apt install -y gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu
# Add cargo to path
ENV PATH="/root/.cargo/bin:${PATH}"
WORKDIR /app

6
tools/rust-builder/general/build.sh Normal file → Executable file
View file

@ -1,5 +1,11 @@
#!/usr/bin/env bash
set -e
# Set linkers for cross-compilation
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=/usr/bin/arm-linux-gnueabihf-gcc
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=/usr/bin/aarch64-linux-gnu-gcc
# Build for platforms
cargo build --release --target x86_64-unknown-linux-gnu
cargo build --release --target aarch64-unknown-linux-gnu