]> git.saurik.com Git - apple/securityd.git/blobdiff - src/generate.pl
securityd-32661.tar.gz
[apple/securityd.git] / src / generate.pl
diff --git a/src/generate.pl b/src/generate.pl
deleted file mode 100755 (executable)
index 4ec7cd1..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/perl
-#
-#
-#
-#use strict;
-
-my $disclaimer = "Automatically generated - do not edit on penalty of futility!";
-
-
-# arguments
-my ($configfile, $out_h, $out_cpp, $types, $hdrpath) = @ARGV;
-
-
-# open configuration file
-open(CFG, "$configfile") || die "$configfile: $!";
-
-# open and load cssmtypes file
-for my $hdrdir (split (/:/, $hdrpath)) {
-  open(TYPES, "$hdrdir/$types") and last;
-}
-TYPES or die "cannot find $types in $hdrpath: $!";
-$/=undef;
-my $types_h = <TYPES>;
-close(TYPES); $/="\n";
-
-# open output files
-open(H, ">$out_h") || die "$out_h: $!";
-open(CPP, ">$out_cpp") || die "$out_cpp: $!";
-
-# cautionary headings to each file
-print H <<EOH;
-//
-// Flipping bytes for securityd transition.
-// $disclaimer
-//
-EOH
-
-print CPP <<EOC;
-//
-// Flipping bytes for securityd transition.
-// $disclaimer
-//
-EOC
-
-# process generation instructions
-while (<CFG>) {
-  chomp;
-  next if /^[  ]*#/;
-  next if /^[  ]*$/;
-  
-  my @args = split;
-  $_ = shift @args;
-  my ($cssmName, @aliases) = split /\//;
-  
-  print H "void flip($cssmName &obj);\n";
-  for my $alias (@aliases) {
-       print H "inline void flip($alias &obj) { flip(static_cast<$cssmName &>(obj)); }\n";
-  }
-  
-  next if ($args[0] eq 'CUSTOM');
-  
-  if ($args[0] eq '*') {
-       # extract definition from types file
-       my ($list) = $types_h =~ /{\s+([^}]+)\s+}\s*$cssmName,/;
-       die "cannot find struct definition for $cssmName in $types" unless $list;
-       @args = $list =~ /([A-Za-z0-9_]+);/gm;
-  }
-
-  print CPP "void flip($cssmName &obj)\n{\n";
-  for my $field (@args) {
-       print CPP "\tflip(obj.$field);\n";
-  }
-  print CPP "}\n\n";
-}