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 ;)