Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a SWIFT_STDLIB_STABLE_ABI flag to be able to build the stdlib without -enable-library-evolution #33443

Merged
merged 4 commits into from Sep 21, 2020

Conversation

kubamracek
Copy link
Contributor

No description provided.

@kubamracek
Copy link
Contributor Author

The SWIFT_STDLIB_STABLE_ABI=0 setting should also be used on Linux, but I'm intentionally not flipping the default with this PR, and keeping it for a subsequent change (because it's likely to need some test adjustments).

CMakeLists.txt Outdated Show resolved Hide resolved
@kubamracek
Copy link
Contributor Author

@swift-ci please test

@slavapestov
Copy link
Member

slavapestov commented Aug 13, 2020

The SWIFT_STDLIB_STABLE_ABI=0 setting should also be used on Linux.

Why?

@swift-ci
Copy link
Collaborator

Build failed
Swift Test OS X Platform
Git Sha - b80f0fd1da381fb1d047fc10544393967d5274b8

@gottesmm
Copy link
Member

@kubamracek I think this is too strong of a condition to set a default of true. Consider porting swift to a new platform or that many of the platforms swift builds for do not have a stable ABI.

Also, we don't have a stable ABI on Linux today and do not want that to go into tree. So can we do that in this PR? At least with the swift-ci preset?

@gottesmm
Copy link
Member

I am not sure what the right solution is btw with respect to how to determine the default value here. But TRUE makes me nervous.

@jckarter
Copy link
Member

Turning library evolution off by default seems reasonable. I think that's good for setting expectations for new platforms, since establishing a stable ABI is a project to itself on top of doing the initial porting work.

@kubamracek
Copy link
Contributor Author

I'm pretty sure we today build all platforms' stdlib with library evolution on. So it sounds like that as a preliminary step, we should turn it off for everything except Darwin?

@kubamracek
Copy link
Contributor Author

@swift-ci please test

@kubamracek
Copy link
Contributor Author

Updated this PR to just introduce the "knob" to turn resilience on or off (SWIFT_STDLIB_STABLE_ABI). Made all currently supported platforms have the knob "on", even when it's technically not true, and marked those cases with a FIXME comment. Now we can separately work on turning the knob when applicable.

@kubamracek
Copy link
Contributor Author

@swift-ci please test Windows platform

@kubamracek
Copy link
Contributor Author

@harlanhaskins @jckarter @gottesmm looks good now?

@jckarter
Copy link
Member

LGTM!

@kubamracek kubamracek merged commit 58f2ae6 into apple:master Sep 21, 2020
@kubamracek kubamracek deleted the stdlib-stable-abi branch September 21, 2020 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants