Skip to content
Snippets Groups Projects
  1. Jun 03, 2019
  2. May 22, 2019
  3. Mar 08, 2019
  4. Jun 12, 2018
  5. Apr 10, 2018
    • Damien George's avatar
      py: Refactor how native emitter code is compiled with a file per arch. · ef12a4bd
      Damien George authored
      Instead of emitnative.c having configuration code for each supported
      architecture, and then compiling this file multiple times with different
      macros defined, this patch adds a file per architecture with the necessary
      code to configure the native emitter.  These files then #include the
      emitnative.c file.
      
      This simplifies emitnative.c (which is already very large), and simplifies
      the build system because emitnative.c no longer needs special handling for
      compilation and qstr extraction.
      ef12a4bd
  6. Feb 22, 2018
  7. Dec 09, 2017
    • Paul Sokolovsky's avatar
      py/mkrules.mk: Add "clean-frozen" target to clean frozen script/modules dir. · d21d029d
      Paul Sokolovsky authored
      This target removes any stray files (i.e. something not committed to git)
      from scripts/ and modules/ dirs (or whatever FROZEN_DIR and FROZEN_MPY_DIR
      is set to).
      
      The expected workflow is:
      
      1. make clean-frozen
      2. micropython -m upip -p modules <packages_to_freeze>
      3. make
      
      As it can be expected that people may drop random thing in those dirs which
      they can miss later, the content is actually backed up before cleaning.
      d21d029d
  8. Nov 15, 2017
    • Christopher Arndt's avatar
      py/mkenv.mk: Use $(PYTHON) consistently when calling Python tools. · 1871a924
      Christopher Arndt authored
      Rationale:
      
      * Calling Python build tool scripts from makefiles should be done
        consistently using `python </path/to/script>`, instead of relying on the
        correct she-bang line in the script [1] and the executable bit on the
        script being set. This is more platform-independent.
      * The name/path of the Python executable should always be used via the
        makefile variable `PYTHON` set in `py/mkenv.mk`. This way it can be
        easily overwritten by the user with `make PYTHON=/path/to/my/python`.
      * The Python executable name should be part of the value of the makefile
        variable, which stands for the build tool command (e.g. `MAKE_FROZEN` and
        `MPY_TOOL`), not part of the command line where it is used. If a Python
        tool is substituted by another (non-python) program, no change to the
        Makefiles is necessary, except in `py/mkenv.mk`.
      * This also solves #3369 and #1616.
      
      [1] There are systems, where even the assumption that `/usr/bin/env` always
      exists, doesn't hold true, for example on Android (where otherwise the unix
      port compiles perfectly well).
      1871a924
  9. Oct 31, 2017
  10. Oct 03, 2017
    • chrismas9's avatar
      py/{mkenv.mk,mkrules.mk}: Append .exe for Windows executable files. · 3289b9b7
      chrismas9 authored
      Building mpy-cross: this patch adds .exe to the PROG name when building
      executables for host (eg mpy-cross) on Windows.  make clean now removes
      mpy-cross.exe under Windows.
      
      Building MicroPython: this patch sets MPY_CROSS to mpy-cross.exe or
      mpy-cross so they can coexist and use cygwin or WSL without rebuilding
      mpy-cross.  The dependency in the mpy rule now uses mpy-cross.exe for
      Windows and mpy-cross for Linux.
      3289b9b7
  11. Sep 06, 2017
  12. Aug 21, 2017
  13. Aug 06, 2017
  14. Jul 31, 2017
  15. Jul 19, 2017
  16. May 26, 2017
    • Damien George's avatar
      py/mkrules.mk: Fix auto-qstr generation when "make -B" is used. · 85f7b0b4
      Damien George authored
      For make v3.81, using "make -B" can set $? to empty and in this case the
      auto-qstr generation needs to pass all args (ie $^) to cpp.  The previous
      fix for this (which was removed in 23a693ec)
      used if statements in the shell command, which gave very long lines that
      didn't work on certain systems (eg cygwin).
      
      The fix in this patch is to use an $if(...) expression, which will evaluate
      to $? (only newer prerequisites) if it's non empty, otherwise it will use
      $^ (all prerequisites).
      85f7b0b4
  17. May 11, 2017
  18. Mar 29, 2017
  19. Mar 15, 2017
  20. Jan 05, 2017
  21. Dec 09, 2016
  22. Nov 15, 2016
  23. Nov 08, 2016
  24. Sep 17, 2016
  25. Aug 29, 2016
  26. Aug 04, 2016
  27. Jun 15, 2016
  28. Apr 26, 2016
  29. Apr 22, 2016
  30. Apr 19, 2016
  31. Apr 16, 2016
Loading