#!/bin/bash
+# Relies on install-hdl-apt-reqs being run first
+# which has already added buster-backports (and pinned libcurl3-gnutls, sigh)
+
if [ "$EUID" -ne 0 ]
then echo "Please run as root using 'sudo bash'"
exit
fi
-#!!! buster backports is needed for cmake
-cat << EOF > /etc/apt/sources.list.d/buster_backports.list
-deb http://deb.debian.org/debian buster-backports main
-EOF
-
-# oooo annoying, pin preferences for buster-backports
-cat << EOF > /etc/apt/preferences.d/99buster-backports
-Package: *
-Pin: release a=buster-backports
-Pin-Priority: 900
-EOF
-
-# upgrade to buster-backports
-apt-get update -y
-apt-get upgrade -y
-
# change into $SUDO_USER home directory
cd /home/$SUDO_USER
mkdir -p src/symbiflow
cd src/symbiflow
-apt-get install -y libcurl3-gnutls/buster git/buster wget
+apt-get install -y libcurl3-gnutls/buster git/buster git-man/buster wget
git clone https://github.com/steveicarus/iverilog.git
git clone https://github.com/YosysHQ/yosys.git
git clone https://github.com/YosysHQ/abc.git
git clone https://github.com/oneapi-src/oneTBB.git
git clone https://github.com/verilog-to-routing/vtr-verilog-to-routing.git
-git clone https://github.com/cliffordwolf/icestorm.git
+git clone https://github.com/YosysHQ/icestorm.git
git clone https://github.com/SymbiFlow/prjxray.git
git clone https://github.com/SymbiFlow/prjxray-db.git
git clone https://github.com/SymbiFlow/yosys-symbiflow-plugins.git
git clone https://github.com/capnproto/capnproto.git
git clone https://github.com/capnproto/pycapnp.git
+# debian/10 libxml2 has an integer overflow error. blech.
wget http://xmlsoft.org/sources/libxml2-2.9.12.tar.gz
wget http://xmlsoft.org/sources/libxslt-1.1.34.tar.gz
### Necessary software to install
-apt-get install -y cmake
+apt-get -t buster-backports install -y cmake # symbiflow-arch-defs needs newer cmake
apt-get install -y python3 clang libreadline-dev gawk tcl-dev \
libffi-dev pkg-config libboost-system-dev libboost-python-dev \
libboost-filesystem-dev zlib1g-dev
# TBB_VTR=3 --- Build TBB and build one vtr without TBB and another with TBB
# Choose vtr with TBB as default
-export TBB_VTR=3
+export TBB_VTR=0
## Steps to compile oneTBB
if [ $TBB_VTR != 1 ]; then
cd vtr-verilog-to-routing
-git checkout 77a3df829fdf509a76b9d7b941376f3835c2576a
+git checkout d15ed677472e5cc30e6b79717196ac61150652aa
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/symbiflow/vtr ..
make -j $(nproc)
make install
install -v -d -m 0755 /usr/local/symbiflow/share/vtr
-install -v -m 0644 ../libs/libvtrcapnproto/gen/rr_graph_uxsdcxx.capnp /usr/local/symbiflow/share/vtr
+install -v -m 0644 ../libs/libvtrcapnproto/gen/rr_graph_uxsdcxx.capnp \
+ /usr/local/symbiflow/share/vtr
[ $TBB_VTR == 0 ] || [ $TBB_VTR == 2 ] && \
export PATH=/usr/local/symbiflow/vtr/bin:$PATH
cd ../..
if [ $TBB_VTR != 0 ]; then
cd vtr-verilog-to-routing
-git checkout 77a3df829fdf509a76b9d7b941376f3835c2576a
+git checkout d15ed677472e5cc30e6b79717196ac61150652aa
mkdir build-tbb; cd build-tbb
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/symbiflow/vtr-tbb \
-DTBB_INCLUDE_DIR=/usr/local/symbiflow/oneTBB/include \
python3-typing-extensions python3-ply
pip3 install textx fasm pyjson5 pyyaml tinyfpgab tinyprog pyjson lxml \
- progressbar2 hilbertcurve==1.0.5 python-constraint parameterized \
- yapf==0.26.0 python-sat
+ python-utils==3.4.5 progressbar2 hilbertcurve==1.0.5 python-constraint \
+ parameterized yapf==0.26.0 python-sat
cd symbiflow-arch-defs
git checkout c2c0f00960baf538eb31e4c42bf5d09dca87bad7