Working my way through the swift-corelibs-foundation for Windows, I think I have gotten to the point where I believe that the last items preventing Windows support for Foundation can now be enumerated:
- Porting the remaining interfaces in
- Fixing the VWT handling for ForeignClassMetadata strategy
- Fixing protocol witness table emission to be exported from the standard library
- Identifying the desired behaviours for curl/libxml2 linkage
The first three are more technical, the implementation for the interfaces just need someone dedicated enough to work through the surface and with some time. The second would be something that is more involved, the third is just a bug.
The last item however is a bit more challenging. It is entirely a policy type of problem. Do we want to have the linkage be static or dynamic? Or do we want to have the ability to control that? There are pros and cons to both approach, and its unclear what the larger population is using and prefers. I don't have a strong opinion on either direction for this, but would prefer to have a single way that is supported so we do not need to have an option to control this explicitly (although, if there is a reason to have that, it is okay, as long as it is a conscious decision). So, I figure that this might allow people to chime in so an informed decision can be made.
For those interested in the rest of the Windows port, especially those interested in helping getting Foundation running on Windows, do checkout the WIP PR. I would certainly love some help!