FROM debian:buster-slim as yosys ## YOSYS ## # Get yosys dependencies RUN apt-get update -qq && \ DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ ca-certificates \ gcc \ make \ bison \ flex \ libreadline-dev \ gawk \ tcl-dev \ libffi-dev \ graphviz \ xdot \ pkg-config \ python3 \ libboost-system-dev \ libboost-python-dev \ libboost-filesystem-dev \ clang \ git && \ apt-get autoclean && apt-get clean && apt-get -y autoremove && \ update-ca-certificates && \ rm -rf /var/lib/apt/lists/* && \ cd /root && \ git clone https://github.com/YosysHQ/yosys.git yosys && \ cd yosys && \ git clone https://github.com/berkeley-abc/abc.git abc && \ make -j$(nproc) PREFIX=/opt/yosys && \ make install PREFIX=/opt/yosys # SymbiYosys, Solvers FROM yosys AS symbiyosys RUN apt-get update -qq && \ DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ autoconf \ gperf \ cmake \ curl \ libgmp-dev && \ apt-get autoclean && apt-get clean && apt-get -y autoremove && \ rm -rf /var/lib/apt/lists/* && \ cd /root && \ git clone https://github.com/YosysHQ/SymbiYosys.git symbiyosys && \ cd symbiyosys && \ make install PREFIX=/opt/symbiyosys && \ cd .. && \ git clone https://github.com/Z3Prover/z3.git z3 && \ cd z3 && \ python scripts/mk_make.py && \ cd build && \ make -j$(nproc) PREFIX=/opt/z3 && \ make install PREFIX=/opt/z3 && \ cd /root && \ git clone https://github.com/SRI-CSL/yices2.git yices2 && \ cd yices2 && \ autoconf && \ ./configure --prefix=/opt/yices2 && \ make -j$(nproc) && \ make install && \ cd /opt && \ mkdir cvc4 && mkdir cvc4/bin && \ curl -L -o cvc4/bin/cvc4 https://github.com/CVC4/CVC4/releases/download/1.7/cvc4-1.7-x86_64-linux-opt && \ chmod +x cvc4/bin/cvc4 && \ cd /root && \ git clone https://github.com/boolector/boolector && \ cd boolector && \ ./contrib/setup-btor2tools.sh && \ ./contrib/setup-lingeling.sh && \ ./configure.sh && \ make -C build -j$(nproc) PREFIX=/opt/boolector && \ cd /root/boolector && \ mkdir /opt/boolector && \ mkdir /opt/boolector/bin && \ cp build/bin/boolector /opt/boolector/bin/ && \ cp build/bin/btor* /opt/boolector/bin/ && \ cp deps/btor2tools/bin/btorsim /opt/boolector/bin/