112 lines
2.8 KiB
Bash
Executable File
112 lines
2.8 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
set -eux
|
|
|
|
echo "Beginning project setup for SDRPlay interface." > build.log
|
|
date >> build.log
|
|
mkdir -p dependencies && pushd dependencies
|
|
|
|
# Install build dependencies
|
|
# Debian:
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
git build-essential automake cmake \
|
|
libpulse-dev libgtk-3-dev \
|
|
freeglut3 freeglut3-dev
|
|
# RedHat:
|
|
#sudo dnf install pulseaudio-libs-devel gtk3-devel freeglut-devel
|
|
|
|
|
|
# These are necessary for building the python bindings for SoapySDR.
|
|
# These must be installed before building SoapySDR for the python
|
|
# bindings to be available on the system.
|
|
sudo apt-get install -y python-dev swig
|
|
|
|
|
|
# Build SoapySDR
|
|
if ! [ -d SoapySDR ]; then
|
|
git clone https://github.com/pothosware/SoapySDR.git
|
|
pushd SoapySDR
|
|
mkdir build
|
|
pushd build
|
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
|
make -j
|
|
sudo make install
|
|
sudo ldconfig
|
|
SoapySDRUtil --info #test SoapySDR install
|
|
popd
|
|
popd
|
|
fi
|
|
|
|
# Build SoapySDRPlay plugin
|
|
if ! [ -d SoapySDRPlay ]; then
|
|
git clone https://github.com/pothosware/SoapySDRPlay.git
|
|
pushd SoapySDRPlay
|
|
mkdir build
|
|
pushd build
|
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
|
make
|
|
sudo make install
|
|
sudo ldconfig
|
|
SoapySDRUtil --info
|
|
popd
|
|
popd
|
|
fi
|
|
|
|
# SoapySDRPlay plugin can overwrite some of the installed files for SoapySDR with older
|
|
# versions - re-run the installer for SoapySDR base to ensure we have the latest ones.
|
|
pushd SoapySDR/build
|
|
sudo make install
|
|
popd
|
|
|
|
# Build liquid-dsp
|
|
if ! [ -d liquid-dsp ]; then
|
|
git clone https://github.com/jgaeddert/liquid-dsp
|
|
pushd liquid-dsp
|
|
./bootstrap.sh
|
|
CFLAGS="-march=native -O3" ./configure --enable-fftoverride
|
|
make -j
|
|
sudo make install
|
|
sudo ldconfig
|
|
popd
|
|
fi
|
|
|
|
popd #dependencies
|
|
echo "Setup completed." >> build.log
|
|
date >> build.log
|
|
exit 0
|
|
|
|
|
|
########################### DONT NEED THIS STUFF ###################################
|
|
## Build wxWidgets
|
|
#if ! [ -d wxWidgets-3.2.1 ]; then
|
|
#wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.1/wxWidgets-3.2.1.tar.bz2
|
|
#tar -xvjf wxWidgets-3.2.1.tar.bz2
|
|
#rm wxWidgets-3.2.1.tar.bz2
|
|
#pushd wxWidgets-3.2.1
|
|
# ./autogen.sh
|
|
# ./configure \
|
|
# --with-opengl --disable-glcanvasegl --disable-shared --enable-monolithic \
|
|
# --with-libjpeg --with-libtiff --with-libpng --with-zlib --disable-sdltest \
|
|
# --enable-unicode --enable-display --enable-propgrid --disable-webview \
|
|
# --disable-webviewwebkit CXXFLAGS="-std=c++0x"
|
|
#
|
|
# make -j
|
|
# sudo make install
|
|
#popd
|
|
#fi
|
|
#
|
|
## Build CubicSDR
|
|
#if ! [ -d CubicSDR ]; then
|
|
#git clone https://github.com/cjcliffe/CubicSDR.git
|
|
#pushd CubicSDR
|
|
# mkdir build
|
|
# pushd build
|
|
# cmake ../ -DCMAKE_BUILD_TYPE=Release \
|
|
# -DwxWidgets_CONFIG_EXECUTABLE=/usr/local/bin/wx-config
|
|
# make -j
|
|
# sudo make install
|
|
# popd
|
|
#popd
|
|
#fi
|