Skip to content
Snippets Groups Projects
Select Git revision
  • blink_multi_rocket
  • master default protected
  • blink_rocket
  • msgctl/gfx_rle
  • msgctl/faultscreen
  • msgctl/textbuffer_api
  • schneider/bonding
  • schneider/bootloader-update-9a0d158
  • schneider/bsec
  • rahix/bma
  • rahix/bhi
  • schleicher-test
  • schneider/schleicher-test
  • freertos-btle
  • ch3/api-speed-eval2
  • schneider/mp-for-old-bl
  • ch3/leds-api
  • ch3/genapi-refactor
  • ch3/dual-core
  • dualcore
  • v0.0
21 results

gen-modules.py

Forked from card10 / firmware
Source project has a limited visibility.
  • rahix's avatar
    d71a6cf8
    fix(build): Fix module changes not getting picked up · d71a6cf8
    rahix authored
    
    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/
    - Rename the outer file so older meson versions don't complain about
      multiple targets with the same name.
    
    Co-authored-by: default avatardx <dequis@dequis.org>
    Signed-off-by: default avatarRahix <rahix@rahix.de>
    d71a6cf8
    History
    fix(build): Fix module changes not getting picked up
    rahix authored
    
    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/
    - Rename the outer file so older meson versions don't complain about
      multiple targets with the same name.
    
    Co-authored-by: default avatardx <dequis@dequis.org>
    Signed-off-by: default avatarRahix <rahix@rahix.de>