-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathsetup-symbiyosys
executable file
·80 lines (67 loc) · 1.42 KB
/
setup-symbiyosys
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
set -e
WORKDIR=symbiyosys
if [[ -e $WORKDIR/checksum ]] && md5sum --status --check $WORKDIR/checksum; then
echo "$WORKDIR up to date"
exit 0
else
echo "Rebuilding $WORKDIR"
rm -rf $WORKDIR
fi
# From:
# https://symbiyosys.readthedocs.io/en/latest/quickstart.html#installing
mkdir $WORKDIR
pushd $WORKDIR
mkdir install
PREFIX=$(readlink -f install)
# Install yosys
git clone https://github.com/YosysHQ/yosys.git yosys
pushd yosys
git checkout d8c5d681
make PREFIX=$PREFIX -j$(nproc)
make PREFIX=$PREFIX install
popd
rm -rf yosys
# Install SymbiYosys
git clone https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
pushd SymbiYosys
git checkout f5f1d993
make PREFIX=$PREFIX install
popd
rm -rf SymbiYosys
# Install yices2
git clone https://github.com/SRI-CSL/yices2.git yices2
pushd yices2
git checkout Yices-2.6.2
autoconf
./configure --prefix=$PREFIX
make -j$(nproc)
make install
popd
rm -rf yices2
# Install z3
git clone https://github.com/Z3Prover/z3.git z3
pushd z3
git checkout z3-4.8.8
CXX=clang++ CC=clang python scripts/mk_make.py --prefix=$PREFIX
pushd build
make -j$(nproc)
make install
popd
popd
rm -rf z3
# Install boolector
git clone https://github.com/boolector/boolector
pushd boolector
./contrib/setup-lingeling.sh
./contrib/setup-btor2tools.sh
./configure.sh --prefix $PREFIX
pushd build
make -j$(nproc)
make install
popd
popd
rm -rf boolector
popd
# Update checksum
md5sum $BASH_SOURCE > $WORKDIR/checksum