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/godeps.sh | |
parent | d712e9a7e2ec4de5e6e9f72b85b620e719757ee3 (diff) | |
download | gcc-e0f69f36ea1e068cb9aa48ea0d274b98530f2488.tar.gz |
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/godeps.sh')
-rw-r--r-- | libgo/godeps.sh | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libgo/godeps.sh b/libgo/godeps.sh index 7ae5af93bf4..0da5d07bdf9 100644 --- a/libgo/godeps.sh +++ b/libgo/godeps.sh @@ -22,11 +22,12 @@ fi output=$1 shift -deps=`for f in $*; do cat $f; done | +files=$* +deps=`for f in $files; do cat $f; done | sed -n -e '/^import.*"/p; /^import[ ]*(/,/^)/p' | grep '"' | grep -v '"unsafe"' | sed -e 's/^.*"\([^"]*\)".*$/\1/' -e 's/$/.gox/' | sort -u` -echo $output: $deps +echo $output: $files $deps |