[swift-evolution] [DRAFT]
David Waite
david at alkaline-solutions.com
Thu Jun 16 10:35:38 CDT 2016
Two comments:
- I’ll specifically call out that I think treating this as an alias rather than a new platform is appropriate - it would be confusing for users if the existing #if os(osx) did not match Sierra.
- Do you anticipate a separate proposal deprecating #if os(osx) ?
-DW
> On Jun 16, 2016, at 8:20 AM, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
>
> Gist: https://gist.github.com/erica/f53fa6cfef9e5cf17ab139f7528edde2 <https://gist.github.com/erica/f53fa6cfef9e5cf17ab139f7528edde2>
>
> Aliasing the OS X Platform Configuration Test
>
> Proposal: TBD
> Author: Erica Sadun <http://github.com/erica>
> Status: TBD
> Review manager: TBD
> <https://gist.github.com/erica/f53fa6cfef9e5cf17ab139f7528edde2#introduction>Introduction
>
> This proposal adds a #if os(macos) platform configuration test to Swift that acts like the current if os(osx)
>
> Swift Evolution Discussion: TBD <applewebdata://54A6C9FB-5044-4BCE-9847-704C3D06AEB7>
> <https://gist.github.com/erica/f53fa6cfef9e5cf17ab139f7528edde2#motivation>Motivation
>
> Apple renamed its Mac operating system from OSX to macOS, starting in macOS Sierra. Adding rather than replacing "OSX" enables this adoption to be purely additive and supports the notion that Swift-based applications could be deployed to operating systems earlier than Sierrra.
>
> <https://gist.github.com/erica/f53fa6cfef9e5cf17ab139f7528edde2#current-art>Current Art
>
> Swift currently supports the following platform configuration tests, defined in lib/Basic/LangOptions.cpp.
>
> The literals true and false
> The os() function that tests for OSX, iOS, watchOS, tvOS, Linux, Windows, Android, and FreeBSD
> The arch() function that tests for x86_64, arm, arm64, i386, powerpc64, s390x, and powerpc64le
> The swift() function that tests for specific Swift language releases, e.g. swift(>=2.2)
> <https://gist.github.com/erica/f53fa6cfef9e5cf17ab139f7528edde2#detailed-design>Detailed Design
>
> if (Target.isMacOSX()) {
> addPlatformConditionValue("os", "OSX");
> addPlatformConditionValue("os", "macOS");
> }
> <https://gist.github.com/erica/f53fa6cfef9e5cf17ab139f7528edde2#impact-on-existing-code>Impact on Existing Code
>
> This is purely additive
>
> <https://gist.github.com/erica/f53fa6cfef9e5cf17ab139f7528edde2#alternatives-considered>Alternatives Considered
>
> I think it's unwise to replace OSX instead of adding macOS due to Apple's large and active userbase that may install Swift-sourced software and not upgrade to the latest operating system.
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160616/6b81b0b3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160616/6b81b0b3/attachment.sig>
More information about the swift-evolution
mailing list