| ## 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 \ | |
|     libboost-program-options1.67.0 \ | |
|     strace \ | |
|     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/avy/bin:/opt/cvc4/bin:/opt/boolector/bin:/opt/bitwuzla/bin:/opt/super_prove/bin:$PATH"
 |