all repos

rss-tools @ master

get rss feed from sources that(i need and) dont provide one

rss-tools/vendor/golang.org/x/sys/unix/mkall.sh (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
we're vendoring now, 7 days ago
1
#!/usr/bin/env bash
2
# Copyright 2009 The Go Authors. All rights reserved.
3
# Use of this source code is governed by a BSD-style
4
# license that can be found in the LICENSE file.
5
6
# This script runs or (given -n) prints suggested commands to generate files for
7
# the Architecture/OS specified by the GOARCH and GOOS environment variables.
8
# See README.md for more information about how the build system works.
9
10
GOOSARCH="${GOOS}_${GOARCH}"
11
12
# defaults
13
mksyscall="go run mksyscall.go"
14
mkerrors="./mkerrors.sh"
15
zerrors="zerrors_$GOOSARCH.go"
16
mksysctl=""
17
zsysctl="zsysctl_$GOOSARCH.go"
18
mksysnum=
19
mktypes=
20
mkasm=
21
run="sh"
22
cmd=""
23
24
case "$1" in
25
-syscalls)
26
	for i in zsyscall*go
27
	do
28
		# Run the command line that appears in the first line
29
		# of the generated file to regenerate it.
30
		sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i
31
		rm _$i
32
	done
33
	exit 0
34
	;;
35
-n)
36
	run="cat"
37
	cmd="echo"
38
	shift
39
esac
40
41
case "$#" in
42
0)
43
	;;
44
*)
45
	echo 'usage: mkall.sh [-n]' 1>&2
46
	exit 2
47
esac
48
49
if [[ "$GOOS" = "linux" ]]; then
50
	# Use the Docker-based build system
51
	# Files generated through docker (use $cmd so you can Ctl-C the build or run)
52
	set -e
53
	$cmd docker build --tag generate:$GOOS $GOOS
54
	$cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")/.." && pwd):/build generate:$GOOS
55
	exit
56
fi
57
58
GOOSARCH_in=syscall_$GOOSARCH.go
59
case "$GOOSARCH" in
60
_* | *_ | _)
61
	echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2
62
	exit 1
63
	;;
64
aix_ppc)
65
	mkerrors="$mkerrors -maix32"
66
	mksyscall="go run mksyscall_aix_ppc.go -aix"
67
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
68
	;;
69
aix_ppc64)
70
	mkerrors="$mkerrors -maix64"
71
	mksyscall="go run mksyscall_aix_ppc64.go -aix"
72
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
73
	;;
74
darwin_amd64)
75
	mkerrors="$mkerrors -m64"
76
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
77
	mkasm="go run mkasm.go"
78
	;;
79
darwin_arm64)
80
	mkerrors="$mkerrors -m64"
81
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
82
	mkasm="go run mkasm.go"
83
	;;
84
dragonfly_amd64)
85
	mkerrors="$mkerrors -m64"
86
	mksyscall="go run mksyscall.go -dragonfly"
87
	mksysnum="go run mksysnum.go 'https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master'"
88
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
89
	;;
90
freebsd_386)
91
	mkerrors="$mkerrors -m32"
92
	mksyscall="go run mksyscall.go -l32"
93
	mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'"
94
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
95
	;;
96
freebsd_amd64)
97
	mkerrors="$mkerrors -m64"
98
	mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'"
99
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
100
	;;
101
freebsd_arm)
102
	mkerrors="$mkerrors"
103
	mksyscall="go run mksyscall.go -l32 -arm"
104
	mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'"
105
	# Let the type of C char be signed for making the bare syscall
106
	# API consistent across platforms.
107
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
108
	;;
109
freebsd_arm64)
110
	mkerrors="$mkerrors -m64"
111
	mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'"
112
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
113
	;;
114
freebsd_riscv64)
115
	mkerrors="$mkerrors -m64"
116
	mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'"
117
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
118
	;;
119
netbsd_386)
120
	mkerrors="$mkerrors -m32"
121
	mksyscall="go run mksyscall.go -l32 -netbsd"
122
	mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
123
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
124
	;;
125
netbsd_amd64)
126
	mkerrors="$mkerrors -m64"
127
	mksyscall="go run mksyscall.go -netbsd"
128
	mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
129
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
130
	;;
131
netbsd_arm)
132
	mkerrors="$mkerrors"
133
	mksyscall="go run mksyscall.go -l32 -netbsd -arm"
134
	mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
135
	# Let the type of C char be signed for making the bare syscall
136
	# API consistent across platforms.
137
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
138
	;;
139
netbsd_arm64)
140
	mkerrors="$mkerrors -m64"
141
	mksyscall="go run mksyscall.go -netbsd"
142
	mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
143
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
144
	;;
145
openbsd_386)
146
	mkasm="go run mkasm.go"
147
	mkerrors="$mkerrors -m32"
148
	mksyscall="go run mksyscall.go -l32 -openbsd -libc"
149
	mksysctl="go run mksysctl_openbsd.go"
150
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
151
	;;
152
openbsd_amd64)
153
	mkasm="go run mkasm.go"
154
	mkerrors="$mkerrors -m64"
155
	mksyscall="go run mksyscall.go -openbsd -libc"
156
	mksysctl="go run mksysctl_openbsd.go"
157
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
158
	;;
159
openbsd_arm)
160
	mkasm="go run mkasm.go"
161
	mkerrors="$mkerrors"
162
	mksyscall="go run mksyscall.go -l32 -openbsd -arm -libc"
163
	mksysctl="go run mksysctl_openbsd.go"
164
	# Let the type of C char be signed for making the bare syscall
165
	# API consistent across platforms.
166
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
167
	;;
168
openbsd_arm64)
169
	mkasm="go run mkasm.go"
170
	mkerrors="$mkerrors -m64"
171
	mksyscall="go run mksyscall.go -openbsd -libc"
172
	mksysctl="go run mksysctl_openbsd.go"
173
	# Let the type of C char be signed for making the bare syscall
174
	# API consistent across platforms.
175
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
176
	;;
177
openbsd_mips64)
178
	mkasm="go run mkasm.go"
179
	mkerrors="$mkerrors -m64"
180
	mksyscall="go run mksyscall.go -openbsd -libc"
181
	mksysctl="go run mksysctl_openbsd.go"
182
	# Let the type of C char be signed for making the bare syscall
183
	# API consistent across platforms.
184
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
185
	;;
186
openbsd_ppc64)
187
	mkasm="go run mkasm.go"
188
	mkerrors="$mkerrors -m64"
189
	mksyscall="go run mksyscall.go -openbsd -libc"
190
	mksysctl="go run mksysctl_openbsd.go"
191
	# Let the type of C char be signed for making the bare syscall
192
	# API consistent across platforms.
193
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
194
	;;
195
openbsd_riscv64)
196
	mkasm="go run mkasm.go"
197
	mkerrors="$mkerrors -m64"
198
	mksyscall="go run mksyscall.go -openbsd -libc"
199
	mksysctl="go run mksysctl_openbsd.go"
200
	# Let the type of C char be signed for making the bare syscall
201
	# API consistent across platforms.
202
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
203
	;;
204
solaris_amd64)
205
	mksyscall="go run mksyscall_solaris.go"
206
	mkerrors="$mkerrors -m64"
207
	mksysnum=
208
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
209
	;;
210
illumos_amd64)
211
        mksyscall="go run mksyscall_solaris.go"
212
	mkerrors=
213
	mksysnum=
214
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
215
	;;
216
*)
217
	echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2
218
	exit 1
219
	;;
220
esac
221
222
(
223
	if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi
224
	case "$GOOS" in
225
	*)
226
		syscall_goos="syscall_$GOOS.go"
227
		case "$GOOS" in
228
		darwin | dragonfly | freebsd | netbsd | openbsd)
229
			syscall_goos="syscall_bsd.go $syscall_goos"
230
			;;
231
		esac
232
		if [ -n "$mksyscall" ]; then
233
			if [ "$GOOSARCH" == "aix_ppc64" ]; then
234
				# aix/ppc64 script generates files instead of writing to stdin.
235
				echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ;
236
			elif [ "$GOOS" == "illumos" ]; then
237
			        # illumos code generation requires a --illumos switch
238
			        echo "$mksyscall -illumos -tags illumos,$GOARCH syscall_illumos.go |gofmt > zsyscall_illumos_$GOARCH.go";
239
			        # illumos implies solaris, so solaris code generation is also required
240
				echo "$mksyscall -tags solaris,$GOARCH syscall_solaris.go syscall_solaris_$GOARCH.go |gofmt >zsyscall_solaris_$GOARCH.go";
241
			else
242
				echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go";
243
			fi
244
		fi
245
	esac
246
	if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi
247
	if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi
248
	if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi
249
	if [ -n "$mkasm" ]; then echo "$mkasm $GOOS $GOARCH"; fi
250
) | $run