- Add Docker-based build system for cross-compiling on Apple Silicon - Create Dockerfiles for Linux x86_64 and ARM64, Windows x86_64 - Add build-all.sh script for automated multi-platform builds - Configure cargo-deb and cargo-generate-rpm for Linux packaging - Update README with cross-compilation instructions Supported outputs: - Linux x86_64: .deb, .rpm, .tar.gz - Windows x86_64: .zip Note: Linux ARM64 disabled due to upstream zune-jpeg NEON bug
23 lines
662 B
Docker
23 lines
662 B
Docker
FROM --platform=linux/amd64 rust:1.85-bookworm
|
|
|
|
# Install build dependencies and ARM64 cross-compiler
|
|
RUN dpkg --add-architecture arm64 && apt-get update && apt-get install -y \
|
|
cmake \
|
|
nasm \
|
|
meson \
|
|
ninja-build \
|
|
gcc-aarch64-linux-gnu \
|
|
g++-aarch64-linux-gnu \
|
|
libc6-dev-arm64-cross \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Add the ARM64 target
|
|
RUN rustup target add aarch64-unknown-linux-gnu
|
|
|
|
# Configure cargo for cross-compilation
|
|
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
|
|
ENV CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc
|
|
ENV CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++
|
|
|
|
WORKDIR /build
|