Ying Wang | 6feb6d5 | 2014-04-17 10:03:35 -0700 | [diff] [blame] | 1 | # Detect Mac OS X and SDK versions. |
| 2 | # Output variables: |
| 3 | # build_mac_version |
| 4 | # mac_sdk_version |
| 5 | # mac_sdk_root |
| 6 | # gcc_darwin_version |
| 7 | |
| 8 | ifndef build_mac_version |
| 9 | |
| 10 | build_mac_version := $(shell sw_vers -productVersion) |
| 11 | |
Beat Rupp | e853dcb | 2016-01-09 23:41:19 +0100 | [diff] [blame^] | 12 | mac_sdk_versions_supported := 10.6 10.7 10.8 10.9 10.10 10.11 |
Ying Wang | 6feb6d5 | 2014-04-17 10:03:35 -0700 | [diff] [blame] | 13 | ifneq ($(strip $(MAC_SDK_VERSION)),) |
| 14 | mac_sdk_version := $(MAC_SDK_VERSION) |
| 15 | ifeq ($(filter $(mac_sdk_version),$(mac_sdk_versions_supported)),) |
| 16 | $(warning ****************************************************************) |
| 17 | $(warning * MAC_SDK_VERSION $(MAC_SDK_VERSION) isn't one of the supported $(mac_sdk_versions_supported)) |
| 18 | $(warning ****************************************************************) |
| 19 | $(error Stop.) |
| 20 | endif |
| 21 | else |
| 22 | mac_sdk_versions_installed := $(shell xcodebuild -showsdks | grep macosx | sort | sed -e "s/.*macosx//g") |
| 23 | mac_sdk_version := $(firstword $(filter $(mac_sdk_versions_installed), $(mac_sdk_versions_supported))) |
| 24 | ifeq ($(mac_sdk_version),) |
| 25 | mac_sdk_version := $(firstword $(mac_sdk_versions_supported)) |
| 26 | endif |
| 27 | endif |
| 28 | |
| 29 | mac_sdk_path := $(shell xcode-select -print-path) |
| 30 | # try /Applications/Xcode*.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.?.sdk |
| 31 | # or /Volume/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.?.sdk |
| 32 | mac_sdk_root := $(mac_sdk_path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(mac_sdk_version).sdk |
| 33 | ifeq ($(wildcard $(mac_sdk_root)),) |
| 34 | # try legacy /Developer/SDKs/MacOSX10.?.sdk |
| 35 | mac_sdk_root := /Developer/SDKs/MacOSX$(mac_sdk_version).sdk |
| 36 | endif |
| 37 | ifeq ($(wildcard $(mac_sdk_root)),) |
| 38 | $(warning *****************************************************) |
| 39 | $(warning * Can not find SDK $(mac_sdk_version) at $(mac_sdk_root)) |
| 40 | $(warning *****************************************************) |
| 41 | $(error Stop.) |
| 42 | endif |
| 43 | |
| 44 | ifeq ($(mac_sdk_version),10.6) |
| 45 | gcc_darwin_version := 10 |
| 46 | else |
| 47 | gcc_darwin_version := 11 |
| 48 | endif |
| 49 | |
| 50 | endif # ifndef build_mac_version |