Xcode 9.2

Update all the necessary versions but also cleanup some related
indentation and point the `Xcode.md` document to the code rather than
duplicating it there (which means it sometimes ends up outdated).
This commit is contained in:
Mike McQuaid 2017-12-08 14:59:15 +00:00
parent f52d69abea
commit 1aee4e1e1c
2 changed files with 23 additions and 89 deletions

View File

@ -17,13 +17,13 @@ module OS
when "10.9" then "6.2"
when "10.10" then "7.2.1"
when "10.11" then "8.2.1"
when "10.12" then "9.1"
when "10.13" then "9.1"
when "10.12" then "9.2"
when "10.13" then "9.2"
else
raise "macOS '#{MacOS.version}' is invalid" unless OS::Mac.prerelease?
# Default to newest known version of Xcode for unreleased macOS versions.
"9.1"
"9.2"
end
end
@ -141,7 +141,11 @@ module OS
end
end
# The remaining logic provides a fake Xcode version based on the
detect_version_from_clang_version
end
def detect_version_from_clang_version
# This logic provides a fake Xcode version based on the
# installed CLT version. This is useful as they are packaged
# simultaneously so workarounds need to apply to both based on their
# comparable version.
@ -217,14 +221,13 @@ module OS
# on the older supported platform for that Xcode release, i.e there's no
# CLT package for 10.11 that contains the Clang version from Xcode 8.
case MacOS.version
when "10.13" then "900.0.38"
when "10.12" then "900.0.38"
when "10.13" then "900.0.39.2"
when "10.12" then "900.0.39.2"
when "10.11" then "800.0.42.1"
when "10.10" then "700.1.81"
when "10.9" then "600.0.57"
when "10.8" then "503.0.40"
else
"425.0.28"
else "425.0.28"
end
end

View File

@ -2,88 +2,19 @@
## Supported Xcode versions
Homebrew supports and recommends the latest Xcode and/or Command Line
Tools available for your platform:
Tools available for your platform (see `OS::Mac::Xcode.latest_version` and `OS::Mac::CLT.latest_version` in [`Library/Homebrew/os/mac/xcode.rb`](https://github.com/Homebrew/brew/blob/master/Library/Homebrew/os/mac/xcode.rb)).
| macOS | Xcode | Command Line Tools |
|-------|-------|--------------------|
| 10.6 | 3.2.6 | N/A |
| 10.7 | 4.6.3 | April 2013 |
| 10.8 | 5.1.1 | April 2014 |
| 10.9 | 6.2 | 6.2 |
| 10.10 | 7.2.1 | 7.2 |
| 10.11 | 8.2.1 | 8.2 |
| 10.12 | 9.1 | 9.0.1 |
| 10.13 | 9.1 | 9.0.1 |
## Xcode compiler versions
## Compiler version database
See `OS::Mac::STANDARD_COMPILERS` in [`Library/Homebrew/os/mac.rb`](https://github.com/Homebrew/brew/blob/master/Library/Homebrew/os/mac.rb).
| Xcode | GCC 4.0 | GCC 4.2 | LLVM-GCC 4.2 | LLVM | Clang | LLVM (SVN) |
|-------|---------|---------|--------------|------------|-----------------|------------|
| 2.5.0 | 5370 | — | — | — | — | — |
| 3.1.4 | 5493 | 5577 | 5555 | 2064.3 | — | — |
| 3.2.0 | 5493 | 5646 | 5646 | 2118 | — | — |
| 3.2.1 | 5493 | 5646 | 5646 | 2206 | — | — |
| 3.2.2 | 5493 | 5659 | 5646 | 2207.5 | 1.0.2 | — |
| 3.2.3 | 5494 | 5664 | 5658 | 2326.10 | 1.5 (60) | — |
| 3.2.4 | 5494 | 5664 | 5658 | 2326.10 | 1.5 (60) | — |
| 3.2.5 | 5494 | 5664 | 5658 | 2333.4 | 1.6 (70) | — |
| 3.2.6 | 5494 | 5666 | 5658 | 2335.6 | 1.7 (77) | 2.9 |
| 4.0.0 | 5494 | 5666 | 5658 | 2335.9 | 2.0 (137) | 2.9 |
| 4.0.2 | 5494 | 5666 | 5658 | 2335.9 | 2.0 (137) | 2.9 |
| 4.1.0 | — | 5666 | 5658 | 2335.15.00 | 2.1 (163.7.1) | 3.0 |
| 4.2.0 | — | — | 5658 | 2336.1.00 | 3.0 (211.10.1) | 3.0 |
| 4.3.0 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.45) | 3.1 |
| 4.3.1 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.54) | 3.1 |
| 4.3.2 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.58) | 3.1 |
| 4.3.3 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.61) | 3.1 |
| 4.4.0 | — | — | 5658 | 2336.11.00 | 4.0 (421.0.57) | 3.1 |
| 4.4.1 | — | — | 5658 | 2336.11.00 | 4.0 (421.0.60) | 3.1 |
| 4.5.0 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.65) | 3.1 |
| 4.5.1 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.66) | 3.1 |
| 4.5.2 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.66) | 3.1 |
| 4.6.0 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.24) | 3.2 |
| 4.6.1 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.27) | 3.2 |
| 4.6.2 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.28) | 3.2 |
| 4.6.3 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.28) | 3.2 |
| 5.0.0 | — | — | — | — | 5.0 (500.2.76) | 3.3 |
| 5.0.1 | — | — | — | — | 5.0 (500.2.78) | 3.3 |
| 5.0.1 | — | — | — | — | 5.0 (500.2.79) | 3.3 |
| 5.1 | — | — | — | — | 5.1 (503.0.38) | 3.4 |
| 5.1.1 | — | — | — | — | 5.1 (503.0.40) | 3.4 |
| 6.0 | — | — | — | — | 6.0 (600.0.51) | 3.5 |
| 6.0.1 | — | — | — | — | 6.0 (600.0.51) | 3.5 |
| 6.1 | — | — | — | — | 6.0 (600.0.54) | 3.5 |
| 6.2 | — | — | — | — | 6.0 (600.0.57) | 3.5 |
| 6.3 | — | — | — | — | 6.1 (602.0.49) | 3.6 |
| 6.3.1 | — | — | — | — | 6.1 (602.0.49) | 3.6 |
| 6.3.2 | — | — | — | — | 6.1 (602.0.53) | 3.6 |
| 6.4 | — | — | — | — | 6.1 (602.0.53) | 3.6 |
| 7.0 | — | — | — | — | 7.0 (700.0.72) | — |
| 7.0.1 | — | — | — | — | 7.0 (700.0.72) | — |
| 7.1 | — | — | — | — | 7.0 (700.1.76) | — |
| 7.1.1 | — | — | — | — | 7.0 (700.1.76) | — |
| 7.2 | — | — | — | — | 7.0 (700.1.81) | — |
| 7.2.1 | — | — | — | — | 7.0 (700.1.81) | — |
| 7.3 | — | — | — | — | 7.3 (703.0.29) | — |
| 7.3.1 | — | — | — | — | 7.3 (703.0.31) | — |
| 8.0 | — | — | — | — | 8.0 (800.0.38) | — |
| 8.1 | — | — | — | — | 8.0 (800.0.42.1)| — |
| 8.2 | — | — | — | — | 8.0 (800.0.42.1)| — |
| 8.2.1 | — | — | — | — | 8.0 (800.0.42.1)| — |
| 8.3 | — | — | — | — | 8.1 (802.0.38) | — |
| 8.3.1 | — | — | — | — | 8.1 (802.0.41) | — |
| 8.3.2 | — | — | — | — | 8.1 (802.0.42) | — |
| 8.3.3 | — | — | — | — | 8.1 (802.0.42) | — |
| 9.0.0 | — | — | — | — | 9.0 (900.0.37) | — |
| 9.0.1 | — | — | — | — | 9.0 (900.0.38) | — |
| 9.1 | — | — | — | — | 9.0 (900.0.38) | — |
## References to Xcode and compiler versions in code
## Updating for new Xcode releases
When a new Xcode release is made, the following things need to be
updated:
* `MacOS::Xcode.latest_version`
* `MacOS::CLT.latest_version`
* `MacOS::STANDARD_COMPILERS`
* `MacOS::Xcode.version fallback logic`
* ensure compiler version Regexps continue to work (`MacOS` module)
- In [`Library/Homebrew/os/mac/xcode.rb`](https://github.com/Homebrew/brew/blob/master/Library/Homebrew/os/mac/xcode.rb)
* `OS::Mac::Xcode.latest_version`
* `OS::Mac::CLT.latest_version`
* `OS::Mac::Xcode.detect_version_from_clang_version`
- In [`Library/Homebrew/os/mac.rb`](https://github.com/Homebrew/brew/blob/master/Library/Homebrew/os/mac.rb)
* `OS::Mac::STANDARD_COMPILERS`