Open zombiezen opened 4 months ago
So far I've verified that the backend test suite runs on Windows. Keeping this issue open to actually create a userspace.
Historically, it was both technically possible and legally permissible to simply copy the C++ compiler (and its included libs and headers) to a build server, without an installer, which could feasibly have been cached and used as a content-addressable thing:
E.g. https://learn.microsoft.com/en-us/visualstudio/releases/2015/2015-redistribution-vs#visual-c-buildserver-files https://learn.microsoft.com/en-us/visualstudio/releases/2017/2017-redistribution-vs#-list-of-build-server-files-for-visual-studio-2017
This went away in the distributable code for Visual Studio 2019/2022 - I think supplanted by the "Build Tools for Visual Studio" installer (see https://visualstudio.microsoft.com/downloads/, under "Tools for Visual Studio" - this has just the compiler, no IDE GUI, etc). But, packaged as an installer, it's not going to fit a content-addressible-cache model nearly so well. But it is available separately, and the EULA still has
- Installation and use rights include d. Separately, if you don’t have a valid license to any of the Visual Studio Products you may still install and use copies of the software to compile and build C++ components that (i) have been released by a third party under an open-source software license approved by the Open Source Initiative; and (ii) are also reasonably required to build your applications (“Open Source Dependencies”).
Which would seems to be applicable to a stdenv-like bootstrap. It's just the the packaging in an installer is going to be less convenient to incorporate...
I want to build a Windows proof-of-concept once #5 is finished. I'm imagining the bootstrap sequence is:
For reference, Go uses Batch for its bootstrap, so PowerShell may not even be necessary for common recipes, but the syntax seems helpful.