diff options
author | Sam James <sam@gentoo.org> | 2023-11-24 17:22:58 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-11-24 17:44:36 +0000 |
commit | 6a3a1e6a613329f2a4ea88a2fffee0134da780e9 (patch) | |
tree | f42eb18be8218a42cb686f90f535a3e61233c411 /eclass | |
parent | www-apps/nextcloud: add 27.1.4 (diff) | |
download | gentoo-6a3a1e6a613329f2a4ea88a2fffee0134da780e9.tar.gz gentoo-6a3a1e6a613329f2a4ea88a2fffee0134da780e9.tar.bz2 gentoo-6a3a1e6a613329f2a4ea88a2fffee0134da780e9.zip |
go-env.eclass: Reapply "also set GOARM & GO386 when applicable"
This reverts commit 5718f8440197298e0aa1df2a88a66057d2cdaf83.
Reverted because of the issue mentioned in 5718f8440197298e0aa1df2a88a66057d2cdaf83
to not leave things broken while investigating a fix.
Reapplying and fixing it up in a followup.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/go-env.eclass | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass index 08e3cf498a70..4bc8c4b15c65 100644 --- a/eclass/go-env.eclass +++ b/eclass/go-env.eclass @@ -19,6 +19,8 @@ inherit toolchain-funcs # @FUNCTION: go-env_set_compile_environment # @DESCRIPTION: # Set up basic compile environment: CC, CXX, and GOARCH. +# Necessary platform-specific settings such as GOARM or GO386 are also set +# according to the Portage configuration when building for those architectures. # Also carry over CFLAGS, LDFLAGS and friends. # Required for cross-compiling with crossdev. # If not set, host defaults will be used and the resulting binaries are host arch. @@ -28,6 +30,9 @@ go-env_set_compile_environment() { tc-export CC CXX export GOARCH="$(go-env_goarch)" + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat') + export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}" export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}" export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}" @@ -57,4 +62,20 @@ go-env_goarch() { esac } +# @FUNCTION: go-env_goarm +# @USAGE: [CHOST-value] +# @DESCRIPTION: +# Returns the appropriate GOARM setting for the CHOST given, or the default +# CHOST. +go-env_goarm() { + case "${1:-${CHOST}}" in + armv5*) echo 5;; + armv6*) echo 6;; + armv7*) echo 7;; + *) + die "unknown GOARM for ${1:-${CHOST}}" + ;; + esac +} + fi |