Skip to content

Commit cc2e38a

Browse files
committed
cmd/gomobile: use Output instead of CombinedOutput at envClang
It dosen't make sense to parse stdout and stderr to get a necessary information like clang command. Actually envClang sometimes didn't work correctly due to this. Fixes golang/go#53316 Change-Id: Ia2c518c44c0003b4f9b50dba85fb971c2ef4340d Reviewed-on: https://go-review.googlesource.com/c/mobile/+/620315 Reviewed-by: Dmitri Shuralyov <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Michael Knyszek <[email protected]>
1 parent 957bd32 commit cc2e38a

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Diff for: cmd/gomobile/env.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -436,15 +436,21 @@ func envClang(sdkName string) (clang, cflags string, err error) {
436436
return sdkName + "-clang", "-isysroot " + sdkName, nil
437437
}
438438
cmd := exec.Command("xcrun", "--sdk", sdkName, "--find", "clang")
439-
out, err := cmd.CombinedOutput()
439+
out, err := cmd.Output()
440440
if err != nil {
441+
if ee := (*exec.ExitError)(nil); errors.As(err, &ee) {
442+
out = append(out, ee.Stderr...)
443+
}
441444
return "", "", fmt.Errorf("xcrun --find: %v\n%s", err, out)
442445
}
443446
clang = strings.TrimSpace(string(out))
444447

445448
cmd = exec.Command("xcrun", "--sdk", sdkName, "--show-sdk-path")
446-
out, err = cmd.CombinedOutput()
449+
out, err = cmd.Output()
447450
if err != nil {
451+
if ee := (*exec.ExitError)(nil); errors.As(err, &ee) {
452+
out = append(out, ee.Stderr...)
453+
}
448454
return "", "", fmt.Errorf("xcrun --show-sdk-path: %v\n%s", err, out)
449455
}
450456
sdk := strings.TrimSpace(string(out))

0 commit comments

Comments
 (0)