diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2016-08-06 00:36:33 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2016-08-06 00:36:33 +0000 |
commit | e0f69f36ea1e068cb9aa48ea0d274b98530f2488 (patch) | |
tree | 8925fdf222aa5a7635a6eb748602b694043eafb7 /libgo/go/math | |
parent | d712e9a7e2ec4de5e6e9f72b85b620e719757ee3 (diff) | |
download | gcc-e0f69f36ea1e068cb9aa48ea0d274b98530f2488.zip gcc-e0f69f36ea1e068cb9aa48ea0d274b98530f2488.tar.gz gcc-e0f69f36ea1e068cb9aa48ea0d274b98530f2488.tar.bz2 |
libgo: change build procedure to use build tags
Previously the libgo Makefile explicitly listed the set of files to
compile for each package. For packages that use build tags, this
required a lot of awkward automake conditionals in the Makefile.
This CL changes the build to look at the build tags in the files.
The new shell script libgo/match.sh does the matching. This required
adjusting a lot of build tags, and removing some files that are never
used. I verified that the exact same sets of files are compiled on
amd64 GNU/Linux. I also tested the build on i386 Solaris.
Writing match.sh revealed some bugs in the build tag handling that
already exists, in a slightly different form, in the gotest shell
script. This CL fixes those problems as well.
The old code used automake conditionals to handle systems that were
missing strerror_r and wait4. Rather than deal with those in Go, those
functions are now implemented in runtime/go-nosys.c when necessary, so
the Go code can simply assume that they exist.
The os testsuite looked for dir_unix.go, which was never built for gccgo
and has now been removed. I changed the testsuite to look for dir.go
instead.
Reviewed-on: https://go-review.googlesource.com/25546
From-SVN: r239189
Diffstat (limited to 'libgo/go/math')
-rw-r--r-- | libgo/go/math/big/arith_decl.go | 1 | ||||
-rw-r--r-- | libgo/go/math/big/arith_decl_pure.go | 2 | ||||
-rw-r--r-- | libgo/go/math/floor_asm.go | 3 |
3 files changed, 4 insertions, 2 deletions
diff --git a/libgo/go/math/big/arith_decl.go b/libgo/go/math/big/arith_decl.go index 5433b6d..5538833 100644 --- a/libgo/go/math/big/arith_decl.go +++ b/libgo/go/math/big/arith_decl.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// +build ignore // +build !math_big_pure_go package big diff --git a/libgo/go/math/big/arith_decl_pure.go b/libgo/go/math/big/arith_decl_pure.go index 21775dd..5c04414 100644 --- a/libgo/go/math/big/arith_decl_pure.go +++ b/libgo/go/math/big/arith_decl_pure.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build math_big_pure_go +// -build math_big_pure_go package big diff --git a/libgo/go/math/floor_asm.go b/libgo/go/math/floor_asm.go index 28e56a5..9a2487a 100644 --- a/libgo/go/math/floor_asm.go +++ b/libgo/go/math/floor_asm.go @@ -2,7 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build amd64 amd64p32 +// +build ignore +// -build amd64 amd64p32 package math |