# This Dockerfile produces a base image for builds. # It includes all dependencies necessary to cross-compile for Windows/MacOS/Linux. FROM crazymax/osxcross:latest-ubuntu AS osxcross FROM rust:latest RUN rustup target add x86_64-pc-windows-msvc && \ rustup target add x86_64-apple-darwin && \ apt-get update && \ apt-get install -y clang lld libc6-dev libasound2-dev libudev-dev genisoimage && \ cargo install cargo-bundle xwin COPY --from=osxcross /osxcross /osxcross RUN xwin --accept-license splat --output xwin && rm -rf .xwin-cache ENV PATH="/osxcross/bin:$PATH" \ LD_LIBRARY_PATH="/osxcross/lib" \ CC="clang" CXX="clang++" AR="llvm-ar-14" \ CC_x86_64-apple-darwin="o64-clang" \ CXX_x86_64-apple-darwin="o64-clang++" \ CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER="lld-link" \ CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER="o64-clang" \ CARGO_TARGET_X86_64_APPLE_DARWIN_AR="llvm-ar-14" \ RUSTFLAGS="-Lnative=/xwin/crt/lib/x86_64 -Lnative=/xwin/sdk/lib/um/x86_64 -Lnative=/xwin/sdk/lib/ucrt/x86_64" \ MACOSX_DEPLOYMENT_TARGET="14.5"