1. 16 Apr, 2016 2 commits
    • stijn's avatar
      windows/msvc: Implement automatic qstr generation using makeqstrdefs. · 9a627e88
      stijn authored
      Note this still needs some work: currently all source files are always
      preprocessed no matter which one actually changed, moreover that happens
      file by file without any parallellism so builds are painstakingly slow.
      9a627e88
    • Jan Čapek's avatar
      py: Add rules for automated extraction of qstrs from sources. · d76c65f5
      Jan Čapek authored
      - add template rule that converts a specified source file into a qstring file
      
      - add special rule for generating a central header that contains all
        extracted/autogenerated strings - defined by QSTR_DEFS_COLLECTED
        variable. Each platform appends a list of sources that may contain
        qstrings into a new build variable: SRC_QSTR. Any autogenerated
        prerequisities are should be appened to SRC_QSTR_AUTO_DEPS variable.
      
      - remove most qstrings from py/qstrdefs, keep only qstrings that
        contain special characters - these cannot be easily detected in the
        sources without additional annotations
      
      - remove most manual qstrdefs, use qstrdef autogen for: py, cc3200,
        stmhal, teensy, unix, windows, pic16bit:
      
         - remove all micropython generic qstrdefs except for the special strings that contain special characters (e.g. /,+,<,> etc.)
         - remove all port specific qstrdefs except for special strings
         - append sources for qstr generation in platform makefiles (SRC_QSTR)
      d76c65f5
  2. 14 Apr, 2016 1 commit
  3. 13 Apr, 2016 1 commit
  4. 29 Jan, 2016 1 commit
    • Paul Sokolovsky's avatar
      py/runtime: mp_stack_ctrl_init() should be called immediately on startup. · d3b1f0b6
      Paul Sokolovsky authored
      Calling it from mp_init() is too late for some ports (like Unix), and leads
      to incomplete stack frame being captured, with following GC issues. So, now
      each port should call mp_stack_ctrl_init() on its own, ASAP after startup,
      and taking special precautions so it really was called before stack variables
      get allocated (because if such variable with a pointer is missed, it may lead
      to over-collecting (typical symptom is segfaulting)).
      d3b1f0b6
  5. 26 Jan, 2016 2 commits
  6. 27 Dec, 2015 1 commit
  7. 26 Dec, 2015 1 commit
    • stijn's avatar
      windows/msvc: Nicer handling of asserts and 'invalid' parameters · 1aa4599d
      stijn authored
      The default bahaviour for debug builds is to show dialog boxes for asserts
      and invalid parameter handling. This is not so nice in general and causes
      the Appveyor debug builds to hang because the io\file_seek.py test passes
      a closed file descriptor to lseek. Disable this behaviour by printing
      assert messages to the output instead of showing the dialog, and by
      disabling 'invalid' parameter handling which causes the affected functions
      to just return an error and set errno appropriately.
      1aa4599d
  8. 21 Dec, 2015 1 commit
    • stijn's avatar
      windows: Better handling of Ctrl-C · a5aa03ac
      stijn authored
      This builds upon the changes made in 21950463. Using signal() does not
      produce reliable results so SetConsoleCtrlHandler is used, and the handler
      is installed only once during initialization instead of removing it in
      mp_hal_set_interrupt_char when it is not strictly needed anymore, since
      removing it might lead to Ctrl-C events being missed because they are
      fired on a seperate thread which might only become alive after the handler
      was removed.
      a5aa03ac
  9. 18 Dec, 2015 2 commits
  10. 17 Dec, 2015 2 commits
  11. 14 Dec, 2015 1 commit
  12. 12 Dec, 2015 1 commit
  13. 11 Dec, 2015 2 commits
    • Paul Sokolovsky's avatar
    • stijn's avatar
      msvc: Use different output directories depending on build type · 967ceba5
      stijn authored
      This allows multiple versions (e.g. Debug/Release, x86/x64) of micropython.exe
      to co-exist instead and also solves potential problems where msbuild does not
      completely rebuild the output and/or pdb files when switching between builds,
      which in turn can cause linker errors in dependent projects.
      
      By default exe/map/... files go in windows/build/$(Configuration)$(Platform)
      
      After each build micropython.exe is still copied from the above directory to
      the windows directory though, as that is consistent with the other ports and
      the test runner by default uses that location as well.
      
      Also rename env.props -> path.props which is a clearer name,
      and add ample documentation in the affected build files.
      
      (also see discussion in #1538)
      967ceba5
  14. 24 Nov, 2015 2 commits
    • stijn's avatar
      windows/py: Support 64bit mingw-w64 builds · 3baf6b53
      stijn authored
      - add mp_int_t/mp_uint_t typedefs in mpconfigport.h
      - fix integer suffixes/formatting in mpconfig.h and mpz.h
      - use MICROPY_NLR_SETJMP=1 in Makefile since the current nlrx64.S
        implementation causes segfaults in gc_free()
      - update README
      3baf6b53
    • stijn's avatar
      windows: Cleanup makefile · a58fa27c
      stijn authored
      The BSD stuff is a copy from the unix makefile but at least there it
      makes some sense, a windows makefile on BSD doesn't.
      The -lmman flag is probably for mmap functions but there is no other build
      support for it on windows so just that flag won't cut it anyway.
      a58fa27c
  15. 14 Nov, 2015 1 commit
  16. 10 Nov, 2015 2 commits
  17. 02 Nov, 2015 1 commit
    • stijn's avatar
      windows: Update build instructions in the README · c76fe77f
      stijn authored
      - use correct 'mingw-w64' package name
      - small grammar fixes
      - modify Cygwin build instructions to use that same compiler as well: the
        original mingw is stuck at gcc v4.7 and does not seem to be updated anymore
      - make it clear thet uPy also builds using Visual Studio versions > 2013
      c76fe77f
  18. 31 Oct, 2015 3 commits
  19. 30 Oct, 2015 1 commit
  20. 26 Oct, 2015 2 commits
  21. 25 Oct, 2015 2 commits
  22. 20 Oct, 2015 1 commit
  23. 19 Oct, 2015 1 commit
  24. 23 Sep, 2015 1 commit
  25. 22 Sep, 2015 1 commit
  26. 14 Aug, 2015 1 commit
    • stijn's avatar
      windows: Make unistd.h more posix compatible · 3179d23c
      stijn authored
      - add SEEK_XXX definitions, this fixes missing definition in py/stream.c
      - move R_OK from realpath.c and add W_OK/F_OK defintions
      - move STDXXX_FILENO definitions from mpconfigport for consistency
      3179d23c
  27. 04 Jun, 2015 2 commits
  28. 27 May, 2015 1 commit