Open drewcrawford opened 8 years ago
@owensd @dunkelstern
Considering upstream's delays, I wanted to take your temperature on a "dangerous idea".
What if I maintain the static lib stuff out-of-tree and we all run "Anarchy-flavored Swift"?
We pretty much already do this for Linux (my Linux images include various out-of-tree fixes) but I have not yet tooled up to do this on OSX.
Would like to take your temperature on such a move before making it a build dependency.
Yeah... I'm not terribly convinced this is a good plan. At some point, if all of our stuff is just a fork of what Apple is doing, what's the point? I'd rather just work on my own language then. ;)
I completely get the desire, and I'm ok with doing this approach:
I don't know if that puts too much burden on your plate to support that though.
Thoughts?
Oh I think we need to continue support Swift proper. (In fact, we recently added support for building Swift 2 projects, which will never get this feature).
I'm just saying, practically, maybe our feature development should not be bound by upstream's timetable. Maybe we need to ship this feature and support it when building with "our" Swift.
I think we are saying the same thing.
If you want to use your forked version of Swift on your machine(s) and you want to use that on the CI machines, that seems ok. It's still a little risky, but overall, should be ok as long as the fork is kept up-to-date with the snapshots.
Also, if you want to put that forked version under Anarchy Tools, which I think is both reasonable and expected, then I'm all for that as well.
However, I don't really want to use the forked version on my box (at least, I'm not convinced enough that I need it... yet). So if I can still hack on Anarchy Tools with the latest snapshot (I'm on OSX only), then 👍.
You should still be able to hack with the latest snapshot, you just won't be able to build a static binary.
It's an interesting question whether the swift builds should be hosted under the AT banner as my Linux stuff contains patches that we don't strictly-speaking use. I really only have time to maintain one tree and it contains whatever fixes my projects require, usually of the form "Make Linux more like Darwin".
Our executables break a lot in-between snapshots. This is bad.
To fix this, we should support statically linking executables, and it should maybe even be on by default.
I have some partial work on this on the
static_support
branch, however, upstream bug https://bugs.swift.org/browse/SR-730 affects further progress on Linux.It would be possible for us to not use
swiftc
as a linker (and work around that bug) butswiftc
is the preferred linker according to upstream, so this may not be desireable. Also that might break things that assumeswiftc
is our linker now.I will wait a bit to see what upstream plans to do on this.