# this is a bit of a cheat, by relying on debian to pull in all the
# build dependencies. saves time researching how to get and list them
# by hand.
-apt-get update -y
+apt-get update -y
apt-get build-dep yosys -y
apt-get remove yosys -y
apt-get build-dep ghdl -y # this is sort-of what ghdl-install does, hmmm
+apt-get install -y default-jre-headless python3-pip curl
+python3 -m pip install toml
mkdir -p /home/$SUDO_USER/src
cd /home/$SUDO_USER/src
cd hdl_tools
git clone https://git.libre-soc.org/git/yosys.git
-git clone https://github.com/YosysHQ/SymbiYosys.git sby
+git clone https://git.libre-soc.org/git/SymbiYosys.git sby
git clone https://github.com/SRI-CSL/yices2.git
git clone https://github.com/Z3Prover/z3.git
# XXX see ghdl-install this is really best done with that
git clone https://github.com/ghdl/ghdl
git clone https://github.com/ghdl/ghdl-yosys-plugin
+# both of these need adding https://bugs.libre-soc.org/show_bug.cgi?id=883
+git clone https://github.com/bitwuzla/bitwuzla.git
+git clone -b cvc5-1.0.1 https://github.com/cvc5/cvc5.git cvc5
# yosys 0.13 has been found to be stable...
cd yosys
-git checkout yosys-0.13-with-write_jny
+git checkout smtlib2-expr-support-on-0.13
make config-clang
make -j$(nproc)
make install
make
make install
-# symbiyosys should be fine though
+# ... cvc5
+cd ../cvc5
+git rev-parse HEAD
+./configure.sh --poly --auto-download
+cd build
+make -j$(nproc)
+make install
-cd ../sby
+# ... bitwuzla
+cd ../../bitwuzla
+git checkout 19dd987a6e246990619751cca07996fac505fd0b
+./contrib/setup-cadical.sh
+./contrib/setup-btor2tools.sh
+./contrib/setup-symfpu.sh
+./configure.sh
+cd build
+make -j$(nproc)
+make install
+
+# symbiyosys should be fine though
+cd ../../sby
make install
cd ../yices2