Mercurial > yakumo_izuru > aya
comparison vendor/golang.org/x/sys/unix/mkall.sh @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children | 4b79810863f6 |
comparison
equal
deleted
inserted
replaced
65:6d985efa0f7a | 66:787b5ee0289d |
---|---|
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 $cmd docker build --tag generate:$GOOS $GOOS | |
53 $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")/.." && /bin/pwd):/build generate:$GOOS | |
54 exit | |
55 fi | |
56 | |
57 GOOSARCH_in=syscall_$GOOSARCH.go | |
58 case "$GOOSARCH" in | |
59 _* | *_ | _) | |
60 echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 | |
61 exit 1 | |
62 ;; | |
63 aix_ppc) | |
64 mkerrors="$mkerrors -maix32" | |
65 mksyscall="go run mksyscall_aix_ppc.go -aix" | |
66 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
67 ;; | |
68 aix_ppc64) | |
69 mkerrors="$mkerrors -maix64" | |
70 mksyscall="go run mksyscall_aix_ppc64.go -aix" | |
71 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
72 ;; | |
73 darwin_amd64) | |
74 mkerrors="$mkerrors -m64" | |
75 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
76 mkasm="go run mkasm_darwin.go" | |
77 ;; | |
78 darwin_arm64) | |
79 mkerrors="$mkerrors -m64" | |
80 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
81 mkasm="go run mkasm_darwin.go" | |
82 ;; | |
83 dragonfly_amd64) | |
84 mkerrors="$mkerrors -m64" | |
85 mksyscall="go run mksyscall.go -dragonfly" | |
86 mksysnum="go run mksysnum.go 'https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master'" | |
87 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
88 ;; | |
89 freebsd_386) | |
90 mkerrors="$mkerrors -m32" | |
91 mksyscall="go run mksyscall.go -l32" | |
92 mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" | |
93 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
94 ;; | |
95 freebsd_amd64) | |
96 mkerrors="$mkerrors -m64" | |
97 mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" | |
98 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
99 ;; | |
100 freebsd_arm) | |
101 mkerrors="$mkerrors" | |
102 mksyscall="go run mksyscall.go -l32 -arm" | |
103 mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" | |
104 # Let the type of C char be signed for making the bare syscall | |
105 # API consistent across platforms. | |
106 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" | |
107 ;; | |
108 freebsd_arm64) | |
109 mkerrors="$mkerrors -m64" | |
110 mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" | |
111 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" | |
112 ;; | |
113 freebsd_riscv64) | |
114 mkerrors="$mkerrors -m64" | |
115 mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" | |
116 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" | |
117 ;; | |
118 netbsd_386) | |
119 mkerrors="$mkerrors -m32" | |
120 mksyscall="go run mksyscall.go -l32 -netbsd" | |
121 mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" | |
122 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
123 ;; | |
124 netbsd_amd64) | |
125 mkerrors="$mkerrors -m64" | |
126 mksyscall="go run mksyscall.go -netbsd" | |
127 mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" | |
128 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
129 ;; | |
130 netbsd_arm) | |
131 mkerrors="$mkerrors" | |
132 mksyscall="go run mksyscall.go -l32 -netbsd -arm" | |
133 mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" | |
134 # Let the type of C char be signed for making the bare syscall | |
135 # API consistent across platforms. | |
136 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" | |
137 ;; | |
138 netbsd_arm64) | |
139 mkerrors="$mkerrors -m64" | |
140 mksyscall="go run mksyscall.go -netbsd" | |
141 mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" | |
142 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
143 ;; | |
144 openbsd_386) | |
145 mkerrors="$mkerrors -m32" | |
146 mksyscall="go run mksyscall.go -l32 -openbsd" | |
147 mksysctl="go run mksysctl_openbsd.go" | |
148 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" | |
149 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
150 ;; | |
151 openbsd_amd64) | |
152 mkerrors="$mkerrors -m64" | |
153 mksyscall="go run mksyscall.go -openbsd" | |
154 mksysctl="go run mksysctl_openbsd.go" | |
155 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" | |
156 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
157 ;; | |
158 openbsd_arm) | |
159 mkerrors="$mkerrors" | |
160 mksyscall="go run mksyscall.go -l32 -openbsd -arm" | |
161 mksysctl="go run mksysctl_openbsd.go" | |
162 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" | |
163 # Let the type of C char be signed for making the bare syscall | |
164 # API consistent across platforms. | |
165 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" | |
166 ;; | |
167 openbsd_arm64) | |
168 mkerrors="$mkerrors -m64" | |
169 mksyscall="go run mksyscall.go -openbsd" | |
170 mksysctl="go run mksysctl_openbsd.go" | |
171 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" | |
172 # Let the type of C char be signed for making the bare syscall | |
173 # API consistent across platforms. | |
174 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" | |
175 ;; | |
176 openbsd_mips64) | |
177 mkerrors="$mkerrors -m64" | |
178 mksyscall="go run mksyscall.go -openbsd" | |
179 mksysctl="go run mksysctl_openbsd.go" | |
180 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" | |
181 # Let the type of C char be signed for making the bare syscall | |
182 # API consistent across platforms. | |
183 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" | |
184 ;; | |
185 solaris_amd64) | |
186 mksyscall="go run mksyscall_solaris.go" | |
187 mkerrors="$mkerrors -m64" | |
188 mksysnum= | |
189 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
190 ;; | |
191 illumos_amd64) | |
192 mksyscall="go run mksyscall_solaris.go" | |
193 mkerrors= | |
194 mksysnum= | |
195 mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |
196 ;; | |
197 *) | |
198 echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 | |
199 exit 1 | |
200 ;; | |
201 esac | |
202 | |
203 ( | |
204 if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi | |
205 case "$GOOS" in | |
206 *) | |
207 syscall_goos="syscall_$GOOS.go" | |
208 case "$GOOS" in | |
209 darwin | dragonfly | freebsd | netbsd | openbsd) | |
210 syscall_goos="syscall_bsd.go $syscall_goos" | |
211 ;; | |
212 esac | |
213 if [ -n "$mksyscall" ]; then | |
214 if [ "$GOOSARCH" == "aix_ppc64" ]; then | |
215 # aix/ppc64 script generates files instead of writing to stdin. | |
216 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 " ; | |
217 elif [ "$GOOS" == "darwin" ]; then | |
218 # 1.12 and later, syscalls via libSystem | |
219 echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; | |
220 # 1.13 and later, syscalls via libSystem (including syscallPtr) | |
221 echo "$mksyscall -tags $GOOS,$GOARCH,go1.13 syscall_darwin.1_13.go |gofmt >zsyscall_$GOOSARCH.1_13.go"; | |
222 elif [ "$GOOS" == "illumos" ]; then | |
223 # illumos code generation requires a --illumos switch | |
224 echo "$mksyscall -illumos -tags illumos,$GOARCH syscall_illumos.go |gofmt > zsyscall_illumos_$GOARCH.go"; | |
225 # illumos implies solaris, so solaris code generation is also required | |
226 echo "$mksyscall -tags solaris,$GOARCH syscall_solaris.go syscall_solaris_$GOARCH.go |gofmt >zsyscall_solaris_$GOARCH.go"; | |
227 else | |
228 echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; | |
229 fi | |
230 fi | |
231 esac | |
232 if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi | |
233 if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi | |
234 if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi | |
235 if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi | |
236 ) | $run |