ARG ORG=dockcross ARG HOST_ARCH=amd64 FROM ${ORG}/base:latest-${HOST_ARCH} LABEL maintainer="Matt McCormick matt@mmmccormick.com" # This is for 64-bit ARM Linux machine # Crosstool-ng version 2024-05-04 ENV CT_VERSION=crosstool-ng-1.26.0 #include "common.crosstool" # The cross-compiling emulator RUN apt-get update \ && apt-get install -y \ qemu-user \ qemu-user-static \ && apt-get clean --yes # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target. ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" COPY Toolchain.cmake ${CROSS_ROOT}/ ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig # Linux kernel cross compilation variables ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV ARCH=arm64 #include "common.label-and-env"