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:
@@ -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")
|
||||||
|
Reference in New Issue
Block a user