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
libcurl
during 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
libcurl
is thatURLSession
inswift-corelibs-foundation
does support HTTP/2 if and only if the distribution'slibcurl
was 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.