[swift-evolution] [DRAFT]
Erica Sadun
erica at ericasadun.com
Thu Jun 16 09:20:18 CDT 2016
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://114FBEA2-1A00-454D-8B39-5560E5F1B536>
<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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160616/6c7db02a/attachment.html>
More information about the swift-evolution
mailing list