X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util%2Fmkdef.pl;h=78c359738b30d89a4d0cdd8f3c3c5bed4a4d2f07;hb=0ea659475c634933126386dc31d6589ecf10d3fc;hp=b6117499ae65649a6a08ba7076d439a708d1c1be;hpb=62dc5aad063f50fa75fdae66c4247c925d4b3c5d;p=oweals%2Fopenssl.git diff --git a/util/mkdef.pl b/util/mkdef.pl index b6117499ae..78c359738b 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -82,7 +82,7 @@ my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT" ); my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1", "RIPEMD", - "MDC2", "RSA", "DSA", "DH", "HMAC", "AES", + "MDC2", "RSA", "DSA", "DH", "EC", "HMAC", "AES", # Envelope "algorithms" "EVP", "X509", "ASN1_TYPEDEFS", # Helper "algorithms" @@ -105,6 +105,7 @@ my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf; my $no_cast; my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2; my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5; +my $no_ec; my $no_fp_api; foreach (@ARGV, split(/ /, $options)) @@ -153,6 +154,7 @@ foreach (@ARGV, split(/ /, $options)) elsif (/^no-rsa$/) { $no_rsa=1; } elsif (/^no-dsa$/) { $no_dsa=1; } elsif (/^no-dh$/) { $no_dh=1; } + elsif (/^no-ec$/) { $no_ec=1; } elsif (/^no-hmac$/) { $no_hmac=1; } elsif (/^no-aes$/) { $no_aes=1; } elsif (/^no-evp$/) { $no_evp=1; } @@ -213,6 +215,7 @@ $crypto.=" crypto/bn/bn.h"; $crypto.=" crypto/rsa/rsa.h" unless $no_rsa; $crypto.=" crypto/dsa/dsa.h" unless $no_dsa; $crypto.=" crypto/dh/dh.h" unless $no_dh; +$crypto.=" crypto/ec/ec.h" unless $no_ec; $crypto.=" crypto/hmac/hmac.h" unless $no_hmac; $crypto.=" crypto/engine/engine.h"; @@ -384,9 +387,13 @@ sub do_defs $variant_cnt{$s}++; $a .= "{$variant_cnt{$s}}"; } - if (defined($variant{$s})) { $variant{$s} .= ";"; } - $variant{$s} = $a.":".$a1; - if (defined($k)) { $variant{$s} .= ":$k"; } + my $toadd = $a.":".$a1.(defined($k)?":".$k:""); + my $togrep = $s.'(\{[0-9]+\})?:'.$a1.(defined($k)?":".$k:""); + if (!grep(/^$togrep$/, + split(/;/, defined($variant{$s})?$variant{$s}:""))) { + if (defined($variant{$s})) { $variant{$s} .= ";"; } + $variant{$s} .= $toadd; + } print STDERR "DEBUG: make_variant: Exit with variant of ",$s," = ",$variant{$s},"\n" if $debug; }; @@ -679,7 +686,6 @@ sub do_defs &$make_variant("$1_it","$1_it", "EXPORT_VAR_AS_FUNCTION", "FUNCTION"); - print STDERR "DEBUG: after make_variant: variant of $1_it = ",$variant{"$1_it"},"\n" if $debug; next; } elsif (/^\s*DECLARE_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) { next; @@ -751,7 +757,6 @@ sub do_defs &$make_variant("_shadow_$2","_shadow_$2", "EXPORT_VAR_AS_FUNCTION", "FUNCTION"); - print STDERR "DEBUG: after make_variant: variant of $1_it = ",$variant{"$1_it"},"\n" if $debug; } elsif ($tag{'CONST_STRICT'} != 1) { if (/\{|\/\*|\([^\)]*$/) { $line = $_; @@ -831,15 +836,17 @@ sub do_defs $algorithm{$s} .= ','.$a; if (defined($variant{$s})) { - (my $r, my $p, my $k) = split(/:/,$variant{$s}); - my $ip = join ',',map({ /^!(.*)$/ ? $1 : "!".$_ } split /,/, $p); - $syms{$r} = 1; - if (!defined($k)) { $k = $kind{$s}; } - $kind{$r} = $k."(".$s.")"; - $algorithm{$r} = $algorithm{$s}; - $platform{$r} = &reduce_platforms($platform{$s}.",".$p.",".$p); - $platform{$s} = &reduce_platforms($platform{$s}.','.$ip.','.$ip); - print STDERR "DEBUG: \$variant{\"$s\"} = ",$variant{$s},"; \$r = $r; \$p = ",$platform{$r},"; \$a = ",$algorithm{$r},"; \$kind = ",$kind{$r},"\n" if $debug; + foreach $v (split /;/,$variant{$s}) { + (my $r, my $p, my $k) = split(/:/,$v); + my $ip = join ',',map({ /^!(.*)$/ ? $1 : "!".$_ } split /,/, $p); + $syms{$r} = 1; + if (!defined($k)) { $k = $kind{$s}; } + $kind{$r} = $k."(".$s.")"; + $algorithm{$r} = $algorithm{$s}; + $platform{$r} = &reduce_platforms($platform{$s}.",".$p.",".$p); + $platform{$s} = &reduce_platforms($platform{$s}.','.$ip.','.$ip); + print STDERR "DEBUG: \$variant{\"$s\"} = ",$v,"; \$r = $r; \$p = ",$platform{$r},"; \$a = ",$algorithm{$r},"; \$kind = ",$kind{$r},"\n" if $debug; + } } print STDERR "DEBUG: \$s = $s; \$p = ",$platform{$s},"; \$a = ",$algorithm{$s},"; \$kind = ",$kind{$s},"\n" if $debug; } @@ -901,7 +908,7 @@ sub reduce_platforms delete $p{""}; - $ret = join(',',map { $p{$_} < 0 ? "!".$_ : $_ } keys %p); + $ret = join(',',sort(map { $p{$_} < 0 ? "!".$_ : $_ } keys %p)); print STDERR "DEBUG: Exiting reduce_platforms with \"$ret\"\n" if $debug; return $ret; @@ -1127,9 +1134,9 @@ EOF } $prev = $s2; # To warn about duplicates... if($v) { - printf OUT " %s%-40s@%-8d DATA\n",($W32)?"":"_",$s2,$n; + printf OUT " %s%-39s @%-8d DATA\n",($W32)?"":"_",$s2,$n; } else { - printf OUT " %s%-40s@%d\n",($W32)?"":"_",$s2,$n; + printf OUT " %s%-39s @%d\n",($W32)?"":"_",$s2,$n; } } } @@ -1237,12 +1244,12 @@ sub rewrite_numbers if !defined($i) || $i eq "" || !defined($syms{$sym}); my $s2 = $sym; $s2 =~ s/\{[0-9]+\}$//; - printf OUT "%s%-40s%d\t%s\n","",$s2,$n,$i; + printf OUT "%s%-39s %d\t%s\n","",$s2,$n,$i; if (exists $r{$sym}) { (my $s, $i) = split /\\/,$r{$sym}; my $s2 = $s; $s2 =~ s/\{[0-9]+\}$//; - printf OUT "%s%-40s%d\t%s\n","",$s2,$n,$i; + printf OUT "%s%-39s %d\t%s\n","",$s2,$n,$i; } } } @@ -1274,11 +1281,11 @@ sub update_numbers $new_syms++; my $s2 = $s; $s2 =~ s/\{[0-9]+\}$//; - printf OUT "%s%-40s%d\t%s\n","",$s2, ++$start_num,$i; + printf OUT "%s%-39s %d\t%s\n","",$s2, ++$start_num,$i; if (exists $r{$s}) { ($s, $i) = split /\\/,$r{$s}; $s =~ s/\{[0-9]+\}$//; - printf OUT "%s%-40s%d\t%s\n","",$s, $start_num,$i; + printf OUT "%s%-39s %d\t%s\n","",$s, $start_num,$i; } } }