
1: #!/usr/bin/perl -w 2: use strict; 3: 4: # Use as $0 5: # Use as $0 -noname 6: 7: my $did_library; 8: my $did_description; 9: my $do_exports; 10: my @imports; 11: my $noname = (@ARGV and $ARGV[0] eq '-noname' and shift); 12: while (<>) { 13: unless ($did_library) { 14: s/\b(cryptssl)\b/crypto/ and $did_library = $1 if /^LIBRARY\s+cryptssl\b/; 15: s/\b(open_ssl)\b/ssl/ and $did_library = $1 if /^LIBRARY\s+open_ssl\b/; 16: } 17: unless ($did_description) { 18: s&^(DESCRIPTION\s+(['"])).*&${1}\@#www.openssl.org/:#\@forwarder DLL for pre-0.9.7c+ OpenSSL to the new dll naming scheme$2& and $did_description++; 19: } 20: if ($do_exports) {{ 21: last unless /\S/; 22: warn, last unless /^ \s* ( \w+ ) \s+ \@(\d+)\s*$/x; 23: push @imports, [$1, $2]; 24: s/$/ NONAME/ if $noname; 25: }} 26: $do_exports++ if not $do_exports and /^EXPORTS/; 27: print $_; 28: } 29: print "IMPORTS\n"; 30: for my $imp (@imports) { 31: print "\t$imp->[0]=$did_library.$imp->[1]\n"; 32: }