2021-03-16 22:37:42 +08:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Install capnproto libraries
|
2021-03-25 18:52:39 +08:00
|
|
|
function build_capnp {
|
|
|
|
curl -O https://capnproto.org/capnproto-c++-0.8.0.tar.gz
|
|
|
|
tar zxf capnproto-c++-0.8.0.tar.gz
|
|
|
|
pushd capnproto-c++-0.8.0
|
|
|
|
./configure
|
|
|
|
make -j`nproc` check
|
|
|
|
sudo make install
|
|
|
|
popd
|
2021-03-16 22:37:42 +08:00
|
|
|
|
2021-03-25 18:52:39 +08:00
|
|
|
git clone https://github.com/capnproto/capnproto-java.git
|
|
|
|
pushd capnproto-java
|
|
|
|
make -j`nproc`
|
|
|
|
sudo make install
|
|
|
|
popd
|
|
|
|
}
|
2021-03-16 22:37:42 +08:00
|
|
|
|
2021-03-25 18:52:39 +08:00
|
|
|
# Install latest Yosys
|
|
|
|
function build_yosys {
|
2021-03-26 19:01:16 +08:00
|
|
|
DESTDIR=`pwd`/.yosys
|
2021-03-25 18:52:39 +08:00
|
|
|
pushd yosys
|
|
|
|
make -j`nproc`
|
2021-03-26 19:01:16 +08:00
|
|
|
sudo make install DESTDIR=$DESTDIR
|
2021-03-25 18:52:39 +08:00
|
|
|
popd
|
|
|
|
}
|
2021-03-16 22:37:42 +08:00
|
|
|
|
|
|
|
|
2021-03-25 18:52:39 +08:00
|
|
|
function get_dependencies {
|
|
|
|
# Install python-fpga-interchange libraries
|
|
|
|
git clone -b ${PYTHON_INTERCHANGE_TAG} https://github.com/SymbiFlow/python-fpga-interchange.git ${PYTHON_INTERCHANGE_PATH}
|
|
|
|
pushd ${PYTHON_INTERCHANGE_PATH}
|
|
|
|
git submodule update --init --recursive
|
|
|
|
python3 -m pip install -r requirements.txt
|
|
|
|
popd
|
2021-03-16 22:37:42 +08:00
|
|
|
|
2021-03-30 23:33:50 +08:00
|
|
|
if [ ${DEVICE} == "LIFCL-17" ]; then
|
2021-03-31 17:11:09 +08:00
|
|
|
# Install prjoxide
|
2021-03-30 23:33:50 +08:00
|
|
|
curl --proto '=https' -sSf https://sh.rustup.rs | sh -s -- -y
|
|
|
|
git clone --recursive https://github.com/gatecat/prjoxide.git
|
|
|
|
pushd prjoxide/libprjoxide
|
|
|
|
PATH=$PATH:$HOME/.cargo/bin cargo install --path prjoxide --all-features
|
|
|
|
popd
|
2021-03-31 17:11:09 +08:00
|
|
|
else
|
|
|
|
# Install RapidWright
|
|
|
|
git clone https://github.com/Xilinx/RapidWright.git ${RAPIDWRIGHT_PATH}
|
|
|
|
pushd ${RAPIDWRIGHT_PATH}
|
|
|
|
make update_jars
|
|
|
|
popd
|
2021-03-30 23:33:50 +08:00
|
|
|
fi
|
2021-03-25 18:52:39 +08:00
|
|
|
}
|
2021-03-16 22:37:42 +08:00
|
|
|
|
2021-03-25 18:52:39 +08:00
|
|
|
function build_nextpnr {
|
|
|
|
build_capnp
|
|
|
|
mkdir build
|
|
|
|
pushd build
|
2021-04-02 06:24:38 +08:00
|
|
|
cmake .. -DARCH=fpga_interchange -DRAPIDWRIGHT_PATH=${RAPIDWRIGHT_PATH} -DPYTHON_INTERCHANGE_PATH=${PYTHON_INTERCHANGE_PATH}
|
2021-03-25 18:52:39 +08:00
|
|
|
make nextpnr-fpga_interchange -j`nproc`
|
|
|
|
popd
|
|
|
|
}
|