kumquat-buildroot/package/gnuradio/Config.in

167 lines
4.7 KiB
Plaintext
Raw Normal View History

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
package/boost: boost-thread needs a toolchain without bug 64735 boost-thread needs std::current_exception since version 1.71.0 and https://github.com/boostorg/exception/commit/386f5507cb8ec99c03ca535bea4f8bd61e0de910 std::current_exception depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 as a result, gnuradio fails to build on: [ 12%] Building CXX object gnuradio-runtime/lib/pmt/CMakeFiles/gnuradio-pmt.dir/pmt_pool.cc.o In file included from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/detail/exception_ptr.hpp:15:0, from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception_ptr.hpp:9, from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread/exceptional_ptr.hpp:10, from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread/future.hpp:34, from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread.hpp:24, from /home/test/autobuild/run/instance-2/output-1/build/gnuradio-3.7.13.5/gnuradio-runtime/include/pmt/pmt_pool.h:27, from /home/test/autobuild/run/instance-2/output-1/build/gnuradio-3.7.13.5/gnuradio-runtime/lib/pmt/pmt.cc:31: /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/diagnostic_information.hpp: In function 'std::string boost::current_exception_diagnostic_information(bool)': /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/diagnostic_information.hpp:49:26: error: 'current_exception' is not a member of 'std' else if (auto* p=std::current_exception().__cxa_exception_type()) ^ So add this dependency on boost-thread, boost-log and gnuradio (the only reverse dependencies of boost-thread that does not already depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735) Finally, add this dependency on gqrx as it is a reverse dependency of gnuradio Fixes: - http://autobuild.buildroot.org/results/c384205cf50929c320d90b620f2390837721d9f9 - http://autobuild.buildroot.org/results/47440354b336b943b74b72fa303b079dc962bfd0 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-12-22 23:33:53 +01:00
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
package/boost: boost-thread needs a toolchain without bug 64735 boost-thread needs std::current_exception since version 1.71.0 and https://github.com/boostorg/exception/commit/386f5507cb8ec99c03ca535bea4f8bd61e0de910 std::current_exception depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 as a result, gnuradio fails to build on: [ 12%] Building CXX object gnuradio-runtime/lib/pmt/CMakeFiles/gnuradio-pmt.dir/pmt_pool.cc.o In file included from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/detail/exception_ptr.hpp:15:0, from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception_ptr.hpp:9, from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread/exceptional_ptr.hpp:10, from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread/future.hpp:34, from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread.hpp:24, from /home/test/autobuild/run/instance-2/output-1/build/gnuradio-3.7.13.5/gnuradio-runtime/include/pmt/pmt_pool.h:27, from /home/test/autobuild/run/instance-2/output-1/build/gnuradio-3.7.13.5/gnuradio-runtime/lib/pmt/pmt.cc:31: /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/diagnostic_information.hpp: In function 'std::string boost::current_exception_diagnostic_information(bool)': /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/diagnostic_information.hpp:49:26: error: 'current_exception' is not a member of 'std' else if (auto* p=std::current_exception().__cxa_exception_type()) ^ So add this dependency on boost-thread, boost-log and gnuradio (the only reverse dependencies of boost-thread that does not already depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735) Finally, add this dependency on gqrx as it is a reverse dependency of gnuradio Fixes: - http://autobuild.buildroot.org/results/c384205cf50929c320d90b620f2390837721d9f9 - http://autobuild.buildroot.org/results/47440354b336b943b74b72fa303b079dc962bfd0 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-12-22 23:33:53 +01:00
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