Merge "Rewrite macOS SDK selection" am: 1c6de4bdac

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1864059

Change-Id: I0f360745b26dad800f0a5bd697c4a5745dfb8883
This commit is contained in:
Treehugger Robot
2021-10-20 22:39:25 +00:00
committed by Automerger Merge Worker

View File

@@ -56,9 +56,7 @@ var (
"10.13", "10.13",
"10.14", "10.14",
"10.15", "10.15",
"11.0", "11",
"11.1",
"11.3",
} }
darwinAvailableLibraries = append( darwinAvailableLibraries = append(
@@ -138,7 +136,7 @@ func getMacTools(ctx android.PathContext) *macPlatformTools {
return "" return ""
} }
bytes, err := exec.Command(xcrunTool, args...).Output() bytes, err := exec.Command(xcrunTool, append([]string{"--sdk", "macosx"}, args...)...).Output()
if err != nil { if err != nil {
macTools.err = fmt.Errorf("xcrun %q failed with: %q", args, err) macTools.err = fmt.Errorf("xcrun %q failed with: %q", args, err)
return "" return ""
@@ -147,27 +145,19 @@ func getMacTools(ctx android.PathContext) *macPlatformTools {
return strings.TrimSpace(string(bytes)) return strings.TrimSpace(string(bytes))
} }
xcrunSdk := func(arg string) string { sdkVersion := xcrun("--show-sdk-version")
if selected := ctx.Config().Getenv("MAC_SDK_VERSION"); selected != "" { sdkVersionSupported := false
if !inList(selected, darwinSupportedSdkVersions) { for _, version := range darwinSupportedSdkVersions {
macTools.err = fmt.Errorf("MAC_SDK_VERSION %s isn't supported: %q", selected, darwinSupportedSdkVersions) if version == sdkVersion || strings.HasPrefix(sdkVersion, version+".") {
return "" sdkVersionSupported = true
}
}
if !sdkVersionSupported {
macTools.err = fmt.Errorf("Unsupported macOS SDK version %q not in %v", sdkVersion, darwinSupportedSdkVersions)
return
} }
return xcrun("--sdk", "macosx"+selected, arg) macTools.sdkRoot = xcrun("--show-sdk-path")
}
for _, sdk := range darwinSupportedSdkVersions {
bytes, err := exec.Command(xcrunTool, "--sdk", "macosx"+sdk, arg).Output()
if err == nil {
return strings.TrimSpace(string(bytes))
}
}
macTools.err = fmt.Errorf("Could not find a supported mac sdk: %q", darwinSupportedSdkVersions)
return ""
}
macTools.sdkRoot = xcrunSdk("--show-sdk-path")
macTools.arPath = xcrun("--find", "ar") macTools.arPath = xcrun("--find", "ar")
macTools.stripPath = xcrun("--find", "strip") macTools.stripPath = xcrun("--find", "strip")