Merge pull request #11503 from carlocab/cc-sysroot-handling

shims/super/cc: fix `sysroot` flag handling
This commit is contained in:
Carlo Cabrera 2021-06-08 15:09:56 +01:00 committed by GitHub
commit 71bee26abd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -212,13 +212,24 @@ class Cmd
args << "-Wl,-multiply_defined,suppress"
when "-undefineddynamic_lookup"
args << "-Wl,-undefined,dynamic_lookup"
when /^-isysroot/, /^--sysroot/
when /^-isysroot=/, /^--sysroot=/
if mac?
sdk = enum.next
sdk = arg.split("=")[1..-1].join("=")
# We set the sysroot for macOS SDKs
args << arg unless sdk.downcase.include? "osx"
else
args << arg
end
when /^-isysroot(.+)?/, /^--sysroot(.+)?/
# Support both "-isysrootfoo" and "-isysroot foo" (two arguments)
sdk = chuzzle(Regexp.last_match(1))
if mac?
sdk ||= enum.next
# We set the sysroot for macOS SDKs
args << "-isysroot#{sdk}" unless sdk.downcase.include? "osx"
else
args << arg << enum.next
args << arg
args << enum.next unless sdk
end
when "-dylib"
args << "-Wl,#{arg}"