summaryrefslogtreecommitdiff
path: root/libgo/match.sh
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2017-11-13 16:28:05 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2017-11-13 16:29:09 +0000
commit03ac50856c9fc8c96b7a17239ee40a10397750a7 (patch)
treea648c6d3428e4757e003f6ed1748adb9613065db /libgo/match.sh
parent34efdaf078b01a7387007c4e6bde6db86384c4b7 (diff)
downloadgcc-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-xlibgo/match.sh197
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