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.

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