1*afbdf0a4SAlessandro Di Federico# 2*afbdf0a4SAlessandro Di Federico# Docker Hexagon cross-compiler target 3*afbdf0a4SAlessandro Di Federico# 4*afbdf0a4SAlessandro Di Federico# This docker target is used for building hexagon tests. As it also 5*afbdf0a4SAlessandro Di Federico# needs to be able to build QEMU itself in CI we include it's 6*afbdf0a4SAlessandro Di Federico# build-deps. It is also a "stand-alone" image so as not to be 7*afbdf0a4SAlessandro Di Federico# triggered by re-builds on other base images given it takes a long 8*afbdf0a4SAlessandro Di Federico# time to build. 9*afbdf0a4SAlessandro Di Federico# 10*afbdf0a4SAlessandro Di FedericoFROM qemu/debian10 11*afbdf0a4SAlessandro Di Federico 12*afbdf0a4SAlessandro Di Federico# Install common build utilities 13*afbdf0a4SAlessandro Di FedericoRUN apt update && \ 14*afbdf0a4SAlessandro Di Federico DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ 15*afbdf0a4SAlessandro Di Federico DEBIAN_FRONTEND=noninteractive eatmydata \ 16*afbdf0a4SAlessandro Di Federico apt install -y --no-install-recommends \ 17*afbdf0a4SAlessandro Di Federico bison \ 18*afbdf0a4SAlessandro Di Federico cmake \ 19*afbdf0a4SAlessandro Di Federico flex \ 20*afbdf0a4SAlessandro Di Federico lld \ 21*afbdf0a4SAlessandro Di Federico rsync \ 22*afbdf0a4SAlessandro Di Federico wget 23*afbdf0a4SAlessandro Di Federico 24*afbdf0a4SAlessandro Di FedericoENV TOOLCHAIN_INSTALL /usr/local 25*afbdf0a4SAlessandro Di FedericoENV ROOTFS /usr/local 26*afbdf0a4SAlessandro Di Federico 27*afbdf0a4SAlessandro Di FedericoENV LLVM_URL https://github.com/llvm/llvm-project/archive/bfcd21876adc3498065e4da92799f613e730d475.tar.gz 28*afbdf0a4SAlessandro Di FedericoENV MUSL_URL https://github.com/quic/musl/archive/aff74b395fbf59cd7e93b3691905aa1af6c0778c.tar.gz 29*afbdf0a4SAlessandro Di FedericoENV LINUX_URL https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.18.tar.xz 30*afbdf0a4SAlessandro Di Federico 31*afbdf0a4SAlessandro Di FedericoADD build-toolchain.sh /root/hexagon-toolchain/build-toolchain.sh 32*afbdf0a4SAlessandro Di Federico 33*afbdf0a4SAlessandro Di FedericoRUN cd /root/hexagon-toolchain && ./build-toolchain.sh 34*afbdf0a4SAlessandro Di Federico 35*afbdf0a4SAlessandro Di FedericoFROM debian:buster-slim 36*afbdf0a4SAlessandro Di Federico# Duplicate deb line as deb-src 37*afbdf0a4SAlessandro Di FedericoRUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list 38*afbdf0a4SAlessandro Di Federico# Install QEMU build deps for use in CI 39*afbdf0a4SAlessandro Di FedericoRUN apt update && \ 40*afbdf0a4SAlessandro Di Federico DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ 41*afbdf0a4SAlessandro Di Federico DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy git ninja-build && \ 42*afbdf0a4SAlessandro Di Federico DEBIAN_FRONTEND=noninteractive eatmydata \ 43*afbdf0a4SAlessandro Di Federico apt build-dep -yy --arch-only qemu 44*afbdf0a4SAlessandro Di FedericoCOPY --from=0 /usr/local /usr/local 45*afbdf0a4SAlessandro Di FedericoENV PATH $PATH:/usr/local/bin/ 46