3 $infile="/home/eay/ssl/SSLeay/MINFO";
5 open(IN
,"<$infile") || die "unable to open $infile:$!\n";
11 ($key,$val)=/^([^=]+)=(.*)/;
12 if ($key eq "RELATIVE_DIRECTORY")
17 $uc =~ s/^lib(.*)\.a/$1/;
20 $lib_obj{$uc}.=$libobj." ";
22 last if ($val eq "FINISHED");
29 { $test.=&var_add
($dir,$val); }
31 if (($key eq "PROGS") || ($key eq "E_OBJ"))
32 { $e_exe.=&var_add
($dir,$val); }
37 $lib =~ s/^.*\/([^\/]+)$/$1/;
40 if ($key eq "EXHEADER")
41 { $exheader.=&var_add
($dir,$val); }
44 { $header.=&var_add
($dir,$val); }
47 { $libsrc.=&var_add
($dir,$val); }
50 { $_="RELATIVE_DIRECTORY=FINISHED\n"; }
54 @a=split(/\s+/,$libsrc);
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
/)
75 if ($val =~ /read_pwd/)
76 { return("$dir/read_pwd "); }
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
/;
85 $val =~ s/^\s*(.*)\s*$/$1/;
87 grep(s/\.[och]$//,@a);
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;
97 @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2;
98 @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3;
100 @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock;
102 @a=grep(!/(^md2)|(_md2$)/,@a) if $no_md2;
103 @a=grep(!/(^md5)|(_md5$)/,@a) if $no_md5;
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;
109 @a=grep(!/(m_dss$)|(m_dss1$)/,@a) if $no_dsa;
110 @a=grep(!/(^d2i_s_)|(^i2d_s_)|(_dsap$)/,@a) if $no_dsa;
112 @a=grep(!/^n_pkey$/,@a) if $no_rsa || $no_rc4;
114 @a=grep(!/_dhp$/,@a) if $no_dh;
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;
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;
126 @a=grep(!/(^dh)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1;
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)." ";