1#
2eval 'exec perl $0 $*'
3    if 0;
4
5$method = '@F77_SYMBOLS@';
6
7$in = shift;
8
9if ($in eq "-method") {
10    $method = shift;
11    $symbol = f77symbol($method, shift);
12    print "$symbol\n";
13}
14else {
15    $out = shift;
16
17    open(IN,"<$in");
18    open(OUT,">$out");
19
20    while(<IN>) {
21        if (/\# *define F77_([A-Z]+[A-Z0-9]+)/) {
22            $f77name = $1;
23            $cname = f77symbol($method, $f77name);
24            printf OUT "#define F77_%s %s\n", $f77name, $cname;
25        }
26        else {
27            printf OUT "%s", $_;
28        }
29    }
30}
31
32sub f77symbol {
33    my $method = shift;
34    my $f77name = shift;
35    my $cname;
36    if ($method eq "symbol_") {
37        $cname = lc($f77name);
38        $cname = "${cname}_";
39    }
40    elsif ($method eq "symbol") {
41        $cname = lc($f77name);
42    }
43    elsif ($method eq "SYMBOL") {
44        $cname = uc($f77name);
45    }
46    elsif ($method eq "SYMBOL_") {
47        $cname = uc($f77name);
48        $cname = "${cname}_";
49    }
50    return $cname;
51}
52