New option 'ctestall' for mkdef.pl, that makes it not only generate
authorRichard Levitte <levitte@openssl.org>
Thu, 17 Aug 2000 21:26:22 +0000 (21:26 +0000)
committerRichard Levitte <levitte@openssl.org>
Thu, 17 Aug 2000 21:26:22 +0000 (21:26 +0000)
existing functions, but really all functions that exist in libeay.num
and ssleay.num.  This is a good check on how much we should actually
clean up the number files.

util/mkdef.pl

index 6078aec1e5ccf20356bedba801f13d0a1f93e7c5..0d5ab6741f16b313eb48e2f519808ccd1d719be2 100755 (executable)
@@ -13,6 +13,7 @@ my $do_update = 0;
 my $do_crypto = 0;
 my $do_ssl = 0;
 my $do_ctest = 0;
+my $do_ctestall = 0;
 my $rsaref = 0;
 
 my $W32=1;
@@ -49,6 +50,7 @@ foreach (@ARGV, split(/ /, $options))
        $do_crypto=1 if $_ eq "crypto";
        $do_update=1 if $_ eq "update";
        $do_ctest=1 if $_ eq "ctest";
+       $do_ctestall=1 if $_ eq "ctestall";
        $rsaref=1 if $_ eq "rsaref";
        #$safe_stack_def=1 if $_ eq "-DDEBUG_SAFESTACK";
 
@@ -148,7 +150,7 @@ if($do_crypto == 1) {
        close OUT;
 } 
 
-} elsif ($do_ctest) {
+} elsif ($do_ctest || $do_ctestall) {
 
        print <<"EOF";
 
@@ -159,10 +161,10 @@ if($do_crypto == 1) {
 int main()
 {
 EOF
-       &print_test_file(*STDOUT,"SSLEAY",*ssl_list,@ssl_func)
+       &print_test_file(*STDOUT,"SSLEAY",*ssl_list,$do_ctestall,@ssl_func)
                if $do_ssl == 1;
 
-       &print_test_file(*STDOUT,"LIBEAY",*crypto_list,@crypto_func)
+       &print_test_file(*STDOUT,"LIBEAY",*crypto_list,$do_ctestall,@crypto_func)
                if $do_crypto == 1;
 
        print "}\n";
@@ -417,22 +419,26 @@ sub do_defs
 
 sub print_test_file
 {
-       (*OUT,my $name,*nums,my @functions)=@_;
+       (*OUT,my $name,*nums,my $all,my @functions)=@_;
        my $n = 1; my @e; my @r;
-       my $func;
+       my $func; my $prev = "";
 
+       push(@functions, keys %nums) if $all;
        (@e)=grep(/^SSLeay/,@functions);
        (@r)=grep(!/^SSLeay/,@functions);
        @functions=((sort @e),(sort @r));
 
        foreach $func (@functions) {
-               if (!defined($nums{$func})) {
-                       printf STDERR "$func does not have a number assigned\n"
-                                       if(!$do_update);
-               } else {
-                       $n=$nums{$func};
-                       print OUT "\t$func();\n";
+               if ($func ne $prev) {
+                       if (!defined($nums{$func})) {
+                               printf STDERR "$func does not have a number assigned\n"
+                                   if(!$do_update);
+                       } else {
+                               $n=$nums{$func};
+                               print OUT "\t$func();\n";
+                       }
                }
+               $prev = $func;  # To avoid duplicates...
        }
 }