Commit Graph

16 Commits

Author SHA1 Message Date
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