Replies: 1 comment 1 reply
|
Thank you for your comments. Your ideas are interesting but I wonder if you have already tried to generate wxRuby3 SWIG wrappers directly from wxWidgets library headers (or the documentation headers)? Some of the advantages I see in using the an indirect approach using the documentation headers/doxygen XML is the fact that it cuts down on unnecessary wrapper generation as the wxWidgets headers declare/implement a LOT more methods than are documented for public use. Also the documentation provides meta information concerning platform support for several methods that can easily be extracted and used for platform specific code generation which would otherwise be more difficult to extract from the regular library headers. |


Uh oh!
There was an error while loading. Please reload this page.
Thank you for your work and appears promising. I will submit multiple issues.
First issue is the API wrapper construction.
The reliance on a Doxygen XML parsing pipeline to drive wrapper generation introduces a brittle, out-of-band build dependency. This frequently results in silent build-time starvation, producing hollow binaries that compile cleanly but export zero actual runtime symbols. While generating bindings from documentation artifacts may have historically served as a legacy workaround to avoid choking SWIG on the massive preprocessor footprint and conditional blocks (#ifdefs) of the wxWidgets headers, this approach is completely obsolete. These macro nuances can be trivially amended and neutralized directly at the toolchain layer using standard compiler design patterns.
Rather than maintaining a fragile pipeline meant for human-readable webpage documentation, the project should migrate to one of the following production-grade alternatives:
--> Documentation tools should not drive compiler <-- wrappers; a modern, frontend-driven toolchain would drastically simplify the codebase and permanently eliminate these hollow wrapper loops.
All reactions