-
Notifications
You must be signed in to change notification settings - Fork 0
/
configure_env.sh
220 lines (195 loc) · 4.43 KB
/
configure_env.sh
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
#!/bin/sh
sudo apt-get install -y emacs terminator gcc gdb valgrind tree bison flex qemu iverilog \
git graphviz xdot gtkwave python3-venv python3 \
python3-dev cmake make libboost-python-dev libboost-filesystem-dev \
libboost-thread-dev libboost-program-options-dev tcl tcl-dev clang clang-format libreadline-dev \
libboost-iostreams-dev libqt5opengl5-dev libeigen3-dev libudev-dev libboost-all-dev \
libftdi1 libftdi1-dev python3-pip autoconf gperf tk-dev tk8.5-dev apt-file \
swig python3-tk libgsl-dev libcurl4-openssl-dev libssl-dev openssl libx11-dev \
libcairo2-dev libxaw7-dev libtcl8.6 ccache libgoogle-perftools-dev numactl perl-doc \
asciidoctor lcov libpod-latex-perl texlive-fonts-recommended libglib2.0-dev libfdt-dev \
libpixman-1-dev zlib1g-dev git-email libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev \
libcap-dev libcap-ng-dev libgtk-3-dev libibverbs-dev \
libncurses5-dev libnuma-dev librbd-dev librdmacm-dev libsasl2-dev libsdl1.2-dev \
libseccomp-dev libsnappy-dev libssh2-1-dev libvde-dev libvdeplug-dev \
libxen-dev liblzo2-dev xfslibs-dev libjpeg62-turbo-dev autoconf automake \
autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential \
texinfo libtool patchutils bc zlib1g-dev libexpat-dev
# csh tcsh shc rc zsh ksh ash libjpeg8-dev libcurl4-gnutls-dev
cpan install -y Pod::Perldoc
cpan install -y Parallel::Forker
cd ~/
mkdir .toolchain
cd .toolchain
mkdir python
cd python
wget https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz
tar -xf Python-3.9.4.tar.xz
cd Python-3.9.4
./configure
make
make test
sudo make install
cd ../..
git clone https://github.com/Kitware/CMake
cd CMake
git pull
./bootstrap
make -j8
sudo make install
sudo rm /usr/bin/cmake
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
cd ..
git clone --recursive https://github.com/Symbiflow/prjtrellis
git pull
cd prjtrellis/libtrellis
cmake -DCMAKE_INSTALL_PREFIX=/usr .
make -j8
sudo make install
cd ../..
git clone https://github.com/steveicarus/iverilog
git pull
cd iverilog
sh autoconf.sh
./configure
make -j8
make check
sudo make install
cd ..
git clone https://github.com/verilator/verilator
cd verilator
git pull
export VERILATOR_ROOT=`pwd`
export PATH=$VERILATOR_ROOT/bin:$PATH
autoconf
./configure
make -j8
sudo make install
cd ..
git clone https://github.com/YosysHQ/yosys
cd yosys
git pull
make -j8
sudo make install
make test
cd ..
git clone https://github.com/YosysHQ/nextpnr
cd nextpnr
git pull
cmake -DARCH=ecp5 -DTRELLIS_INSTALL_PREFIX=/usr .
make -j8
sudo make install
cd ..
git clone https://github.com/trabucayre/openFPGALoader
cd openFPGALoader
git pull
mkdir build
cd build
cmake ../
make -j8
sudo make install
cd ../..
git clone https://github.com/rubund/graywolf
cd graywolf
git pull
mkdir build
cd build
cmake ..
make -j8
make test
sudo make install
cd ../..
git clone https://github.com/RTimothyEdwards/qrouter/
cd qrouter
git pull
./configure
make -j8
sudo make install
cd ..
git clone https://github.com/The-OpenROAD-Project/OpenSTA
cd OpenSTA
git pull
mkdir build
cd build
cmake ..
make -j8
sudo make install
cd ../..
git clone https://github.com/RTimothyEdwards/netgen
cd netgen
git pull
./configure
make -j8
sudo make install
cd ..
git clone https://github.com/RTimothyEdwards/magic
cd magic
git pull
./configure
make -j8
sudo make install
cd ..
git clone https://github.com/RTimothyEdwards/qflow
cd qflow
git pull
./configure
make -j8
sudo make install
cd ..
git clone git://opencircuitdesign.com/open_pdks
cd open_pdks
git pull
./configure --enable-sky130-pdk
make -j8
sudo make install
cd ..
git clone git://opencircuitdesign.com/xcircuit
cd xcircuit
git pull
./configure
make -j8
sudo make install
cd ..
git clone git://opencircuitdesign.com/irsim
cd irsim
git pull
./configure
make -j8
sudo make install
cd ..
git clone git://opencircuitdesign.com/pcb
cd pcb
git pull
./configure
make -j8
sudo make install
cd ..
git clone https://github.com/ninja-build/ninja
cd ninja
cmake -Bbuild-cmake -H.
cmake --build build-cmake
cd build-cmake
sudo ln ninja /usr/bin/ninja
cd ../..
git clone https://github.com/qemu/qemu
cd qemu
git submodule init
git submodule update --recursive
mkdir build
cd build
../configure
make -j8
sudo make install
cd ../..
git clone https://github.com/riscv/riscv-gnu-toolchain
cd riscv-gnu-toolchain
git submodule update --init --recursive
mkdir build
cd build/
../configure --prefix=/home/$USER/prog/gcc_riscv --with-arch=rv32gc --with-abi=ilp32d
make -j8
make
cd bin
sudo cp * /usr/bin/
cd ../../..
cd ~/