1 files changed, 18 insertions, 13 deletions
@@ -2445,20 +2445,25 @@ if [ -z "$PLATFORM" ]; then
case "$UNAME_SYSTEM:$UNAME_RELEASE" in
- OSX_VERSION=`uname -r | cut -d. -f1`
- # Select compiler. Use g++ unless we find a usable Clang version
- if [ "$OSX_VERSION" -ge 12 ]; then
- # We're on Mountain Lion or above. Use Clang. Don't advertise gcc.
+ # Select compiler. Use g++ unless we find a usable Clang version. Note that
+ # we are checking the "Apple" clang/LLVM version number, not the actual
+ # clang/LLVM version number that the Apple version was based on. We look
+ # for Apple clang version 3.0 or higher, which was branched off LLVM 3.0
+ # from SVN, and first included in Xcode 4.2. Also note that we do not care
+ # about the OS version, since we're not using the clang version that comes
+ # with the system. We use 'xcrun' to check the clang version that's part of
+ # the Xcode installation.
+ if [ "$(xcrun -sdk macosx clang -v 2>&1 | sed -n 's/.*version \([0-9]\).*/\1/p')" -ge 3 ]; then
- elif [ "$OSX_VERSION" -eq 11 ]; then
- # We're on Lion. Check if we have a supported Clang version
- if [ "$(clang -v 2>&1 | grep -Po '(?<=version )[\d]')" -ge 3 ]; then
- PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
+ # Advertise g++ as an alternative on Lion and below
+ if [ "$(uname -r | cut -d. -f1)" -le 11 ]; then
+ PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"