You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

66 lines
2.0 KiB

## GHDL ##
FROM symbiyosys as symbiyosys-ghdl
ARG LLVM_VER="7"
ARG GNAT_VER="8"
RUN apt-get update -qq && \
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
gnat \
zlib1g-dev \
llvm-dev && \
apt-get autoclean && apt-get clean && apt-get -y autoremove && \
rm -rf /var/lib/apt/lists/*
# Build GHDL
RUN cd /root && \
mkdir ghdl && \
cd ghdl && \
curl https://codeload.github.com/ghdl/ghdl/tar.gz/master | tar xzf - --strip-components=1 && \
./configure --enable-synth --prefix=/opt/ghdl --with-llvm-config=llvm-config-$LLVM_VER && \
make && \
make install
## GHDLSYNTH-BETA ##
FROM symbiyosys-ghdl AS symbiyosys-ghdlsynth
# Build ghdlsynth-beta
RUN cd /root && \
mkdir ghdlsynth-beta && \
cd ghdlsynth-beta && \
curl https://codeload.github.com/tmeissner/ghdlsynth-beta/tar.gz/tests | tar xzf - --strip-components=1 && \
make GHDL=/opt/ghdl/bin/ghdl YOSYS_CONFIG=/opt/yosys/bin/yosys-config && \
make install GHDL=/opt/ghdl/bin/ghdl YOSYS_CONFIG=/opt/yosys/bin/yosys-config
# GHDL-formal
FROM debian:buster-slim AS ghdl-formal
# Get runtime dependencies
RUN apt-get update -qq && \
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
ca-certificates \
libreadline7 \
libtcl8.6 \
libgnat-8 \
make \
python3 && \
apt-get autoclean && apt-get clean && apt-get -y autoremove && \
update-ca-certificates && \
rm -rf /var/lib/apt/lists/*
# copy build artifacts
COPY --from=symbiyosys-ghdlsynth /opt/ghdl /opt/ghdl
COPY --from=symbiyosys-ghdlsynth /opt/symbiyosys /opt/symbiyosys
COPY --from=symbiyosys-ghdlsynth /opt/yosys /opt/yosys
COPY --from=symbiyosys-ghdlsynth /opt/z3 /opt/z3
COPY --from=symbiyosys-ghdlsynth /opt/yices2 /opt/yices2
COPY --from=symbiyosys-ghdlsynth /opt/cvc4 /opt/cvc4
COPY --from=symbiyosys-ghdlsynth /opt/boolector /opt/boolector
# Enhance path variable
ENV PATH "/opt/ghdl/bin:/opt/symbiyosys/bin:/opt/yosys/bin:/opt/z3/bin:/opt/yices2/bin:/opt/cvc4/bin:/opt/boolector/bin:$PATH"