Sure, but libcurl is a good example that I think confirms the point: as far as I know there are 2 main reasons for using precompiled libcurl:
- it's only used on Linux
- so far no one swapped different versions of
libcurlduring Swift compiler build time
From what I've seen in the thread about potentially replacing libcurl with SwiftNIO the latter actually causes problems with different versions of libcurl, mentioned by @johannesweiss:
Another issue with using the platform's
libcurlis thatURLSessioninswift-corelibs-foundationdoes support HTTP/2 if and only if the distribution'slibcurlwas compiled with HTTP/2 support (which it AFAIK isn't on Ubuntu 14.04 and 16.04).
Also interesting to consider how does URLSession works on Windows if it works at all? Would that require building libcurl on Windows from a source distribution?
In any case, I hope it can be clarified what's the best way to bundle different versions of musl that works for different platforms including cross-compilation scenarios.