File: backwardify.pl

package info (click to toggle)
openssl 0.9.8c-4etch9
  • links: PTS
  • area: main
  • in suites: etch
  • size: 19,340 kB
  • ctags: 26,395
  • sloc: ansic: 203,603; perl: 18,445; makefile: 10,732; asm: 10,675; cpp: 4,379; sh: 2,925; lisp: 23
file content (32 lines) | stat: -rw-r--r-- 903 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/local/bin/perl
use strict;

# Use as $0
# Use as $0 -noname

my $did_library;
my $did_description;
my $do_exports;
my @imports;
my $noname = (@ARGV and $ARGV[0] eq '-noname' and shift);
while (<>) {
  unless ($did_library) {
    s/\b(cryptssl)\b/crypto/ and $did_library = $1 if /^LIBRARY\s+cryptssl\b/;
    s/\b(open_ssl)\b/ssl/    and $did_library = $1 if /^LIBRARY\s+open_ssl\b/;
  }
  unless ($did_description) {
    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++;
  }
  if ($do_exports) {{
    last unless /\S/;
    warn, last unless /^ \s* ( \w+ ) \s+ \@(\d+)\s*$/x;
    push @imports, [$1, $2];
    s/$/ NONAME/ if $noname;
  }}
  $do_exports++ if not $do_exports and /^EXPORTS/;
  print $_;
}
print "IMPORTS\n";
for my $imp (@imports) {
  print "\t$imp->[0]=$did_library.$imp->[1]\n";
}