docs: Windows port README should include `make submodule` as a build step
Checks
-
I agree to follow the MicroPython Code of Conduct to ensure a safe and respectful space for everyone.
-
I've searched for existing issues and didn't find any that matched.
Documentation URL
https://github.com/micropython/micropython/blob/master/ports/windows/README.md
Description
The build steps for the Windows port are missing make submodule. Build errors occur because micropython-lib (specifically the ssl module) isn't found if that command isn't executed.
lib: Add micropython-lib submodule.
As discussed in #8860.
Most of this PR is handling how to make make submodules behave sensibly.
The rule I've chosen is that if you are using a frozen manifest, then micropython-lib should be included.
This was trivial in Make (although I needed to make all updates of the GIT_SUBMODULES variable appends rather than overwrites), but it was a total pain in CMake.
For micropython-lib honestly it would be probably fine to just always unconditionally include in in make submodules but I kind of wanted to sort this out so that board-specific dependencies become possible.
In the end it works for rp2, but for esp32 I had to just force it to always use micropython-lib (honestly this makes sense anyway) and we'll need to revisit this if we want to do board-specific submodules on ESP32.