48 lines
1.3 KiB
Docker
48 lines
1.3 KiB
Docker
#***************************************************************************************
|
|
# Copyright (c) 2025 Beijing Institute of Open Source Chip (BOSC)
|
|
#
|
|
# XiangShan is licensed under Mulan PSL v2.
|
|
# You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
# You may obtain a copy of Mulan PSL v2 at:
|
|
# http://license.coscl.org.cn/MulanPSL2
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
|
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
#
|
|
# See the Mulan PSL v2 for more details.
|
|
#***************************************************************************************
|
|
|
|
FROM ghcr.io/openxiangshan/xs-env:latest
|
|
|
|
# override ENTRYPOINT in verilator image
|
|
ENTRYPOINT [ "/bin/bash" ]
|
|
ENV VERILATOR=/usr/local/bin/verilator-wrap.sh
|
|
|
|
# explict set LC_ALL to C.UTF-8
|
|
ENV LC_ALL=C.UTF-8
|
|
|
|
#
|
|
# Mill
|
|
#
|
|
COPY .mill-version /tmp
|
|
RUN cd /tmp && mill -i --version && rm -rf .mill-version out
|
|
|
|
#
|
|
# XiangShan workspace
|
|
#
|
|
WORKDIR /work
|
|
VOLUME /work/out
|
|
VOLUME /work/build
|
|
|
|
# disable git safe.directory check
|
|
RUN git config --global --add safe.directory '*'
|
|
|
|
#
|
|
# download dependencies
|
|
#
|
|
RUN --mount=type=bind,source=.,target=/work,readonly \
|
|
--mount=type=tmpfs,destination=/tmp/.mill-out,rw <<EOF
|
|
make deps MILL_OUTPUT_DIR=/tmp/.mill-out
|
|
EOF
|