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-qstr.sh

Blame
  • 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>