Removing SWIG from GNU Radio
summary
GNU Radio removes SWIG in 3.9 and replaces it with pybind11 2.4.3 or later, cutting incremental compile time and eliminating SWIG-generated build churn by moving per-block C++ binding units into each module’s python directory. gr-modtool gains a bind generator that uses optional pygccxml to auto-create bindings and injects docstrings via a header-file MD5 sync so cmake detects stale bindings. Templated blocks and some external-library headers still require manual binding work; runtime Python-only blocks keep similar performance but embedding and maintenance become far simpler.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 7:48New dependencies
- 9:06Directory structure
- 11:37C bindings
- 15:13Python bindings
- 19:16Getting to 39
- 21:42Python only flow graphs
- 22:57Things to improve
related talks
29mGenerating Python bindings to C++ libraries
15mUsing Reflection to Generate C++ Python Bindings
25mHow to bring your C++ project to Python land
29mManaging GNU Radio Installations with Conda
01h 01mExtend and Embed Python with C++
01h 02mWriting Python Bindings for C++ Libraries: Easy-to-use Performance
48mIntegrate Python and C++ with pybind11
49mOttergon: Modern Ways of Writing Bindings
