Hi Alex,
thank you for your mail. Contributions and ideas for WebAssembly are
always welcome.
For us, PySide for WebAssembly is currently on the backburner since we
do not see a way of building the support libraries.
The task basically boils down to:
- Building shiboken_generator on the host
- Building the support libraries (libshiboken/libpyside/libpysideqml)
against CPython
- Building the Python modules (shibokenmodule, Qt modules)
If one day CPython provides a way of building modules and Qt and CPython
settle on one EMSDK version, it all could be done using the normal
cross-building support for PySide which exists for embedded platforms
(PYSIDE-802).
Pyodide is an option for building Python modules; it might be possible
to get a Qt module to build by creating a setup.py (see
https://codereview.qt-project.org/c/pyside/pyside-setup/+/443740 ). We
changed the shiboken_generator to have it generate the defines of the Qt
configure system into the code so that the generated code can be used
for different configuration options of Qt (some classes are missing in
WebAssembly). This would require Qt and Pyodide to use compatible EMSDKs.
Pyodide cannot seem to build the support libraries though, and also does
not provide a build environment for use; it merely unpacks it
temporarily when building modules.
A mix of Pyodide and CPython is also conceivable, but then all three
would have to settle on an un-patched EMSDK version.
Ideas how to progress with this would be appreciated.
Regards,
Friedemann
Some links:
Qt Contribution guidelines: contribute.qt-project.org/guidelines
Qt for WASM https://doc.qt.io/qt-6/wasm.html
--
Friedemann Kleint
The Qt Company GmbH
_______________________________________________
PySide mailing list
PySide@qt-project.org
https://lists.qt-project.org/listinfo/pyside