kumquat-buildroot/package/gnuradio/Config.in
Gwenhael Goavec-Merou e37c110bea package/gnuradio: bump version to 3.10.4.0
- remove all no more required patches
- backport 2 patches to fix failures induces by missing headers
- add dependency to SPDLOG
- add pybind dependency where python is set

Note:
- Since gnuradio 3.10 swig was replaced by pybind. Now python libraries,
  bindings and python wrappers are produces using pybind: this
  why python-pybind is a buildtime dependency. As mentionned in [1], this one
  is a stagging only package: headers must be into staging directory, so it
  can't be host and at the same time since this package provides only headers
  and .cmake files nothing has to be installed into the target directory. A
  select is required because it's not an host package and
  GNURADIO_DEPENDENCIES is updated with python-pybind to have pybind present
  before gnuradio's build.
- host-python-numpy is now required since some cpp bindings uses numpy's
  functions directly. python-numpy (target package) is left required because
  python blocks and wrappers needs this library at runtime.

[1] http://lists.busybox.net/pipermail/buildroot/2022-October/653030.html

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-11-14 23:07:41 +01:00

167 lines
4.7 KiB
Plaintext

comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
comment "gnuradio needs a toolchain not affected by GCC bug 43744 and 64735"
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_43744
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
config BR2_PACKAGE_GNURADIO
bool "gnuradio"
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_MMU # use fork()
depends on BR2_USE_WCHAR # boost
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_DATE_TIME
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
select BR2_PACKAGE_BOOST_REGEX
select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD
select BR2_PACKAGE_LOG4CPP
select BR2_PACKAGE_GMP
select BR2_PACKAGE_SPDLOG
select BR2_PACKAGE_VOLK
help
GNU Radio is a free & open-source software development
toolkit that provides signal processing blocks to implement
software radios. It can be used with readily-available
low-cost external RF hardware to create software-defined
radios, or without hardware in a simulation-like
environment. It is widely used in hobbyist, academic and
commercial environments to support both wireless
communications research and real-world radio systems.
http://gnuradio.org/
if BR2_PACKAGE_GNURADIO
config BR2_PACKAGE_GNURADIO_AUDIO
bool "gr-audio"
select BR2_PACKAGE_ALSA_LIB if !BR2_PACKAGE_PORTAUDIO
help
Add audio source/sink to GNU Radio
config BR2_PACKAGE_GNURADIO_BLOCKS
bool "blocks support"
help
GNU Radio basic block library
config BR2_PACKAGE_GNURADIO_CTRLPORT
bool "ctrlport support"
help
GNU Radio ctrlport block
config BR2_PACKAGE_GNURADIO_DTV
bool "gr-dtv support"
select BR2_PACKAGE_GNURADIO_ANALOG
select BR2_PACKAGE_GNURADIO_FEC
select BR2_PACKAGE_GNURADIO_FILTER
help
various digital television standards blocks
config BR2_PACKAGE_GNURADIO_FEC
bool "gr-fec support"
select BR2_PACKAGE_GNURADIO_BLOCKS
select BR2_PACKAGE_GSL
help
FEC signal processing blocks
config BR2_PACKAGE_GNURADIO_PYTHON
bool "python support"
depends on BR2_PACKAGE_PYTHON3
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
select BR2_PACKAGE_BOOST_PYTHON
select BR2_PACKAGE_PYTHON_NUMPY # runtime
select BR2_PACKAGE_PYTHON_PYBIND
select BR2_PACKAGE_PYTHON_SIX # runtime
help
Enable python component
comment "python support needs glibc or musl"
depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
config BR2_PACKAGE_GNURADIO_UTILS
bool "gr-utils support"
depends on BR2_PACKAGE_GNURADIO_PYTHON
help
Misc python utilities
config BR2_PACKAGE_GNURADIO_ZEROMQ
bool "gr-zeromq support"
select BR2_PACKAGE_CPPZMQ
select BR2_PACKAGE_PYTHON_PYZMQ if BR2_PACKAGE_GNURADIO_PYTHON
help
zeromq communication support
config BR2_PACKAGE_GNURADIO_ANALOG
bool "gr-analog support"
select BR2_PACKAGE_GNURADIO_FILTER
help
Analog communications blocks
config BR2_PACKAGE_GNURADIO_CHANNELS
bool "gr-channels support"
select BR2_PACKAGE_GNURADIO_ANALOG
help
Channel model blocks
config BR2_PACKAGE_GNURADIO_DIGITAL
bool "gr-digital support"
select BR2_PACKAGE_GNURADIO_ANALOG
help
Digital communications blocks
config BR2_PACKAGE_GNURADIO_FFT
bool "gr-fft support"
select BR2_PACKAGE_FFTW
select BR2_PACKAGE_FFTW_SINGLE
select BR2_PACKAGE_GNURADIO_BLOCKS
help
FFT signal processing blocks
config BR2_PACKAGE_GNURADIO_FILTER
bool "gr-filter support"
select BR2_PACKAGE_GNURADIO_FFT
help
Filter signal processing blocks
config BR2_PACKAGE_GNURADIO_QTGUI
bool "gr-qtgui"
depends on BR2_PACKAGE_GNURADIO_PYTHON
depends on BR2_PACKAGE_QT5
select BR2_PACKAGE_GNURADIO_FFT
select BR2_PACKAGE_GNURADIO_FILTER
select BR2_PACKAGE_PYTHON_PYQT5
select BR2_PACKAGE_QT5BASE_FONTCONFIG # runtime
select BR2_PACKAGE_QT5BASE_GUI # runtime
select BR2_PACKAGE_QT5BASE_WIDGETS # runtime
select BR2_PACKAGE_QWT
help
GNU Radio Qt scopes
config BR2_PACKAGE_GNURADIO_TRELLIS
bool "gr-trellis support"
select BR2_PACKAGE_GNURADIO_DIGITAL
help
Trellis coded modulation blocks
config BR2_PACKAGE_GNURADIO_UHD
bool "gr-uhd support"
select BR2_PACKAGE_UHD
select BR2_PACKAGE_GNURADIO_ANALOG
select BR2_PACKAGE_GNURADIO_BLOCKS
select BR2_PACKAGE_GNURADIO_FILTER
help
UHD support
endif