34cea39024
With gnuradio 3.10 boost/filesystem was replaced by std::filesystem. This feature was introduced with gcc 8 (requirering -lstdc++fs (with gcc 9 explicit -lstdc++fs is no more explicitely required)). With gcc < 8 build fails with error: In file included from /home/br-user/work/instance-0/output-1/host/aarch64_be-buildroot-linux-gnu/sysroot/usr/include/boost/dll/runtime_symbol_info.hpp:11:0, from /home/br-user/work/instance-0/output-1/build/gnuradio-3.10.4.0/buildroot-build/gnuradio-runtime/lib/constants.cc:16: /home/br-user/work/instance-0/output-1/host/aarch64_be-buildroot-linux-gnu/sysroot/usr/include/boost/dll/config.hpp:42:10: fatal error: filesystem: No such file or directory #include <filesystem> ^~~~~~~~~~~~ compilation terminated. Add a dependency to gcc >= 8. BR2_TOOLCHAIN_HAS_GCC_BUG_64735 only affects gcc <7, so we drop it. Adding this restriction on gcc >= 8 also covers the dependency for volk, which requires gcc >= 7, which was not propagated to gnuradio so far. Tested with bootlin toolchain 2020.02-2 (gcc 8.3.0) Fixes: - http://autobuild.buildroot.net/results/6a82605c58f9ef9eb6c14603777dd8523dd00aa5/ - http://autobuild.buildroot.net/results/c7c4ae76954e388ab639b39fd521d90acfe4edc9/ Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
167 lines
4.6 KiB
Plaintext
167 lines
4.6 KiB
Plaintext
comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 8"
|
|
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 || \
|
|
!BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
|
|
|
comment "gnuradio needs a toolchain not affected by GCC bug 43744"
|
|
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_43744
|
|
|
|
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_GCC_AT_LEAST_8
|
|
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744
|
|
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
|