sdrplay-fm-radio/build_dependencies

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