|  | # Copyright 2021 The IREE Authors | 
|  | # | 
|  | # Licensed under the Apache License v2.0 with LLVM Exceptions. | 
|  | # See https://llvm.org/LICENSE.txt for license information. | 
|  | # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
|  |  | 
|  | # An image for cross-compiling IREE towards RISCV using CMake. | 
|  |  | 
|  | FROM gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446 AS install-riscv | 
|  | WORKDIR /install-riscv | 
|  | RUN wget --no-verbose "https://storage.googleapis.com/iree-shared-files/toolchain_iree_manylinux_2_28_20231012.tar.gz" | 
|  | RUN tar -xf "toolchain_iree_manylinux_2_28_20231012.tar.gz" -C /usr/src/ | 
|  | RUN wget --no-verbose "https://storage.googleapis.com/iree-shared-files/toolchain_iree_rv32imf_manylinux_2_28_20231012.tar.gz" | 
|  | RUN tar -xf "toolchain_iree_rv32imf_manylinux_2_28_20231012.tar.gz" -C /usr/src/ | 
|  | RUN wget --no-verbose "https://storage.googleapis.com/iree-shared-files/qemu-riscv_8.1.2_manylinux_2.28_20231026.tar.gz" | 
|  | RUN tar -xf "qemu-riscv_8.1.2_manylinux_2.28_20231026.tar.gz" -C /usr/src/ | 
|  | # Old qemu-v5.2.0 to support embedded elf (without memory protection) | 
|  | RUN mkdir -p /usr/src/qemu-v5.2.0 | 
|  | RUN wget --no-verbose "https://storage.googleapis.com/iree-shared-files/qemu-riscv.tar.gz" | 
|  | RUN tar -xf "qemu-riscv.tar.gz" -C /usr/src/qemu-v5.2.0 | 
|  |  | 
|  | FROM gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446 AS final | 
|  | COPY --from=install-riscv "/usr/src/toolchain_iree" "/usr/src/toolchain_iree" | 
|  | COPY --from=install-riscv "/usr/src/toolchain_iree_rv32imf" "/usr/src/toolchain_iree_rv32imf" | 
|  | COPY --from=install-riscv "/usr/src/qemu-riscv" "/usr/src/qemu-riscv" | 
|  | COPY --from=install-riscv "/usr/src/qemu-v5.2.0/qemu-riscv/qemu-riscv32" "/usr/src/qemu-riscv/qemu-riscv32-v5.2.0" | 
|  | ENV RISCV_RV64_LINUX_TOOLCHAIN_ROOT="/usr/src/toolchain_iree" | 
|  | ENV RISCV_RV32_NEWLIB_TOOLCHAIN_ROOT="/usr/src/toolchain_iree_rv32imf" | 
|  | ENV QEMU_RV64_BIN="/usr/src/qemu-riscv/qemu-riscv64" | 
|  | ENV QEMU_RV32_BIN="/usr/src/qemu-riscv/qemu-riscv32" | 
|  | ENV QEMU_RV32_V5_2_BIN="/usr/src/qemu-riscv/qemu-riscv32-v5.2.0" |