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.

62 lines
1.7 KiB

  1. ## GHDL ##
  2. FROM symbiyosys as symbiyosys-ghdl
  3. ARG LLVM_VER="7"
  4. ARG GNAT_VER="8"
  5. RUN apt-get update -qq && \
  6. DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
  7. gnat \
  8. zlib1g-dev \
  9. llvm-dev && \
  10. apt-get autoclean && apt-get clean && apt-get -y autoremove && \
  11. rm -rf /var/lib/apt/lists/*
  12. # Build GHDL
  13. RUN cd /root && \
  14. mkdir ghdl && \
  15. cd ghdl && \
  16. curl https://codeload.github.com/ghdl/ghdl/tar.gz/master | tar xzf - --strip-components=1 && \
  17. ./configure --enable-synth --prefix=/opt/ghdl --with-llvm-config=llvm-config-$LLVM_VER && \
  18. make && \
  19. make install
  20. ## GHDLSYNTH-BETA ##
  21. FROM symbiyosys-ghdl AS symbiyosys-ghdlsynth
  22. # Build ghdlsynth-beta
  23. RUN cd /root && \
  24. mkdir ghdlsynth-beta && \
  25. cd ghdlsynth-beta && \
  26. curl https://codeload.github.com/tgingold/ghdlsynth-beta/tar.gz/master | tar xzf - --strip-components=1 && \
  27. make GHDL=/opt/ghdl/bin/ghdl YOSYS_CONFIG=/opt/yosys/bin/yosys-config && \
  28. make install GHDL=/opt/ghdl/bin/ghdl YOSYS_CONFIG=/opt/yosys/bin/yosys-config
  29. # GHDL-formal
  30. FROM debian:buster-slim AS ghdl-formal
  31. # Get runtime dependencies
  32. RUN apt-get update -qq && \
  33. DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
  34. ca-certificates \
  35. libreadline7 \
  36. libtcl8.6 \
  37. libgnat-8 \
  38. libllvm7 \
  39. gcc \
  40. make \
  41. python3 && \
  42. apt-get autoclean && apt-get clean && apt-get -y autoremove && \
  43. update-ca-certificates && \
  44. rm -rf /var/lib/apt/lists/*
  45. # copy build artifacts
  46. COPY --from=symbiyosys-ghdlsynth /opt /opt
  47. # Enhance path variable
  48. ENV PATH "/opt/ghdl/bin:/opt/symbiyosys/bin:/opt/yosys/bin:/opt/z3/bin:/opt/yices2/bin:/opt/cvc4/bin:/opt/boolector/bin:$PATH"