diff --git a/unix/mkall.sh b/unix/mkall.sh index d00ab2ff..da57b811 100755 --- a/unix/mkall.sh +++ b/unix/mkall.sh @@ -257,5 +257,5 @@ esac esac if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi - if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go |gofmt >ztypes_$GOOSARCH.go"; fi + if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | sed -e '/^package /i\/\/ +build $GOARCH,$GOOS\n' | gofmt >ztypes_$GOOSARCH.go"; fi ) | $run diff --git a/unix/mkerrors.sh b/unix/mkerrors.sh index 48c62d5c..8e967035 100755 --- a/unix/mkerrors.sh +++ b/unix/mkerrors.sh @@ -11,6 +11,11 @@ unset LANG export LC_ALL=C export LC_CTYPE=C +if test -z "$GOARCH" -o -z "$GOOS"; then + echo 1>&2 "GOARCH or GOOS not defined in environment" + exit 1 +fi + CC=${CC:-gcc} uname=$(uname) @@ -347,6 +352,8 @@ echo '#include ' | $CC -x c - -E -dM $ccflags | echo '// mkerrors.sh' "$@" echo '// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT' echo +echo "// +build ${GOARCH},${GOOS}" +echo go tool cgo -godefs -- "$@" _const.go >_error.out cat _error.out | grep -vf _error.grep | grep -vf _signal.grep echo diff --git a/unix/mksyscall.pl b/unix/mksyscall.pl index ec0103ca..b1e7766d 100755 --- a/unix/mksyscall.pl +++ b/unix/mksyscall.pl @@ -63,6 +63,11 @@ if($ARGV[0] =~ /^-/) { exit 1; } +if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") { + print STDERR "GOARCH or GOOS not defined in environment\n"; + exit 1; +} + sub parseparamlist($) { my ($list) = @_; $list =~ s/^\s*//; @@ -302,6 +307,8 @@ print <