Build webassembly and windows ports#70
Conversation
|
@mattytrentini , in order to |
df793eb to
88035ac
Compare
Yes, I can do that (I can push to the MicroPython docker hub) but I would prefer to have the Dockerfile's in their own separate repositories. Currently I'm the owner for the repositories of containers to create builds (that aren't published elsewhere, like the IDF) so I'm happy to create a new repo to house the mingw build container you've listed, if that's ok with you? Long-term, I'd like to transfer those repos to the micropython Github org. |
|
88035ac to
7c31fdf
Compare
|
I'm not sure if it's faster or not but there's an official emsdk image that can be used: |
|
From the first look That are essentially the same commands, running the CI setup scripts. The value of Embedding them in Mpflash is that it makes building more accessible. But I agree that the logic structure for stringing together the docker commands could use improvement |
|
This seems very useful. Especially since there are no pre-built binary images for these published on MicroPython download pages. |
|
It's useful to me for sure 😊 |
This pull request includes several changes to add support for building MicroPython for webassembly and windows
WebAssembly is supported using the
ARM_BUILD_CONTAINER:emsdktoolchain is installed during the first build using thetools/ci.shscript that is used to run the integration tests for MicroPython.emsdktoolchain is cached and used for subsequent builds.Windows is supported using the MinGW toolchain:
micropython/build-micropython-win-mingw. It uses the same build process as the official MicroPython Docker container, but with the MinGW toolchain instead of the ARM toolchain.containers/build-micropython-win-mingwdirectoryBuild process improvements:
src/mpbuild/build.py: Added support for the new MinGW build container and updated the build command to handle special cases forwebassemblyandwindowsports. This includes setting up the CI environment and adding cross-compilation arguments for Windows. [1] [2] [3] [4]Code cleanup and refactoring:
src/mpbuild/board_database.py: Moved the import ofPathto the top of the file for consistency and added a print statement to provide more information when a variant is not found. [1] [2]Depends on
Never mind - merged already