Commit graph

18 commits

Author SHA1 Message Date
q66
761b378854 build-style/go: drop 32-bit ppc from gccgo
this will always give us trouble, and probably is not worth
supporting
2021-01-20 14:14:39 +01:00
q66
69b49cfba6 build-style/go: restrict archs for gccgo env too
this is because some archs lack support in gccgo, and some are
not integrated yet in our toolchains
2020-12-17 01:50:52 +01:00
q66
02eeac0798 environment/build-style/go: check for empty hostmakedepends 2020-04-17 05:00:39 +02:00
q66
1b2bf53e82 build-style/go: allow usage with gccgo compiler
This checks if gcc-go-tools have been specified in host deps
and if so, use gccgo to build (gcc-go-tools conflicts with go).

Also, since gccgo is not a multi-compiler, we need to override GCCGO
to get cross-builds. The gccgo for target is always installed, as
it's a part of our cross-toolchains.

[ci skip]
2020-04-17 04:53:13 +02:00
Jürgen Buchmüller
c7891063fb build-style/go.sh: support armv5* as well 2020-04-01 10:23:34 +02:00
q66
ec937e4d29 environment/build-style/go.sh: specify a default set of archs
This is necessary so that crossbuilds to unsupported architectures
are not actually attempted. There is a default archs set which
covers all architectures supported by the official compiler,
and setting it in the template can be used to restrict it more.

Also, add missing GOARCHs. These are irrelevant to whether we
can currently build for that arch or not. Just keep it around
as a list of potential archs to support. These are taken from
gccgo, and in case support for anything is added in the official
compiler, they should match.
2020-03-30 05:32:09 +02:00
q66
151f876627 common: add ppc64 build profiles and other ppc64 bits
This adds the build profiles for ppc64 targets as well as
modifications in other parts of the infra.

These targets are supported:

- ppc64le (glibc little endian elfv2)
- ppc64le-musl (musl little endian)
- ppc64-musl (musl big endian)

ELFv1 targets are explicitly not supported at this point.

Big endian musl supports ppc 970 or newer, while little endian
targets are set to a generic powerpc64le which effectively means
POWER8 and newer. Tuning is always set for POWER9, which is the
most likely target hardware. We also make sure AltiVec is always
on, because it is supported on all hardware we target.

[ci skip]
2019-01-05 23:38:00 +01:00
Jürgen Buchmüller
e9cbfacb5a
build style go.sh: split gocache for glibc/muslc
Closes: #2542

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2018-09-11 12:39:29 +02:00
Michael Aldridge
a4dd50388a xbps-src: Always enable the gocache
[ci_skip]
2018-09-01 22:05:07 -07:00
Michael Gehring
7c20248a20 common/environment/build-style/go.sh: drop go-cross-linux dep 2018-03-19 08:29:05 +01:00
Michael Aldridge
92d6e1a521 go build style: move GOPATH creation to do_configure() 2017-11-26 00:41:26 -08:00
Christian Neukirchen
ff8e25b4f3 build-style/go.sh: enable aarch64. 2016-09-16 22:26:56 +02:00
Dominik Honnef
5accddbb26 go, build-style/go: set nopie=yes 2015-11-19 09:55:48 +01:00
Dominik Honnef
114c395bf9 build-style/go: support cross-compilation with cgo 2015-09-04 02:18:57 +02:00
Dominik Honnef
2bb87e4e07 build-style/go: don't set GOBIN
Go 1.5 doesn't permit our use of GOBIN anymore, breaking
cross-compilation (for details, see
https://github.com/golang/go/issues/9769)

In retrospect, I'm not sure why we set GOBIN in the first place;
GOPATH/bin should suffice.

Closes #2337
2015-08-22 20:58:24 +02:00
Dominik Honnef
3b617119c7 build-style/go: support building multiple packages 2015-05-04 13:40:44 +02:00
Dominik Honnef
a62f407007 set Go env vars in environment
This way, a template can overwrite do_build but still have good defaults
for GOPATH, GOARCH and GOARM.
2015-02-21 14:49:02 +01:00
Dominik Honnef
77e8751a93 New build_style: go 2015-02-21 14:49:02 +01:00