1################################################################################ 2# 3# gnuradio 4# 5################################################################################ 6 7GNURADIO_VERSION = 3.8.2.0 8GNURADIO_SITE = https://github.com/gnuradio/gnuradio/releases/download/v$(GNURADIO_VERSION) 9GNURADIO_LICENSE = GPL-3.0+ 10GNURADIO_LICENSE_FILES = COPYING 11 12GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO 13 14# needed to determine site-packages path 15ifeq ($(BR2_PACKAGE_PYTHON),y) 16GNURADIO_PYVER = $(PYTHON_VERSION_MAJOR) 17else ifeq ($(BR2_PACKAGE_PYTHON3),y) 18GNURADIO_PYVER = $(PYTHON3_VERSION_MAJOR) 19endif 20 21# host-python-mako and host-python-six are needed for volk to compile 22GNURADIO_DEPENDENCIES = \ 23 $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \ 24 host-python-mako \ 25 host-python-six \ 26 host-swig \ 27 boost \ 28 log4cpp \ 29 gmp 30 31GNURADIO_CONF_OPTS = \ 32 -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \ 33 -DENABLE_DEFAULT=OFF \ 34 -DENABLE_VOLK=ON \ 35 -DENABLE_GNURADIO_RUNTIME=ON \ 36 -DENABLE_TESTING=OFF \ 37 -DXMLTO_EXECUTABLE=NOTFOUND 38 39# For third-party blocks, the gnuradio libraries are mandatory at 40# compile time. 41GNURADIO_INSTALL_STAGING = YES 42 43ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) 44GNURADIO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic 45endif 46 47ifeq ($(BR2_PACKAGE_ORC),y) 48GNURADIO_DEPENDENCIES += orc 49GNURADIO_CONF_OPTS += -DENABLE_ORC=ON 50else 51GNURADIO_CONF_OPTS += -DENABLE_ORC=OFF 52endif 53 54ifeq ($(BR2_PACKAGE_GNURADIO_ANALOG),y) 55GNURADIO_CONF_OPTS += -DENABLE_GR_ANALOG=ON 56else 57GNURADIO_CONF_OPTS += -DENABLE_GR_ANALOG=OFF 58endif 59 60ifeq ($(BR2_PACKAGE_GNURADIO_AUDIO),y) 61ifeq ($(BR2_PACKAGE_ALSA_LIB),y) 62GNURADIO_DEPENDENCIES += alsa-lib 63endif 64ifeq ($(BR2_PACKAGE_PORTAUDIO),y) 65GNURADIO_DEPENDENCIES += portaudio 66endif 67GNURADIO_CONF_OPTS += -DENABLE_GR_AUDIO=ON 68else 69GNURADIO_CONF_OPTS += -DENABLE_GR_AUDIO=OFF 70endif 71 72ifeq ($(BR2_PACKAGE_GNURADIO_BLOCKS),y) 73GNURADIO_CONF_OPTS += -DENABLE_GR_BLOCKS=ON 74else 75GNURADIO_CONF_OPTS += -DENABLE_GR_BLOCKS=OFF 76endif 77 78ifeq ($(BR2_PACKAGE_GNURADIO_CHANNELS),y) 79GNURADIO_CONF_OPTS += -DENABLE_GR_CHANNELS=ON 80else 81GNURADIO_CONF_OPTS += -DENABLE_GR_CHANNELS=OFF 82endif 83 84ifeq ($(BR2_PACKAGE_GNURADIO_CTRLPORT),y) 85GNURADIO_CONF_OPTS += -DENABLE_GR_CTRLPORT=ON 86else 87GNURADIO_CONF_OPTS += -DENABLE_GR_CTRLPORT=OFF 88endif 89 90ifeq ($(BR2_PACKAGE_GNURADIO_DIGITAL),y) 91GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=ON 92else 93GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=OFF 94endif 95 96ifeq ($(BR2_PACKAGE_GNURADIO_DTV),y) 97GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=ON 98else 99GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=OFF 100endif 101 102ifeq ($(BR2_PACKAGE_GNURADIO_FEC),y) 103GNURADIO_DEPENDENCIES += gsl 104GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=ON 105else 106GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=OFF 107endif 108 109ifeq ($(BR2_PACKAGE_GNURADIO_FFT),y) 110GNURADIO_DEPENDENCIES += fftw-single 111GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=ON 112else 113GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=OFF 114endif 115 116ifeq ($(BR2_PACKAGE_GNURADIO_FILTER),y) 117GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=ON 118else 119GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF 120endif 121 122ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y) 123GNURADIO_DEPENDENCIES += python3 124GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON 125# mandatory to install python modules in site-packages and to use 126# correct path for python libraries 127GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \ 128 -DGR_PYTHON_DIR=lib/python$(GNURADIO_PYVER)/site-packages 129else 130GNURADIO_CONF_OPTS += -DENABLE_PYTHON=OFF 131endif 132 133ifeq ($(BR2_PACKAGE_GNURADIO_QTGUI),y) 134GNURADIO_DEPENDENCIES += qt5base python-pyqt5 qwt 135GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=ON 136else 137GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=OFF 138endif 139 140ifeq ($(BR2_PACKAGE_GNURADIO_TRELLIS),y) 141GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=ON 142else 143GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=OFF 144endif 145 146ifeq ($(BR2_PACKAGE_GNURADIO_UHD),y) 147GNURADIO_DEPENDENCIES += uhd 148GNURADIO_CONF_OPTS += -DENABLE_GR_UHD=ON 149else 150GNURADIO_CONF_OPTS += -DENABLE_GR_UHD=OFF 151endif 152 153ifeq ($(BR2_PACKAGE_GNURADIO_UTILS),y) 154GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=ON 155else 156GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=OFF 157endif 158 159ifeq ($(BR2_PACKAGE_GNURADIO_ZEROMQ),y) 160GNURADIO_DEPENDENCIES += cppzmq 161ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y) 162GNURADIO_DEPENDENCIES += python-pyzmq 163endif 164GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=ON 165else 166GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=OFF 167endif 168 169$(eval $(cmake-package)) 170