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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
diff -Naurp ExtUtils-F77-1.15.old/F77.pm ExtUtils-F77-1.15/F77.pm
--- ExtUtils-F77-1.15.old/F77.pm 2005-02-03 10:12:49.000000000 -0500
+++ ExtUtils-F77-1.15/F77.pm 2007-04-16 12:28:35.000000000 -0400
@@ -169,31 +169,32 @@ $F77config{Solaris}{DEFAULT} = 'F77';
### Generic GNU-77 or F2C system ###
+$F77config{Generic}{G77}{Compiler} = find_in_path('g77','f77','fort77','gfortran');
$F77config{Generic}{G77}{Link} = sub {
- my @libs = ('g2c', 'f2c');
+foreach my $ext qw(so a) {
+ my @libs = ('gfortran', 'g2c', 'f2c');
my ($dir, $lib, $test);
foreach $test (@libs) {
- $dir = `g77 -print-file-name=lib$test.a`;
+ $dir = `$F77config{Generic}{G77}{Compiler} -print-file-name=lib$test.$ext`;
chomp $dir;
# Note that -print-file-name returns just the library name
# if it cant be found - make sure that we only accept the
# directory if it returns a proper path (or matches a /)
- if (defined $dir && $dir ne "lib$test.a") {
+ if (defined $dir && $dir ne "lib$test.$ext") {
$lib = $test; # Found an existing library
last;
}
}
if( defined $dir && defined $lib) {
- $dir =~ s,/lib$lib.a$,,;
+ $dir =~ s,/lib$lib.$ext$,,;
} else {
$dir = "/usr/local/lib";
$lib = "f2c";
}
return( "-L$dir -L/usr/lib -l$lib -lm" );
-};
+}};
$F77config{Generic}{G77}{Trail_} = 1;
-$F77config{Generic}{G77}{Compiler} = find_in_path('g77','f77','fort77');
$F77config{Generic}{G77}{Cflags} = '-O';
$F77config{Generic}{DEFAULT} = 'G77';
$F77config{Generic}{F2c} = $F77config{Generic}{G77};
@@ -219,6 +220,7 @@ $F77config{Cygwin}{DEFAULT} = 'G77';
$F77config{Linux}{G77} = $F77config{Generic}{G77};
$F77config{Linux}{F2c} = $F77config{Generic}{G77};
$F77config{Linux}{DEFAULT} = 'G77';
+$F77config{Linux}{G77}{Cflags} = $Config{optimize};
### DEC OSF/1 ###
|