X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=util%2Fmkdef.pl;h=9243c0bb6151b2e02be7927d641f05edffe3c6df;hp=b622492538c6e063c45c3bc2eaca0d31dddfd0b1;hb=cc2f5a802212a697786dca8ef0d645ecedd9612b;hpb=1449bda052094fe5ad3cb6ff4dd60d0266eacb4c diff --git a/util/mkdef.pl b/util/mkdef.pl index b622492538..9243c0bb61 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -195,7 +195,7 @@ my $ssl="ssl/ssl.h"; $ssl.=" ssl/kssl.h"; my $crypto ="crypto/crypto.h"; -$crypto.=" crypto/des/des.h" ; # unless $no_des; +$crypto.=" crypto/des/des.h crypto/des/des_old.h" ; # unless $no_des; $crypto.=" crypto/idea/idea.h" ; # unless $no_idea; $crypto.=" crypto/rc4/rc4.h" ; # unless $no_rc4; $crypto.=" crypto/rc5/rc5.h" ; # unless $no_rc5; @@ -244,6 +244,7 @@ $crypto.=" crypto/rand/rand.h"; $crypto.=" crypto/comp/comp.h" ; # unless $no_comp; $crypto.=" crypto/ocsp/ocsp.h"; $crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; +$crypto.=" crypto/krb5/krb5_asn.h"; $crypto.=" crypto/tmdiff.h"; my $symhacks="crypto/symhacks.h"; @@ -331,6 +332,7 @@ sub do_defs foreach $file (split(/\s+/,$symhacksfile." ".$files)) { + print STDERR "DEBUG: starting on $file:\n" if $debug; open(IN,"<$file") || die "unable to open $file:$!\n"; my $line = "", my $def= ""; my %tag = ( @@ -399,7 +401,7 @@ sub do_defs print STDERR "DEBUG: parsing ----------\n" if $debug; while() { - last if (/BEGIN ERROR CODES/); + last if (/\/\* Error codes for the \w+ functions\. \*\//); if ($line ne '') { $_ = $line . $_; $line = ''; @@ -784,14 +786,18 @@ sub do_defs if (/^\#INFO:([^:]*):(.*)$/) { $plats = $1; $algs = $2; + print STDERR "DEBUG: found info on platforms ($plats) and algorithms ($algs)\n" if $debug; next; } elsif (/^\s*OPENSSL_EXTERN\s.*?(\w+(\{[0-9]+\})?)(\[[0-9]*\])*\s*$/) { $s = $1; $k = "VARIABLE"; + print STDERR "DEBUG: found external variable $s\n" if $debug; } elsif (/\(\*(\w*(\{[0-9]+\})?)\([^\)]+/) { $s = $1; + print STDERR "DEBUG: found ANSI C function $s\n" if $debug; } elsif (/\w+\W+(\w+)\W*\(\s*\)$/s) { # K&R C + print STDERR "DEBUG: found K&R C function $s\n" if $debug; next; } elsif (/\w+\W+\w+(\{[0-9]+\})?\W*\(.*\)$/s) { while (not /\(\)$/s) { @@ -801,6 +807,7 @@ sub do_defs s/\(void\)//; /(\w+(\{[0-9]+\})?)\W*\(\)/s; $s = $1; + print STDERR "DEBUG: found function $s\n" if $debug; } elsif (/\(/ and not (/=/)) { print STDERR "File $file: cannot parse: $_;\n"; next; @@ -993,7 +1000,7 @@ sub is_valid # EXPORT_VAR_AS_FUNCTION means that global variables # will be represented as functions. This currently # only happens on VMS-VAX. - if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32)) { + if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { return 1; } return 0; @@ -1243,7 +1250,10 @@ sub rewrite_numbers $syms{$n} = 1; } - my @s=sort { &parse_number($nums{$a},"n") <=> &parse_number($nums{$b},"n") } keys %nums; + my @s=sort { + &parse_number($nums{$a},"n") <=> &parse_number($nums{$b},"n") + || $a cmp $b + } keys %nums; foreach $sym (@s) { (my $n, my $i) = split /\\/, $nums{$sym}; next if defined($i) && $i =~ /^.*?:.*?:\w+\(\w+\)/;