Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c6de4bd authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Rewrite macOS SDK selection"

parents 2dafba7d 7368d86a
Loading
Loading
Loading
Loading
+12 −22
Original line number Diff line number Diff line
@@ -56,9 +56,7 @@ var (
		"10.13",
		"10.14",
		"10.15",
		"11.0",
		"11.1",
		"11.3",
		"11",
	}

	darwinAvailableLibraries = append(
@@ -138,7 +136,7 @@ func getMacTools(ctx android.PathContext) *macPlatformTools {
				return ""
			}

			bytes, err := exec.Command(xcrunTool, args...).Output()
			bytes, err := exec.Command(xcrunTool, append([]string{"--sdk", "macosx"}, args...)...).Output()
			if err != nil {
				macTools.err = fmt.Errorf("xcrun %q failed with: %q", args, err)
				return ""
@@ -147,27 +145,19 @@ func getMacTools(ctx android.PathContext) *macPlatformTools {
			return strings.TrimSpace(string(bytes))
		}

		xcrunSdk := func(arg string) string {
			if selected := ctx.Config().Getenv("MAC_SDK_VERSION"); selected != "" {
				if !inList(selected, darwinSupportedSdkVersions) {
					macTools.err = fmt.Errorf("MAC_SDK_VERSION %s isn't supported: %q", selected, darwinSupportedSdkVersions)
					return ""
		sdkVersion := xcrun("--show-sdk-version")
		sdkVersionSupported := false
		for _, version := range darwinSupportedSdkVersions {
			if version == sdkVersion || strings.HasPrefix(sdkVersion, version+".") {
				sdkVersionSupported = true
			}

				return xcrun("--sdk", "macosx"+selected, arg)
		}

			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 ""
		if !sdkVersionSupported {
			macTools.err = fmt.Errorf("Unsupported macOS SDK version %q not in %v", sdkVersion, darwinSupportedSdkVersions)
			return
		}

		macTools.sdkRoot = xcrunSdk("--show-sdk-path")
		macTools.sdkRoot = xcrun("--show-sdk-path")

		macTools.arPath = xcrun("--find", "ar")
		macTools.stripPath = xcrun("--find", "strip")