## GHDL ## FROM symbiyosys as symbiyosys-ghdl ARG LLVM_VER="7" RUN apt-get update -qq && \ DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ gnat \ llvm-dev && \ apt-get autoclean && apt-get clean && apt-get -y autoremove && \ rm -rf /var/lib/apt/lists/* && \ 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 && \ mkdir /opt/ghdl/doc && \ curl https://ghdl.readthedocs.io/_/downloads/en/latest/pdf/ -o /opt/ghdl/doc/ghdl_manual.pdf ## GHDLSYNTH-BETA ## FROM symbiyosys-ghdl AS symbiyosys-ghdlsynth # Build ghdlsynth-beta RUN cd /root && \ mkdir ghdl-yosys-plugin && \ cd ghdl-yosys-plugin && \ curl https://codeload.github.com/ghdl/ghdl-yosys-plugin/tar.gz/master | 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 \ libllvm7 \ gcc \ libc6-dev \ zlib1g-dev \ make \ python3 \ libssl-dev \ libpython2.7 && \ apt-get -y upgrade && 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 /opt # 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:/opt/bitwuzla/bin:/opt/super_prove/bin:$PATH"