瀏覽代碼

unix: emit +build comments in generator scripts

Change-Id: I8ed64dcb1c1a2119ce6f15fa1be55fbe0b0c637e
Reviewed-on: https://go-review.googlesource.com/10087
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
Ian Lance Taylor 10 年之前
父節點
當前提交
85f6155b9e

+ 1 - 1
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

+ 7 - 0
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 <signal.h>' | $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

+ 7 - 0
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 <<EOF;
 // $cmdline
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package unix
 
 import (

+ 7 - 0
unix/mksyscall_solaris.pl

@@ -38,6 +38,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*//;
@@ -260,6 +265,8 @@ print <<EOF;
 // $cmdline
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package $package
 
 import "unsafe"

+ 7 - 0
unix/mksysctl_openbsd.pl

@@ -14,6 +14,11 @@
 
 use strict;
 
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+	print STDERR "GOARCH or GOOS not defined in environment\n";
+	exit 1;
+}
+
 my $debug = 0;
 my %ctls = ();
 
@@ -237,6 +242,8 @@ print <<EOF;
 // mksysctl_openbsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package unix;
 
 type mibentry struct {

+ 7 - 0
unix/mksysnum_darwin.pl

@@ -7,12 +7,19 @@
 
 use strict;
 
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+	print STDERR "GOARCH or GOOS not defined in environment\n";
+	exit 1;
+}
+
 my $command = "mksysnum_darwin.pl " . join(' ', @ARGV);
 
 print <<EOF;
 // $command
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package unix
 
 const (

+ 7 - 0
unix/mksysnum_dragonfly.pl

@@ -8,12 +8,19 @@
 
 use strict;
 
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+	print STDERR "GOARCH or GOOS not defined in environment\n";
+	exit 1;
+}
+
 my $command = "mksysnum_dragonfly.pl " . join(' ', @ARGV);
 
 print <<EOF;
 // $command
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package unix
 
 const (

+ 7 - 0
unix/mksysnum_freebsd.pl

@@ -8,12 +8,19 @@
 
 use strict;
 
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+	print STDERR "GOARCH or GOOS not defined in environment\n";
+	exit 1;
+}
+
 my $command = "mksysnum_freebsd.pl " . join(' ', @ARGV);
 
 print <<EOF;
 // $command
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package unix
 
 const (

+ 7 - 0
unix/mksysnum_linux.pl

@@ -5,12 +5,19 @@
 
 use strict;
 
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+	print STDERR "GOARCH or GOOS not defined in environment\n";
+	exit 1;
+}
+
 my $command = "mksysnum_linux.pl ". join(' ', @ARGV);
 
 print <<EOF;
 // $command
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package unix
 
 const(

+ 7 - 0
unix/mksysnum_netbsd.pl

@@ -8,12 +8,19 @@
 
 use strict;
 
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+	print STDERR "GOARCH or GOOS not defined in environment\n";
+	exit 1;
+}
+
 my $command = "mksysnum_netbsd.pl " . join(' ', @ARGV);
 
 print <<EOF;
 // $command
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package unix
 
 const (

+ 7 - 0
unix/mksysnum_openbsd.pl

@@ -8,12 +8,19 @@
 
 use strict;
 
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+	print STDERR "GOARCH or GOOS not defined in environment\n";
+	exit 1;
+}
+
 my $command = "mksysnum_openbsd.pl " . join(' ', @ARGV);
 
 print <<EOF;
 // $command
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
 package unix
 
 const (