## 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"