pkgsrc/ham/gnuradio-core/Makefile.common

148 lines
4.8 KiB
Text
Raw Normal View History

# $NetBSD: Makefile.common,v 1.19 2019/09/02 13:19:57 adam Exp $
# This Makefile fragment is included in the package Makefiles for
# GNU Radio distributed packages (they all share common configure and build
# settings).
# used by ham/gnuradio-atsc/Makefile
# used by ham/gnuradio-channels/Makefile
# used by ham/gnuradio-companion/Makefile
# used by ham/gnuradio-core/Makefile
# used by ham/gnuradio-ctrlport/Makefile
# used by ham/gnuradio-digital/Makefile
# used by ham/gnuradio-doxygen/Makefile
# used by ham/gnuradio-dtv/Makefile
# used by ham/gnuradio-fcd/Makefile
# used by ham/gnuradio-fec/Makefile
# used by ham/gnuradio-fcd/Makefile
# used by ham/gnuradio-noaa/Makefile
# used by ham/gnuradio-pager/Makefile
# used by ham/gnuradio-qtgui/Makefile
# used by ham/gnuradio-trellis/Makefile
# used by ham/gnuradio-uhd/Makefile
# used by ham/gnuradio-utils/Makefile
# used by ham/gnuradio-video-sdl/Makefile
# used by ham/gnuradio-vocoder/Makefile
# used by ham/gnuradio-wavelet/Makefile
# used by ham/gnuradio-wxgui/Makefile
# used by ham/gnuradio-zeromq/Makefile
.include "../../ham/gnuradio-core/Makefile.version"
DISTNAME?= gnuradio-${VERSION}
CATEGORIES+= ham
MASTER_SITES= http://s3-dist.gnuradio.org/
MASTER_SITES= http://gnuradio.org/releases/gnuradio/
MAINTAINER?= pkgsrc-users@NetBSD.org
HOMEPAGE?= http://www.gnu.org/software/gnuradio/
LICENSE= gnu-gpl-v3
USE_LANGUAGES= c c++
USE_TOOLS= perl gmake cmake pkg-config
USE_CMAKE= yes
DEPENDS+= ${PYPKGPREFIX}-cheetah-[0-9]*:../../devel/py-cheetah
Update ham/gnuradio-* from 3.7.11 to 3.7.13.3 ## [3.7.13.3] - 2018-06-13 ### Fixed #### Project Scope - For non-C++11 compilers, the new cstdint include doesn't work out; conditionalized it. ## [3.7.13.2] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt to 3.7.13.2; the 3.7.13.1 tag was tagged off-branch; maintainer failure to simultaneously push a commit that raises the internal version number to 3.7.14.0: this had to be reverted ASAP. ## [3.7.13.1] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt ## [3.7.13.0] - 2018-05-31 ### Fixed #### Project Scope - `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her - CMake: using regex to match compiler against "Clang" now enables correct build on OS X #### GRC - Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps #### gr-blocks - `float_array_to_int`: int32 limits were wrongly hardcoded. - Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case ## [3.7.12.0] - 2018-04-01 ### Software Engineering - Changed Changelog format - Introducing Semantic Versioning - Change of development model: Rather than merging bugfixes to maint, merging maint to master, and next, if applicable, we'll be moving forward more in a typical management model: Development happens on master, and bugfixes are cherrypicked onto the maint-${RELEASE} branch. More info: http://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html - First attempt at having a .clang-format file to improve code contribution style quality. This is Work In Progress. ### Fixed #### Project Scope - Buildability on systems where custom CMake command would try to find "" (empty string) as executable - Buildable with C++11 compilers (though deprecation warning-rich, due to `unique_ptr`) - several previously improperly handled include directories now actually included in individual lib/CMakeLists - Unit test/QA now parallelizable - Logger works with log4cpp <= 1.1.2 both in and out of tree - Python linkage under MinGW64 - Documentation Directory now uniformly "docs/" (instead of sometimes "doc/") - `log` vs `logf` performance bugs - on-time `pmt::mp("string")` calls (instead of cached PMTs) performance bug - Doxygen build now reproducible #### GRC - Dialogs' parent windows - Embedded Python Blocks now work in hierarchical GRC flow graphs #### gnuradio-runtime - `random.h`: Uniform integer Generation depended on Boost version > min version - `random.h`: time-dependency when seeding with `0` replaced with actual standard seed - block startup now synchronized via barrier - New tag propagation policy "custom" for own implementation - `get_tags_in_range` used `v.resize(0)` to clear vectors, which lead to unnecessary memory reallocations - `logger_ptr` now always a pointer, no matter whether logging is enabled; fixes heap corruption bug - `buffer[_reader]_sptr` superfluous grab/release performance bug - BSD threading and shared mem compatibility - PMT: `equal()` comparison #### gr-utils - Sorted files in `gr_modtool` makexml processing, leading to improved reproducibility of builds #### gr-audio - OS X: memcpy bug - OS X: debug mode - Non-Linux ALSA compatibibilty #### gr-analog - `fmdet_cf` now has GRC file - `fastnoise_source`: non-threadsafe `libc` `rand()` replaced by XOROSHIRO128+ #### gr-blocks - `simple_copy` Ctrlport example - Metadata sink/source not closing file on `close()` - `multiply_matrix` formerly used "magic int" value where its API expected enum (and that int wasn't covered) - TCP connection ASIO bug - `tags_strobe`: superfluous tags addition - `vector_sink`: multithreading hazards on `data` access - `tuntap_pdu`: MTU-sized IP packet reception - `socket_pdu`: Garbage Collect closed TCP connections #### gr-channels - IQ imbalance block formula now mathematically correct now mathematically correct - `selective_fading_model`: proper scaling of path length #### gr-digital - `additive_scrambler_bb`: tag triggered reset - `stream_to_tagged_stream`: tag offset after `unlock()` - `blks2/packet.py`: Flushing for small packets - `interpolating_resampler`: GCC 4.0 compile error - `constellation`: 16QAM demapper was wrong for one constellation point - `chunks_to_symbols`: mutex-guard LUT against modification during use - MSVC compatibility throug `and` -> `&&` etc - `crc32_bb`: handle unpacked bytes correctly - `ofdm_carrier_allocator`: catching wrong allocations instead of crashing #### gr-dtv - All examples now are installed - DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode #### gr-fcd - Building on non-Linux systems - Extended symbol bug in Reed-Solomon encoder - DVB-T Cell identifier #### gr-fcd - Building on non-Linux systems #### gr-fec - `channel_construction.py`: return int frozen bit output - `GSL_LDFLAGS` propagation - `polar_decoder` used to be flaky #### gr-fft - locking of fftw wisdom - `window.cc`: removed NaN due to FP math - compilation under MinGW - `logpwrfft.py` reference scaling integer division bug #### gr-filter - Simpson's rule code removed in favor of GSL call #### gr-qtgui - Time sink: Segfault with tag trigger #### gr-uhd - Antenna selection in UHD apps - `uhd_fft` scalar gain-capability - Device selection for multi-device operations in UHD apps - TX streamer creation #### gr-zeromq - Multi-part messages reception ### Added #### Project Scope - Ninja (https://ninja-build.org) now a supported build system #### gnuradio-runtime - Python can now get `gr.WORK_CALLED_PRODUCE` and `gr.DONE` #### gr-utils - `gr_modtool`: Autocompletion, line editing - `gr_modtool`: `copyrightholder` option #### GRC - "Create Duplicate" - "Save a copy" - BokehGUI #### gr-blocks - New `tag_share` block: take tags from one two input streams to one output stream - `tag_gate`: tag filtering - `file_source`: configurable `file_begin` stream tag - `moving_average`: Vector mode (with element-wise MA) - `plateau_detector`: threshold get/set #### gr-digital - `costas_loop_cc`: Optional loop variable outputs - New `correlate_access_code_tag` block - `glfsr` exposed through Python #### gr-dtv - 256QAM mode for ITU-T J.83B transmitter #### gr-fec - negative Polynomials in `cc_encoder` #### gr-filter - `symbol_sync_{cc|ff}` #### gr-uhd - `uhd_app.py`: selectable time/clock sources - make `recv()` call's timeout parameterizable - message-based RX tuning through sink, TX through source ### Changed #### Project Scope - VOLK version requirement: 1.4.0 - Minimal required SWIG version now 2.0.4 - GSL optional dependency - Threw out completely unused `gr_??int` types - Doxygen build no longer contains timestamps - Doxygen build now reproducible - Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs #### gnuradio-runtime - Python gateway allows variable number of ports #### gr-utils - `gr_modtool`: Block template now uses `numpy.float32` instead of float. 32bit float is actually the default GNU Radio type.e. #### gr-blocks - `vector_sink` can preallocate memory for desired amount of items #### gr-digital - `header_format_default` now sps>1-capable - `correlate_acces_code` uses `GR_LOG` #### gr-uhd - `uhd_fft`: respect `lo_offset` in `set_bandwidth` - `usrp_source`: freq tag now actually reflects last set frequency, even on multiple channels #### gr-qtgui - Labels: now with 98.121212388% improved floating point formatting - Time Sink: Stem plot option exposed ### Deprecated #### gnuradio-runtime - `gr::sys_pri`
2018-07-16 09:55:22 +02:00
DEPENDS+= ${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako
DEPENDS+= ${PYPKGPREFIX}-six-[0-9]*:../../lang/py-six
# gr_filter_design in gnuradio-core ask for:
DEPENDS+= ${PYPKGPREFIX}-qwt-qt4-[0-9]*:../../x11/py-qwt-qt4
DISTINFO_FILE= ${.CURDIR}/../../ham/gnuradio-core/distinfo
PATCHDIR= ${.CURDIR}/../../ham/gnuradio-core/patches
PYTHON_VERSIONS_ACCEPTED= 27 # not yet ported as of 3.3.0
PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
PLIST_SUBST+= PYSITELIB=${PYSITELIB}
PY_PATCHPLIST= yes
CONFIGURE_DIRS= build
EGDIR= share/gnuradio/examples
PKG_SYSCONFSUBDIR= gnuradio/conf.d
CXXFLAGS+= -pthread
LDFLAGS.DragonFly+= -lboost_system
LDFLAGS.SunOS+= -lboost_system
CXXFLAGS.SunOS+= -pthreads
INSTALLATION_DIRS+= ${EGDIR}
# -------- R E S E T CMAKE_ARGS H E R E -------------
CMAKE_ARGS=
# set default as minimum
# See http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide
# http://gnuradio.org/redmine/projects/gnuradio/wiki/CygwinInstallMain
CMAKE_ARGS+= -DENABLE_GNURADIO_RUNTIME=ON
CMAKE_ARGS+= -DENABLE_GR_ANALOG=ON
CMAKE_ARGS+= -DENABLE_GR_AUDIO=ON
CMAKE_ARGS+= -DENABLE_GR_BLOCKS=ON
CMAKE_ARGS+= -DENABLE_GR_FFT=ON
CMAKE_ARGS+= -DENABLE_GR_FILTER=ON
CMAKE_ARGS+= -DENABLE_PYTHON=ON
CMAKE_ARGS+= -DENABLE_VOLK=ON
Update ham/gnuradio-* from 3.7.11 to 3.7.13.3 ## [3.7.13.3] - 2018-06-13 ### Fixed #### Project Scope - For non-C++11 compilers, the new cstdint include doesn't work out; conditionalized it. ## [3.7.13.2] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt to 3.7.13.2; the 3.7.13.1 tag was tagged off-branch; maintainer failure to simultaneously push a commit that raises the internal version number to 3.7.14.0: this had to be reverted ASAP. ## [3.7.13.1] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt ## [3.7.13.0] - 2018-05-31 ### Fixed #### Project Scope - `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her - CMake: using regex to match compiler against "Clang" now enables correct build on OS X #### GRC - Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps #### gr-blocks - `float_array_to_int`: int32 limits were wrongly hardcoded. - Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case ## [3.7.12.0] - 2018-04-01 ### Software Engineering - Changed Changelog format - Introducing Semantic Versioning - Change of development model: Rather than merging bugfixes to maint, merging maint to master, and next, if applicable, we'll be moving forward more in a typical management model: Development happens on master, and bugfixes are cherrypicked onto the maint-${RELEASE} branch. More info: http://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html - First attempt at having a .clang-format file to improve code contribution style quality. This is Work In Progress. ### Fixed #### Project Scope - Buildability on systems where custom CMake command would try to find "" (empty string) as executable - Buildable with C++11 compilers (though deprecation warning-rich, due to `unique_ptr`) - several previously improperly handled include directories now actually included in individual lib/CMakeLists - Unit test/QA now parallelizable - Logger works with log4cpp <= 1.1.2 both in and out of tree - Python linkage under MinGW64 - Documentation Directory now uniformly "docs/" (instead of sometimes "doc/") - `log` vs `logf` performance bugs - on-time `pmt::mp("string")` calls (instead of cached PMTs) performance bug - Doxygen build now reproducible #### GRC - Dialogs' parent windows - Embedded Python Blocks now work in hierarchical GRC flow graphs #### gnuradio-runtime - `random.h`: Uniform integer Generation depended on Boost version > min version - `random.h`: time-dependency when seeding with `0` replaced with actual standard seed - block startup now synchronized via barrier - New tag propagation policy "custom" for own implementation - `get_tags_in_range` used `v.resize(0)` to clear vectors, which lead to unnecessary memory reallocations - `logger_ptr` now always a pointer, no matter whether logging is enabled; fixes heap corruption bug - `buffer[_reader]_sptr` superfluous grab/release performance bug - BSD threading and shared mem compatibility - PMT: `equal()` comparison #### gr-utils - Sorted files in `gr_modtool` makexml processing, leading to improved reproducibility of builds #### gr-audio - OS X: memcpy bug - OS X: debug mode - Non-Linux ALSA compatibibilty #### gr-analog - `fmdet_cf` now has GRC file - `fastnoise_source`: non-threadsafe `libc` `rand()` replaced by XOROSHIRO128+ #### gr-blocks - `simple_copy` Ctrlport example - Metadata sink/source not closing file on `close()` - `multiply_matrix` formerly used "magic int" value where its API expected enum (and that int wasn't covered) - TCP connection ASIO bug - `tags_strobe`: superfluous tags addition - `vector_sink`: multithreading hazards on `data` access - `tuntap_pdu`: MTU-sized IP packet reception - `socket_pdu`: Garbage Collect closed TCP connections #### gr-channels - IQ imbalance block formula now mathematically correct now mathematically correct - `selective_fading_model`: proper scaling of path length #### gr-digital - `additive_scrambler_bb`: tag triggered reset - `stream_to_tagged_stream`: tag offset after `unlock()` - `blks2/packet.py`: Flushing for small packets - `interpolating_resampler`: GCC 4.0 compile error - `constellation`: 16QAM demapper was wrong for one constellation point - `chunks_to_symbols`: mutex-guard LUT against modification during use - MSVC compatibility throug `and` -> `&&` etc - `crc32_bb`: handle unpacked bytes correctly - `ofdm_carrier_allocator`: catching wrong allocations instead of crashing #### gr-dtv - All examples now are installed - DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode #### gr-fcd - Building on non-Linux systems - Extended symbol bug in Reed-Solomon encoder - DVB-T Cell identifier #### gr-fcd - Building on non-Linux systems #### gr-fec - `channel_construction.py`: return int frozen bit output - `GSL_LDFLAGS` propagation - `polar_decoder` used to be flaky #### gr-fft - locking of fftw wisdom - `window.cc`: removed NaN due to FP math - compilation under MinGW - `logpwrfft.py` reference scaling integer division bug #### gr-filter - Simpson's rule code removed in favor of GSL call #### gr-qtgui - Time sink: Segfault with tag trigger #### gr-uhd - Antenna selection in UHD apps - `uhd_fft` scalar gain-capability - Device selection for multi-device operations in UHD apps - TX streamer creation #### gr-zeromq - Multi-part messages reception ### Added #### Project Scope - Ninja (https://ninja-build.org) now a supported build system #### gnuradio-runtime - Python can now get `gr.WORK_CALLED_PRODUCE` and `gr.DONE` #### gr-utils - `gr_modtool`: Autocompletion, line editing - `gr_modtool`: `copyrightholder` option #### GRC - "Create Duplicate" - "Save a copy" - BokehGUI #### gr-blocks - New `tag_share` block: take tags from one two input streams to one output stream - `tag_gate`: tag filtering - `file_source`: configurable `file_begin` stream tag - `moving_average`: Vector mode (with element-wise MA) - `plateau_detector`: threshold get/set #### gr-digital - `costas_loop_cc`: Optional loop variable outputs - New `correlate_access_code_tag` block - `glfsr` exposed through Python #### gr-dtv - 256QAM mode for ITU-T J.83B transmitter #### gr-fec - negative Polynomials in `cc_encoder` #### gr-filter - `symbol_sync_{cc|ff}` #### gr-uhd - `uhd_app.py`: selectable time/clock sources - make `recv()` call's timeout parameterizable - message-based RX tuning through sink, TX through source ### Changed #### Project Scope - VOLK version requirement: 1.4.0 - Minimal required SWIG version now 2.0.4 - GSL optional dependency - Threw out completely unused `gr_??int` types - Doxygen build no longer contains timestamps - Doxygen build now reproducible - Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs #### gnuradio-runtime - Python gateway allows variable number of ports #### gr-utils - `gr_modtool`: Block template now uses `numpy.float32` instead of float. 32bit float is actually the default GNU Radio type.e. #### gr-blocks - `vector_sink` can preallocate memory for desired amount of items #### gr-digital - `header_format_default` now sps>1-capable - `correlate_acces_code` uses `GR_LOG` #### gr-uhd - `uhd_fft`: respect `lo_offset` in `set_bandwidth` - `usrp_source`: freq tag now actually reflects last set frequency, even on multiple channels #### gr-qtgui - Labels: now with 98.121212388% improved floating point formatting - Time Sink: Stem plot option exposed ### Deprecated #### gnuradio-runtime - `gr::sys_pri`
2018-07-16 09:55:22 +02:00
CMAKE_ARGS+= -DCMAKE_HAVE_PTHREADS_CREATE=OFF
# Default setting (for pkgsrc)
CMAKE_ARGS+= -Wno-dev
CMAKE_ARGS+= -DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE
CMAKE_ARGS+= -DCMAKE_INCLUDE_PATH=${PREFIX}/include/portaudio2
CMAKE_ARGS+= -DCMAKE_LIBRARY_PATH=${PREFIX}/lib/portaudio2
CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH=${PREFIX}/lib:${PREFIX}/lib/portaudio2
CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE
CMAKE_ARGS+= -DLIBUSB_INCLUDE_DIR=${PREFIX}/include/libusb-1.0
CMAKE_ARGS+= -DGR_LIBRARY_DIR=${PREFIX}/lib
CMAKE_ARGS+= -DGR_PREFSDIR=${PREFIX}/share/gnuradio/examples/
Update ham/gnuradio-* from 3.7.11 to 3.7.13.3 ## [3.7.13.3] - 2018-06-13 ### Fixed #### Project Scope - For non-C++11 compilers, the new cstdint include doesn't work out; conditionalized it. ## [3.7.13.2] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt to 3.7.13.2; the 3.7.13.1 tag was tagged off-branch; maintainer failure to simultaneously push a commit that raises the internal version number to 3.7.14.0: this had to be reverted ASAP. ## [3.7.13.1] - 2018-05-31 ### Fixed #### Project Scope - Actually bumped version in CMakeLists.txt ## [3.7.13.0] - 2018-05-31 ### Fixed #### Project Scope - `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her - CMake: using regex to match compiler against "Clang" now enables correct build on OS X #### GRC - Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps #### gr-blocks - `float_array_to_int`: int32 limits were wrongly hardcoded. - Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case ## [3.7.12.0] - 2018-04-01 ### Software Engineering - Changed Changelog format - Introducing Semantic Versioning - Change of development model: Rather than merging bugfixes to maint, merging maint to master, and next, if applicable, we'll be moving forward more in a typical management model: Development happens on master, and bugfixes are cherrypicked onto the maint-${RELEASE} branch. More info: http://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html - First attempt at having a .clang-format file to improve code contribution style quality. This is Work In Progress. ### Fixed #### Project Scope - Buildability on systems where custom CMake command would try to find "" (empty string) as executable - Buildable with C++11 compilers (though deprecation warning-rich, due to `unique_ptr`) - several previously improperly handled include directories now actually included in individual lib/CMakeLists - Unit test/QA now parallelizable - Logger works with log4cpp <= 1.1.2 both in and out of tree - Python linkage under MinGW64 - Documentation Directory now uniformly "docs/" (instead of sometimes "doc/") - `log` vs `logf` performance bugs - on-time `pmt::mp("string")` calls (instead of cached PMTs) performance bug - Doxygen build now reproducible #### GRC - Dialogs' parent windows - Embedded Python Blocks now work in hierarchical GRC flow graphs #### gnuradio-runtime - `random.h`: Uniform integer Generation depended on Boost version > min version - `random.h`: time-dependency when seeding with `0` replaced with actual standard seed - block startup now synchronized via barrier - New tag propagation policy "custom" for own implementation - `get_tags_in_range` used `v.resize(0)` to clear vectors, which lead to unnecessary memory reallocations - `logger_ptr` now always a pointer, no matter whether logging is enabled; fixes heap corruption bug - `buffer[_reader]_sptr` superfluous grab/release performance bug - BSD threading and shared mem compatibility - PMT: `equal()` comparison #### gr-utils - Sorted files in `gr_modtool` makexml processing, leading to improved reproducibility of builds #### gr-audio - OS X: memcpy bug - OS X: debug mode - Non-Linux ALSA compatibibilty #### gr-analog - `fmdet_cf` now has GRC file - `fastnoise_source`: non-threadsafe `libc` `rand()` replaced by XOROSHIRO128+ #### gr-blocks - `simple_copy` Ctrlport example - Metadata sink/source not closing file on `close()` - `multiply_matrix` formerly used "magic int" value where its API expected enum (and that int wasn't covered) - TCP connection ASIO bug - `tags_strobe`: superfluous tags addition - `vector_sink`: multithreading hazards on `data` access - `tuntap_pdu`: MTU-sized IP packet reception - `socket_pdu`: Garbage Collect closed TCP connections #### gr-channels - IQ imbalance block formula now mathematically correct now mathematically correct - `selective_fading_model`: proper scaling of path length #### gr-digital - `additive_scrambler_bb`: tag triggered reset - `stream_to_tagged_stream`: tag offset after `unlock()` - `blks2/packet.py`: Flushing for small packets - `interpolating_resampler`: GCC 4.0 compile error - `constellation`: 16QAM demapper was wrong for one constellation point - `chunks_to_symbols`: mutex-guard LUT against modification during use - MSVC compatibility throug `and` -> `&&` etc - `crc32_bb`: handle unpacked bytes correctly - `ofdm_carrier_allocator`: catching wrong allocations instead of crashing #### gr-dtv - All examples now are installed - DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode #### gr-fcd - Building on non-Linux systems - Extended symbol bug in Reed-Solomon encoder - DVB-T Cell identifier #### gr-fcd - Building on non-Linux systems #### gr-fec - `channel_construction.py`: return int frozen bit output - `GSL_LDFLAGS` propagation - `polar_decoder` used to be flaky #### gr-fft - locking of fftw wisdom - `window.cc`: removed NaN due to FP math - compilation under MinGW - `logpwrfft.py` reference scaling integer division bug #### gr-filter - Simpson's rule code removed in favor of GSL call #### gr-qtgui - Time sink: Segfault with tag trigger #### gr-uhd - Antenna selection in UHD apps - `uhd_fft` scalar gain-capability - Device selection for multi-device operations in UHD apps - TX streamer creation #### gr-zeromq - Multi-part messages reception ### Added #### Project Scope - Ninja (https://ninja-build.org) now a supported build system #### gnuradio-runtime - Python can now get `gr.WORK_CALLED_PRODUCE` and `gr.DONE` #### gr-utils - `gr_modtool`: Autocompletion, line editing - `gr_modtool`: `copyrightholder` option #### GRC - "Create Duplicate" - "Save a copy" - BokehGUI #### gr-blocks - New `tag_share` block: take tags from one two input streams to one output stream - `tag_gate`: tag filtering - `file_source`: configurable `file_begin` stream tag - `moving_average`: Vector mode (with element-wise MA) - `plateau_detector`: threshold get/set #### gr-digital - `costas_loop_cc`: Optional loop variable outputs - New `correlate_access_code_tag` block - `glfsr` exposed through Python #### gr-dtv - 256QAM mode for ITU-T J.83B transmitter #### gr-fec - negative Polynomials in `cc_encoder` #### gr-filter - `symbol_sync_{cc|ff}` #### gr-uhd - `uhd_app.py`: selectable time/clock sources - make `recv()` call's timeout parameterizable - message-based RX tuning through sink, TX through source ### Changed #### Project Scope - VOLK version requirement: 1.4.0 - Minimal required SWIG version now 2.0.4 - GSL optional dependency - Threw out completely unused `gr_??int` types - Doxygen build no longer contains timestamps - Doxygen build now reproducible - Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs #### gnuradio-runtime - Python gateway allows variable number of ports #### gr-utils - `gr_modtool`: Block template now uses `numpy.float32` instead of float. 32bit float is actually the default GNU Radio type.e. #### gr-blocks - `vector_sink` can preallocate memory for desired amount of items #### gr-digital - `header_format_default` now sps>1-capable - `correlate_acces_code` uses `GR_LOG` #### gr-uhd - `uhd_fft`: respect `lo_offset` in `set_bandwidth` - `usrp_source`: freq tag now actually reflects last set frequency, even on multiple channels #### gr-qtgui - Labels: now with 98.121212388% improved floating point formatting - Time Sink: Stem plot option exposed ### Deprecated #### gnuradio-runtime - `gr::sys_pri`
2018-07-16 09:55:22 +02:00
# adhoc setup not to pick non default version (say python3.6)
# at configure
CMAKE_ARGS+= -DPYTHON_EXECUTABLE=${PREFIX}/bin/python${PYVERSSUFFIX}
CMAKE_ARGS+= -DZEROMQ_INCLUDE_DIRS=${PREFIX}/include
CMAKE_ARG_PATH= ../
.include "options.mk"
# disable/enable ALSA, see also patches/patch-gr-audio_lib_CMakeLists.txt
SUBST_CLASSES+= alsa
SUBST_MESSAGE.alsa= Arrange the patched line depepending on alsa is in PKG_OPTIONS or not
SUBST_FILES.alsa+= gr-audio/lib/CMakeLists.txt
## The value of ${ALSA_ENABLED} is either '#' or '' by options.mk.
SUBST_SED.alsa= -e 's,@@ALSA@@,${ALSA_ENABLED},'
SUBST_STAGE.alsa= pre-configure
SUBST_CLASSES+= pyvers
SUBST_FILES.pyvers= cmake/Modules/FindSphinx.cmake
SUBST_MESSAGE.pyvers= Fix SPHINX_EXECUTABLE NAMES(sphinx-build)
SUBST_VARS.pyvers+= PYVERSSUFFIX
SUBST_STAGE.pyvers= pre-configure
# REPLACE_PYTHON is some 600 files
.include "../../ham/gnuradio-core/files/REPLACE_PYTHON"
pre-configure:
(${MKDIR} ${WRKSRC}/build;)
do-install:
(cd ${WRKSRC}/build; ${GMAKE} DESTDIR=${DESTDIR} install)
.include "../../audio/gsm/buildlink3.mk"
.include "../../audio/jack/buildlink3.mk"
.include "../../audio/portaudio-devel/buildlink3.mk"
.include "../../devel/boost-headers/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../devel/cppunit/buildlink3.mk"
# VOLK needs orc.h, so in the common
.include "../../devel/orc/buildlink3.mk"
.include "../../devel/swig2/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../math/fftwf/buildlink3.mk"
.include "../../math/gsl/buildlink3.mk"