fix(build): Fix module changes not getting picked up
Previously, we left out the dependency of the QSTR header on
modules.h
. This was done to prevent rebuilds of the entire
MicroPython sources whenever a Pycardium module is changed. This
leads to issues where QSTRs got out of sync and weird errors like
the following could happen:
import foo_module
Exception: No module `abc_def` (a different string than expected)
Attempt to fix this by only updating the QSTR header when the module-header actually changes. For this, a few workarounds are needed:
- Replace symlinks with actual copied files so timestamps change on updates.
- Add a hack so meson picks up on the dependency of the file in genhdr/
Co-authored-by: dx dequis@dequis.org
@schneider: Please test whether this works on your system as well ;)