summaryrefslogtreecommitdiff
path: root/libgo/godeps.sh
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2016-08-06 00:36:33 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2016-08-06 00:36:33 +0000
commite0f69f36ea1e068cb9aa48ea0d274b98530f2488 (patch)
tree8925fdf222aa5a7635a6eb748602b694043eafb7 /libgo/godeps.sh
parentd712e9a7e2ec4de5e6e9f72b85b620e719757ee3 (diff)
downloadgcc-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.sh5
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