github.com/juelite/golang.org-x-sys@v0.0.0-20181121071242-7b69e1c5db33/unix/mksysnum_darwin.pl (about)

     1  #!/usr/bin/env perl
     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  # Generate system call table for Darwin from sys/syscall.h
     7  
     8  use strict;
     9  
    10  if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
    11  	print STDERR "GOARCH or GOOS not defined in environment\n";
    12  	exit 1;
    13  }
    14  
    15  my $command = "mksysnum_darwin.pl " . join(' ', @ARGV);
    16  
    17  print <<EOF;
    18  // $command
    19  // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
    20  
    21  // +build $ENV{'GOARCH'},$ENV{'GOOS'}
    22  
    23  package unix
    24  
    25  const (
    26  EOF
    27  
    28  while(<>){
    29  	if(/^#define\s+SYS_(\w+)\s+([0-9]+)/){
    30  		my $name = $1;
    31  		my $num = $2;
    32  		$name =~ y/a-z/A-Z/;
    33  		print "	SYS_$name = $num;"
    34  	}
    35  }
    36  
    37  print <<EOF;
    38  )
    39  EOF