155714Skris#!/usr/local/bin/perl 255714Skris 355714Skris$infile="/home/eay/ssl/SSLeay/MINFO"; 455714Skris 555714Skrisopen(IN,"<$infile") || die "unable to open $infile:$!\n"; 655714Skris$_=<IN>; 755714Skrisfor (;;) 855714Skris { 955714Skris chop; 1055714Skris 1155714Skris ($key,$val)=/^([^=]+)=(.*)/; 1255714Skris if ($key eq "RELATIVE_DIRECTORY") 1355714Skris { 1455714Skris if ($lib ne "") 1555714Skris { 1655714Skris $uc=$lib; 1755714Skris $uc =~ s/^lib(.*)\.a/$1/; 1855714Skris $uc =~ tr/a-z/A-Z/; 1955714Skris $lib_nam{$uc}=$uc; 2055714Skris $lib_obj{$uc}.=$libobj." "; 2155714Skris } 2255714Skris last if ($val eq "FINISHED"); 2355714Skris $lib=""; 2455714Skris $libobj=""; 2555714Skris $dir=$val; 2655714Skris } 2755714Skris 2855714Skris if ($key eq "TEST") 2955714Skris { $test.=&var_add($dir,$val); } 3055714Skris 3155714Skris if (($key eq "PROGS") || ($key eq "E_OBJ")) 3255714Skris { $e_exe.=&var_add($dir,$val); } 3355714Skris 3455714Skris if ($key eq "LIB") 3555714Skris { 3655714Skris $lib=$val; 3755714Skris $lib =~ s/^.*\/([^\/]+)$/$1/; 3855714Skris } 3955714Skris 4055714Skris if ($key eq "EXHEADER") 4155714Skris { $exheader.=&var_add($dir,$val); } 4255714Skris 4355714Skris if ($key eq "HEADER") 4455714Skris { $header.=&var_add($dir,$val); } 4555714Skris 4655714Skris if ($key eq "LIBSRC") 4755714Skris { $libsrc.=&var_add($dir,$val); } 4855714Skris 4955714Skris if (!($_=<IN>)) 5055714Skris { $_="RELATIVE_DIRECTORY=FINISHED\n"; } 5155714Skris } 5255714Skrisclose(IN); 5355714Skris 5455714Skris@a=split(/\s+/,$libsrc); 5555714Skrisforeach (@a) 5655714Skris { 5755714Skris print "${_}.c\n"; 5855714Skris } 5955714Skris 6055714Skrissub var_add 6155714Skris { 6255714Skris local($dir,$val)=@_; 6355714Skris local(@a,$_,$ret); 6455714Skris 65111147Snectar return("") if $no_engine && $dir =~ /\/engine/; 6655714Skris return("") if $no_idea && $dir =~ /\/idea/; 6755714Skris return("") if $no_rc2 && $dir =~ /\/rc2/; 6855714Skris return("") if $no_rc4 && $dir =~ /\/rc4/; 6955714Skris return("") if $no_rsa && $dir =~ /\/rsa/; 7055714Skris return("") if $no_rsa && $dir =~ /^rsaref/; 7155714Skris return("") if $no_dsa && $dir =~ /\/dsa/; 7255714Skris return("") if $no_dh && $dir =~ /\/dh/; 7355714Skris if ($no_des && $dir =~ /\/des/) 7455714Skris { 7555714Skris if ($val =~ /read_pwd/) 7655714Skris { return("$dir/read_pwd "); } 7755714Skris else 7855714Skris { return(""); } 7955714Skris } 8055714Skris return("") if $no_mdc2 && $dir =~ /\/mdc2/; 8155714Skris return("") if $no_sock && $dir =~ /\/proxy/; 8255714Skris return("") if $no_bf && $dir =~ /\/bf/; 8355714Skris return("") if $no_cast && $dir =~ /\/cast/; 8455714Skris 8555714Skris $val =~ s/^\s*(.*)\s*$/$1/; 8655714Skris @a=split(/\s+/,$val); 8755714Skris grep(s/\.[och]$//,@a); 8855714Skris 8955714Skris @a=grep(!/^e_.*_3d$/,@a) if $no_des; 9055714Skris @a=grep(!/^e_.*_d$/,@a) if $no_des; 9155714Skris @a=grep(!/^e_.*_i$/,@a) if $no_idea; 9255714Skris @a=grep(!/^e_.*_r2$/,@a) if $no_rc2; 9355714Skris @a=grep(!/^e_.*_bf$/,@a) if $no_bf; 9455714Skris @a=grep(!/^e_.*_c$/,@a) if $no_cast; 9555714Skris @a=grep(!/^e_rc4$/,@a) if $no_rc4; 9655714Skris 9755714Skris @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2; 9855714Skris @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3; 9955714Skris 10055714Skris @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock; 10155714Skris 10255714Skris @a=grep(!/(^md2)|(_md2$)/,@a) if $no_md2; 10355714Skris @a=grep(!/(^md5)|(_md5$)/,@a) if $no_md5; 10455714Skris 10555714Skris @a=grep(!/(^d2i_r_)|(^i2d_r_)/,@a) if $no_rsa; 10655714Skris @a=grep(!/(^p_open$)|(^p_seal$)/,@a) if $no_rsa; 10755714Skris @a=grep(!/(^pem_seal$)/,@a) if $no_rsa; 10855714Skris 10955714Skris @a=grep(!/(m_dss$)|(m_dss1$)/,@a) if $no_dsa; 11055714Skris @a=grep(!/(^d2i_s_)|(^i2d_s_)|(_dsap$)/,@a) if $no_dsa; 11155714Skris 11255714Skris @a=grep(!/^n_pkey$/,@a) if $no_rsa || $no_rc4; 11355714Skris 11455714Skris @a=grep(!/_dhp$/,@a) if $no_dh; 11555714Skris 11655714Skris @a=grep(!/(^sha[^1])|(_sha$)|(m_dss$)/,@a) if $no_sha; 11755714Skris @a=grep(!/(^sha1)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1; 11855714Skris @a=grep(!/_mdc2$/,@a) if $no_mdc2; 11955714Skris 120111147Snectar @a=grep(!/^engine$/,@a) if $no_engine; 12155714Skris @a=grep(!/(^rsa$)|(^genrsa$)|(^req$)|(^ca$)/,@a) if $no_rsa; 12255714Skris @a=grep(!/(^dsa$)|(^gendsa$)|(^dsaparam$)/,@a) if $no_dsa; 12355714Skris @a=grep(!/^gendsa$/,@a) if $no_sha1; 12455714Skris @a=grep(!/(^dh$)|(^gendh$)/,@a) if $no_dh; 12555714Skris 12655714Skris @a=grep(!/(^dh)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1; 12755714Skris 12855714Skris grep($_="$dir/$_",@a); 12955714Skris @a=grep(!/(^|\/)s_/,@a) if $no_sock; 13055714Skris @a=grep(!/(^|\/)bio_sock/,@a) if $no_sock; 13155714Skris $ret=join(' ',@a)." "; 13255714Skris return($ret); 13355714Skris } 13455714Skris 135