X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=util%2Fmkdef.pl;h=fa5848ace6a39cadbbe82183ee8c0c5dca2f488a;hb=c1a8a5de13776c1a7b1bdbef574dd47948f77372;hp=204a056a483c836f9e4b1a9a6ef67e73b2e0e74c;hpb=6ac1571296609870d02a972dfdd8d8b771bd7614;p=openssl.git diff --git a/util/mkdef.pl b/util/mkdef.pl index 204a056a48..fa5848ace6 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -91,14 +91,14 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", "BIO", "COMP", "BUFFER", "LHASH", "STACK", "ERR", "LOCKING", # External "algorithms" - "FP_API", "STDIO", "SOCK", "KRB5", + "FP_API", "STDIO", "SOCK", "KRB5", "DGRAM", # Engines - "STATIC_ENGINE", "ENGINE", "HW", + "STATIC_ENGINE", "ENGINE", "HW", "GMP", # Deprecated functions "DEPRECATED" ); my $options=""; -open(IN,") { $options=$1 if (/^OPTIONS=(.*)$/); } @@ -112,7 +112,8 @@ 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_ecdsa; my $no_ecdh; my $no_engine; my $no_hw; -my $no_fp_api; my $no_static_engine; my $no_deprecated; +my $no_fp_api; my $no_static_engine; my $no_gmp; my $no_deprecated; + foreach (@ARGV, split(/ /, $options)) { @@ -184,6 +185,7 @@ foreach (@ARGV, split(/ /, $options)) elsif (/^no-krb5$/) { $no_krb5=1; } elsif (/^no-engine$/) { $no_engine=1; } elsif (/^no-hw$/) { $no_hw=1; } + elsif (/^no-gmp$/) { $no_gmp=1; } } @@ -275,6 +277,7 @@ $crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; $crypto.=" crypto/krb5/krb5_asn.h"; $crypto.=" crypto/tmdiff.h"; $crypto.=" crypto/store/store.h"; +$crypto.=" crypto/pqueue/pqueue.h"; my $symhacks="crypto/symhacks.h"; @@ -430,7 +433,11 @@ sub do_defs print STDERR "DEBUG: parsing ----------\n" if $debug; while() { - last if (/\/\* Error codes for the \w+ functions\. \*\//); + if (/\/\* Error codes for the \w+ functions\. \*\//) + { + undef @tag; + last; + } if ($line ne '') { $_ = $line . $_; $line = ''; @@ -479,7 +486,7 @@ sub do_defs push(@tag,$1); $tag{$1}=-1; } - } elsif (/^\#\s*ifdef\s+(.*)/) { + } elsif (/^\#\s*ifdef\s+(\S*)/) { push(@tag,"-"); push(@tag,$1); $tag{$1}=1; @@ -848,6 +855,9 @@ sub do_defs /(\w+(\{[0-9]+\})?)\W*\(\)/s; $s = $1; print STDERR "DEBUG: found function $s\n" if $debug; + + } elsif (/TYPEDEF_\w+_OF/) { + next; } elsif (/\(/ and not (/=/)) { print STDERR "File $file: cannot parse: $_;\n"; next; @@ -1023,7 +1033,7 @@ sub is_valid { my ($keywords_txt,$platforms) = @_; my (@keywords) = split /,/,$keywords_txt; - my ($falsesum, $truesum) = (0, !grep(/^[^!]/,@keywords)); + my ($falsesum, $truesum) = (0, 1); # Param: one keyword sub recognise @@ -1081,6 +1091,7 @@ sub is_valid if ($keyword eq "HW" && $no_hw) { return 0; } if ($keyword eq "FP_API" && $no_fp_api) { return 0; } if ($keyword eq "STATIC_ENGINE" && $no_static_engine) { return 0; } + if ($keyword eq "GMP" && $no_gmp) { return 0; } if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; } # Nothing recognise as true @@ -1092,7 +1103,7 @@ sub is_valid if ($k =~ /^!(.*)$/) { $falsesum += &recognise($1,$platforms); } else { - $truesum += &recognise($k,$platforms); + $truesum *= &recognise($k,$platforms); } } print STDERR "DEBUG: [",$#keywords,",",$#keywords < 0,"] is_valid($keywords_txt) => (\!$falsesum) && $truesum = ",(!$falsesum) && $truesum,"\n" if $debug; @@ -1139,7 +1150,7 @@ sub print_test_file sub get_version { local *MF; my $v = '?'; - open MF, 'Makefile.ssl' or return $v; + open MF, 'Makefile' or return $v; while () { $v = $1, last if /^VERSION=(.*?)\s*$/; }