cmd/gomobile: allow arm64 host toolchain on Android (Termux) #115
+19
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
cmd/gomobile: improve Android/arm64 host compatibility
Gomobile historically assumes that an arm64 host cannot provide an
arm64 NDK toolchain (due to official NDK limitations up to r23), and
therefore treats GOARCH=arm64 as unsupported. This causes gomobile
to fail immediately when run in Android/arm64 environments such as
Termux, even when a working arm64 host toolchain is available.
This change adds a minimal check to allow gomobile to use arm64 host
toolchains when GOOS=android and a Termux-style environment is
detected. The existing behavior for all other platforms remains
unchanged.
In addition, gomobile no longer overrides CC/CXX if the caller has
already provided them, allowing custom toolchains to be used safely.
This enables gomobile bind and gomobile build to run successfully
under Termux without affecting desktop builds.