Subject: | Update for Solaris Forte 7 compilers |
Sun's Forte 7 compiler suite requires that more libraries be explicitly specified when linking with anything other than f77. I've come up with a list which may not be the smallest set possible, but It Works For Me (TM).
# This is a patch for ExtUtils-F77-1.14.orig to update it to ExtUtils-F77-1.14
#
# To apply this patch:
# STEP 1: Chdir to the source directory.
# STEP 2: Run the 'applypatch' program with this patch file as input.
#
# If you do not have 'applypatch', it is part of the 'makepatch' package
# that you can fetch from the Comprehensive Perl Archive Network:
# http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz
# In the above URL, 'x' should be 2 or higher.
#
# To apply this patch without the use of 'applypatch':
# STEP 1: Chdir to the source directory.
# STEP 2: Run the 'patch' program with this file as input.
#
#### End of Preamble ####
#### Patch data follows ####
diff -c 'ExtUtils-F77-1.14.orig/F77.pm' 'ExtUtils-F77-1.14/F77.pm'
Index: ./F77.pm
*** ./F77.pm Fri Jun 15 16:04:17 2001
--- ./F77.pm Wed Nov 19 14:56:46 2003
***************
*** 122,128 ****
}
return "" unless $dir; # Failure
print "$Pkg: Found Fortran latest version lib dir $dir\n";
! return "-L$dir -lF77 -lM77 -lsunmath -lm";
};
--- 122,161 ----
}
return "" unless $dir; # Failure
print "$Pkg: Found Fortran latest version lib dir $dir\n";
!
! my @libs;
!
! # determine libraries. Forte 7 doesn't have F77 or M77
! if ( qx/$F77config{Solaris}{F77}{Compiler} -V 2>&1/
! =~ /Forte Developer 7/ )
! {
! push @libs, qw/
! -lf77compat
! -lfui
! -lfai
! -lfai2
! -lfsumai
! -lfprodai
! -lfminlai
! -lfmaxlai
! -lfminvai
! -lfmaxvai
! -lfsu
! -lsunmath
! -lm
! /;
! }
! else
! {
! push @libs, qw/
! -lF77
! -lM77
! -lsunmath
! -lm
! /;
! }
!
! join( ' ', "-L$dir", @libs );
};
***************
*** 365,371 ****
}
if (defined( $F77config{$system}{$compiler}{Compiler} )) {
! $Compiler = $F77config{$system}{$compiler}{Compiler};
} else {
print << "EOD";
$Pkg: There does not appear to be any configuration info about
--- 398,404 ----
}
if (defined( $F77config{$system}{$compiler}{Compiler} )) {
! $Compiler = get $F77config{$system}{$compiler}{Compiler};
} else {
print << "EOD";
$Pkg: There does not appear to be any configuration info about
***************
*** 376,382 ****
print "$Pkg: Compiler: $Compiler\n";
if (defined( $F77config{$system}{$compiler}{Cflags} )) {
! $Cflags = $F77config{$system}{$compiler}{Cflags};
} else {
print << "EOD";
$Pkg: There does not appear to be any configuration info about
--- 409,415 ----
print "$Pkg: Compiler: $Compiler\n";
if (defined( $F77config{$system}{$compiler}{Cflags} )) {
! $Cflags = get $F77config{$system}{$compiler}{Cflags} ;
} else {
print << "EOD";
$Pkg: There does not appear to be any configuration info about
#### End of Patch data ####
#### ApplyPatch data follows ####
# Data version : 1.0
# Date generated : Wed Nov 19 14:56:56 2003
# Generated by : makepatch 2.00
# Recurse directories : Yes
# p 'F77.pm' 15882 1069271806 0100755
#### End of ApplyPatch data ####
#### End of Patch kit [created: Wed Nov 19 14:56:56 2003] ####
#### Checksum: 117 3290 41420 ####