Fix for PEM_X509_INFO_read_bio.
[openssl.git] / util / bat.sh
1 #!/usr/local/bin/perl
2
3 $infile="/home/eay/ssl/SSLeay/MINFO";
4
5 open(IN,"<$infile") || die "unable to open $infile:$!\n";
6 $_=<IN>;
7 for (;;)
8         {
9         chop;
10
11         ($key,$val)=/^([^=]+)=(.*)/;
12         if ($key eq "RELATIVE_DIRECTORY")
13                 {
14                 if ($lib ne "")
15                         {
16                         $uc=$lib;
17                         $uc =~ s/^lib(.*)\.a/$1/;
18                         $uc =~ tr/a-z/A-Z/;
19                         $lib_nam{$uc}=$uc;
20                         $lib_obj{$uc}.=$libobj." ";
21                         }
22                 last if ($val eq "FINISHED");
23                 $lib="";
24                 $libobj="";
25                 $dir=$val;
26                 }
27
28         if ($key eq "TEST")
29                 { $test.=&var_add($dir,$val); }
30
31         if (($key eq "PROGS") || ($key eq "E_OBJ"))
32                 { $e_exe.=&var_add($dir,$val); }
33
34         if ($key eq "LIB")
35                 {
36                 $lib=$val;
37                 $lib =~ s/^.*\/([^\/]+)$/$1/;
38                 }
39
40         if ($key eq "EXHEADER")
41                 { $exheader.=&var_add($dir,$val); }
42
43         if ($key eq "HEADER")
44                 { $header.=&var_add($dir,$val); }
45
46         if ($key eq "LIBSRC")
47                 { $libsrc.=&var_add($dir,$val); }
48
49         if (!($_=<IN>))
50                 { $_="RELATIVE_DIRECTORY=FINISHED\n"; }
51         }
52 close(IN);
53
54 @a=split(/\s+/,$libsrc);
55 foreach (@a)
56         {
57         print "${_}.c\n";
58         }
59
60 sub var_add
61         {
62         local($dir,$val)=@_;
63         local(@a,$_,$ret);
64
65         return("") if $no_engine && $dir =~ /\/engine/;
66         return("") if $no_idea && $dir =~ /\/idea/;
67         return("") if $no_rc2  && $dir =~ /\/rc2/;
68         return("") if $no_rc4  && $dir =~ /\/rc4/;
69         return("") if $no_rsa  && $dir =~ /\/rsa/;
70         return("") if $no_rsa  && $dir =~ /^rsaref/;
71         return("") if $no_dsa  && $dir =~ /\/dsa/;
72         return("") if $no_dh   && $dir =~ /\/dh/;
73         if ($no_des && $dir =~ /\/des/)
74                 {
75                 if ($val =~ /read_pwd/)
76                         { return("$dir/read_pwd "); }
77                 else
78                         { return(""); }
79                 }
80         return("") if $no_mdc2 && $dir =~ /\/mdc2/;
81         return("") if $no_sock && $dir =~ /\/proxy/;
82         return("") if $no_bf   && $dir =~ /\/bf/;
83         return("") if $no_cast && $dir =~ /\/cast/;
84
85         $val =~ s/^\s*(.*)\s*$/$1/;
86         @a=split(/\s+/,$val);
87         grep(s/\.[och]$//,@a);
88
89         @a=grep(!/^e_.*_3d$/,@a) if $no_des;
90         @a=grep(!/^e_.*_d$/,@a) if $no_des;
91         @a=grep(!/^e_.*_i$/,@a) if $no_idea;
92         @a=grep(!/^e_.*_r2$/,@a) if $no_rc2;
93         @a=grep(!/^e_.*_bf$/,@a) if $no_bf;
94         @a=grep(!/^e_.*_c$/,@a) if $no_cast;
95         @a=grep(!/^e_rc4$/,@a) if $no_rc4;
96
97         @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2;
98         @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3;
99
100         @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock;
101
102         @a=grep(!/(^md2)|(_md2$)/,@a) if $no_md2;
103         @a=grep(!/(^md5)|(_md5$)/,@a) if $no_md5;
104
105         @a=grep(!/(^d2i_r_)|(^i2d_r_)/,@a) if $no_rsa;
106         @a=grep(!/(^p_open$)|(^p_seal$)/,@a) if $no_rsa;
107         @a=grep(!/(^pem_seal$)/,@a) if $no_rsa;
108
109         @a=grep(!/(m_dss$)|(m_dss1$)/,@a) if $no_dsa;
110         @a=grep(!/(^d2i_s_)|(^i2d_s_)|(_dsap$)/,@a) if $no_dsa;
111
112         @a=grep(!/^n_pkey$/,@a) if $no_rsa || $no_rc4;
113
114         @a=grep(!/_dhp$/,@a) if $no_dh;
115
116         @a=grep(!/(^sha[^1])|(_sha$)|(m_dss$)/,@a) if $no_sha;
117         @a=grep(!/(^sha1)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1;
118         @a=grep(!/_mdc2$/,@a) if $no_mdc2;
119
120         @a=grep(!/^engine$/,@a) if $no_engine;
121         @a=grep(!/(^rsa$)|(^genrsa$)|(^req$)|(^ca$)/,@a) if $no_rsa;
122         @a=grep(!/(^dsa$)|(^gendsa$)|(^dsaparam$)/,@a) if $no_dsa;
123         @a=grep(!/^gendsa$/,@a) if $no_sha1;
124         @a=grep(!/(^dh$)|(^gendh$)/,@a) if $no_dh;
125
126         @a=grep(!/(^dh)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1;
127
128         grep($_="$dir/$_",@a);
129         @a=grep(!/(^|\/)s_/,@a) if $no_sock;
130         @a=grep(!/(^|\/)bio_sock/,@a) if $no_sock;
131         $ret=join(' ',@a)." ";
132         return($ret);
133         }
134