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/
|