123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- ################################################################################
- #
- # gnuradio
- #
- ################################################################################
- GNURADIO_VERSION = 3.10.7.0
- GNURADIO_SITE = $(call github,gnuradio,gnuradio,v$(GNURADIO_VERSION))
- GNURADIO_LICENSE = GPL-3.0+
- GNURADIO_LICENSE_FILES = COPYING
- GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO
- GNURADIO_DEPENDENCIES = \
- host-python3 \
- boost \
- log4cpp \
- gmp \
- spdlog \
- volk
- GNURADIO_CONF_OPTS = \
- -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 \
- -DENABLE_DEFAULT=OFF \
- -DENABLE_EXAMPLES=OFF \
- -DENABLE_GNURADIO_RUNTIME=ON \
- -DENABLE_TESTING=OFF \
- -DXMLTO_EXECUTABLE=NOTFOUND
- # For third-party blocks, the gnuradio libraries are mandatory at
- # compile time.
- GNURADIO_INSTALL_STAGING = YES
- ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
- GNURADIO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_ANALOG),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_ANALOG=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_ANALOG=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_AUDIO),y)
- ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
- GNURADIO_DEPENDENCIES += alsa-lib
- endif
- ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
- GNURADIO_DEPENDENCIES += portaudio
- endif
- GNURADIO_CONF_OPTS += -DENABLE_GR_AUDIO=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_AUDIO=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_BLOCKS),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_BLOCKS=ON
- ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
- GNURADIO_DEPENDENCIES += libsndfile
- endif
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_BLOCKS=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_CHANNELS),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_CHANNELS=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_CHANNELS=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_CTRLPORT),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_CTRLPORT=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_CTRLPORT=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_DIGITAL),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_DTV),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_FEC),y)
- GNURADIO_DEPENDENCIES += gsl
- GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_FFT),y)
- GNURADIO_DEPENDENCIES += fftw-single
- GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_FILTER),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_NETWORK),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_NETWORK=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_NETWORK=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
- GNURADIO_DEPENDENCIES += python3 python-pybind \
- host-python-numpy host-python-packaging
- GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
- # mandatory to avoid pybind11 to overwrite variables provided
- # by gnuradio and buildroot
- GNURADIO_CONF_OPTS += -DPYBIND11_PYTHONLIBS_OVERWRITE=OFF
- # mandatory to avoid pybind11 to force libraries extensions
- # with a name based on host architecture
- GNURADIO_CONF_ENV += _PYTHON_SYSCONFIGDATA_NAME="$(PKG_PYTHON_SYSCONFIGDATA_NAME)" \
- PYTHONPATH=$(PYTHON3_PATH)
- # mandatory to install python modules in site-packages and to use
- # correct path for python libraries
- GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \
- -DGR_PYTHON_DIR=lib/python$(PYTHON3_VERSION_MAJOR)/site-packages
- else
- GNURADIO_CONF_OPTS += -DENABLE_PYTHON=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_QTGUI),y)
- GNURADIO_DEPENDENCIES += qt5base python-pyqt5 qwt
- GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_TRELLIS),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_UHD),y)
- GNURADIO_DEPENDENCIES += uhd
- GNURADIO_CONF_OPTS += -DENABLE_GR_UHD=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_UHD=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_UTILS),y)
- GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=OFF
- endif
- ifeq ($(BR2_PACKAGE_GNURADIO_ZEROMQ),y)
- GNURADIO_DEPENDENCIES += cppzmq
- ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
- GNURADIO_DEPENDENCIES += python-pyzmq
- endif
- GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=ON
- else
- GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=OFF
- endif
- $(eval $(cmake-package))
|