diff options
| author | Zach Riggle <riggle@google.com> | 2018-10-08 17:57:53 -0500 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-10-10 11:54:53 +0200 |
| commit | f37861df632a8e4c78cb3f174820eb915efb7ae2 (patch) | |
| tree | 64e7bfb118392e9fdc74331a8cc30044cbe2efb5 | |
| parent | 8b311eafa7f32ebcae67cdf5e16aa1ab3fc77e7f (diff) | |
targets: Use OS=linux when GOOS=android
This avoids the issue of "android" not having any registered configurations
or syscalls / ioctls / etc, when built with GOOS=android.
This occurs when building in Google3, since --config=android_arm64 selects
the Android toolchain.
| -rw-r--r-- | prog/target.go | 3 | ||||
| -rw-r--r-- | sys/targets/targets.go | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/prog/target.go b/prog/target.go index 631b756e8..bff59ea4f 100644 --- a/prog/target.go +++ b/prog/target.go @@ -72,6 +72,9 @@ func RegisterTarget(target *Target, initArch func(target *Target)) { } func GetTarget(OS, arch string) (*Target, error) { + if OS == "android" { + OS = "linux" + } key := OS + "/" + arch target := targets[key] if target == nil { diff --git a/sys/targets/targets.go b/sys/targets/targets.go index 98a2fa9d0..24fcd5392 100644 --- a/sys/targets/targets.go +++ b/sys/targets/targets.go @@ -302,8 +302,12 @@ func init() { initTarget(target, OS, arch) } } + goos := runtime.GOOS + if goos == "android" { + goos = "linux" + } for _, target := range List["test"] { - target.CCompiler = List[runtime.GOOS][runtime.GOARCH].CCompiler + target.CCompiler = List[goos][runtime.GOARCH].CCompiler } } |
