diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2017-11-13 16:28:05 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2017-11-13 16:29:09 +0000 |
commit | 03ac50856c9fc8c96b7a17239ee40a10397750a7 (patch) | |
tree | a648c6d3428e4757e003f6ed1748adb9613065db /libgo/match.sh | |
parent | 34efdaf078b01a7387007c4e6bde6db86384c4b7 (diff) | |
download | gcc-tarball-03ac50856c9fc8c96b7a17239ee40a10397750a7.tar.gz |
gcc 7.2.0
This is imported manually due to a bug in the tarball import script.
See the baserock-dev mailing list archives (November 2017) for a
more detailed explaination of the issue.
Diffstat (limited to 'libgo/match.sh')
-rwxr-xr-x | libgo/match.sh | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/libgo/match.sh b/libgo/match.sh deleted file mode 100755 index 94bcbc83c6..0000000000 --- a/libgo/match.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -# Copyright 2016 The Go Authors. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Given a source directory, returns the non-test Go files that should -# be built for this target. This implements Go's build constraints in -# a shell script. There is similar code in testsuite/gotest. - -set -e - -LANG=C -LC_ALL=C -LC_CTYPE=C -export LANG LC_ALL LC_CTYPE - -srcdir="" -goarch="" -goos="" -extrafiles="" -cmdlinetag="nosuchtag" -cgotag="cgo" - -for arg; do - case "x$arg" in - x--srcdir) - srcdir=$2 - shift - shift - ;; - x--srcdir=*) - srcdir=`echo $1 | sed -e 's/^--srcdir=//'` - shift - ;; - x--goarch) - goarch=$2 - shift - shift - ;; - x--goarch=*) - goarch=`echo $1 | sed -e 's/^--goarch=//'` - shift - ;; - x--goos) - goos=$2 - shift - shift - ;; - x--goos=*) - goos=`echo $1 | sed -e 's/^--goos=//'` - shift - ;; - x--extrafiles) - extrafiles=$2 - shift - shift - ;; - x--extrafiles=*) - extrafiles=`echo $1 | sed -e 's/^--extrafiles=//'` - shift - ;; - x--tag) - cmdlinetag=$2 - shift - shift - ;; - x--tag=*) - cmdlinetag=`echo $1 | sed -e 's/^--tag=//'` - shift - ;; - x--nocgo) - cgotag="nosuchtag" - shift - ;; - *) - echo 1>&2 "unknown argument $arg" - exit 1 - ;; - esac -done - -cd $srcdir - -gofiles= -for f in *.go; do - case $f in - *_test.go) - ;; - *.go) - gofiles="$gofiles $f" - ;; - esac -done - -if test "$gofiles" = ""; then - echo 1>&2 "no non-test .go files in $srcdir" - exit 1 -fi - -matched= -for f in $gofiles; do - tag1=`echo $f | sed -e 's/^.*_\([^_]*\).go$/\1/'` - tag2=`echo $f | sed -e 's/^.*_\([^_]*\)_[^_]*.go$/\1/'` - if test x$tag1 = x$f; then - tag1= - fi - if test x$tag2 = x$f; then - tag2= - fi - - case "$tag1" in - "") ;; - $goarch) ;; - $goos) ;; - android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) - tag1=nonmatchingtag - ;; - 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64) - tag1=nonmatchingtag - ;; - esac - - case "$tag2" in - "") ;; - $goarch) ;; - $goos) ;; - android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) - tag2=nonmatchingtag - ;; - 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64) - tag2=nonmatchingtag - ;; - esac - - if test x$tag1 != xnonmatchingtag -a x$tag2 != xnonmatchingtag; then - # Pipe through cat so that `set -e` doesn't affect fgrep. - tags=`sed '/^package /q' < $f | grep '^// +build ' | cat` - omatch=true - first=true - match=false - for tag in $tags; do - case $tag in - "//") - ;; - "+build") - if test "$first" = "true"; then - first=false - elif test "$match" = "false"; then - omatch=false - fi - match=false - ;; - $goos | $goarch | $cgotag | $cmdlinetag | "gccgo") - match=true - ;; - "!"$goos | "!"$goarch | "!"$cgotag | "!"$cmdlinetag | "!gccgo") - ;; - *,*) - cmatch=true - for ctag in `echo $tag | sed -e 's/,/ /g'`; do - case $ctag in - $goos | $goarch | $cgotag | $cmdlinetag | "gccgo") - ;; - "!"$goos | "!"$goarch | "!"$cgotag | "!"$cmdlinetag | "!gccgo") - cmatch=false - ;; - "!"*) - ;; - *) - cmatch=false - ;; - esac - done - if test "$cmatch" = "true"; then - match=true - fi - ;; - "!"*) - match=true - ;; - esac - done - - if test "$match" = "false" -a "$first" = "false"; then - omatch=false - fi - - if test "$omatch" = "true"; then - matched="$matched $srcdir/$f" - fi - fi -done - -echo $matched $extrafiles - -exit 0 |