os/mac/sdk: use MacOSX11.sdk symlink

This commit is contained in:
Bo Anderson 2021-03-03 04:00:58 +00:00
parent 8fa1903be5
commit dae1d89780
No known key found for this signature in database
GPG Key ID: 3DB94E204E137D65
13 changed files with 23 additions and 23 deletions

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -23,7 +23,7 @@
# This should most probably benefit from getting a "Requires:" field added # This should most probably benefit from getting a "Requires:" field added
# dynamically by configure. # dynamically by configure.
# #
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -1,4 +1,4 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
prefix=${homebrew_sdkroot}/usr prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr exec_prefix=/usr
libdir=${exec_prefix}/lib libdir=${exec_prefix}/lib

View File

@ -9,7 +9,8 @@ module OS
# #
# @api private # @api private
class SDK class SDK
VERSIONED_SDK_REGEX = /MacOSX(\d+\.\d+)\.sdk$/.freeze # 11.x SDKs are explicitly excluded - we want the MacOSX11.sdk symlink instead.
VERSIONED_SDK_REGEX = /MacOSX(10\.\d+|\d+)\.sdk$/.freeze
attr_reader :version, :path, :source attr_reader :version, :path, :source
@ -41,24 +42,23 @@ module OS
# Bail out if there is no SDK prefix at all # Bail out if there is no SDK prefix at all
return @all_sdks unless File.directory? sdk_prefix return @all_sdks unless File.directory? sdk_prefix
# Use unversioned SDK path on Big Sur to avoid issues such as:
# https://github.com/Homebrew/homebrew-core/issues/67075
unversioned_sdk_path = Pathname.new("#{sdk_prefix}/MacOSX.sdk")
version = read_sdk_version(unversioned_sdk_path)
if version && version >= :big_sur
unversioned_sdk_version = version
@all_sdks << SDK.new(unversioned_sdk_version, unversioned_sdk_path, source)
end
Dir["#{sdk_prefix}/MacOSX*.sdk"].each do |sdk_path| Dir["#{sdk_prefix}/MacOSX*.sdk"].each do |sdk_path|
next unless sdk_path.match?(SDK::VERSIONED_SDK_REGEX) next unless sdk_path.match?(SDK::VERSIONED_SDK_REGEX)
version = read_sdk_version(Pathname.new(sdk_path)) version = read_sdk_version(Pathname.new(sdk_path))
next if version.nil? || version == unversioned_sdk_version next if version.nil?
@all_sdks << SDK.new(version, sdk_path, source) @all_sdks << SDK.new(version, sdk_path, source)
end end
# Fall back onto unversioned SDK if we've not found a suitable SDK
if @all_sdks.empty?
sdk_path = Pathname.new("#{sdk_prefix}/MacOSX.sdk")
if (version = read_sdk_version(sdk_path))
@all_sdks << SDK.new(version, sdk_path, source)
end
end
@all_sdks @all_sdks
end end