From 698e47136818bb4290d87e7f7d9b98ade7444cf7 Mon Sep 17 00:00:00 2001
From: Slaven Rezic <
[email protected]>
Date: Wed, 9 Mar 2016 21:33:06 +0100
Subject: [PATCH] amend freebsd patch for 1.19_1
---
F77.pm | 47 ++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 44 insertions(+), 3 deletions(-)
diff --git a/F77.pm b/F77.pm
index 6ac28ab..04f046b 100644
--- a/F77.pm
+++ b/F77.pm
@@ -344,9 +344,49 @@ $F77config{Aix}{DEFAULT} = 'F77';
### FreeBSD ###
-$F77config{Freebsd}{F77}{Trail_} = 1;
-$F77config{Freebsd}{F77}{Link} = '-L/usr/lib -lf2c -lm';
-$F77config{Freebsd}{DEFAULT} = 'F77';
+if($^O =~ /Freebsd/i) {
+ $gfortran = 'gfortran48'; # requires rewrite
+ $fallback_compiler = 'G77';
+}
+
+$F77config{Freebsd}{G77}{Link} = sub {
+ $dir = `g77-34 -print-file-name=libg2c.a`;
+ 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 =~ s,/libg2c.a$,,;
+ } else {
+ $dir = "/usr/local/lib";
+ }
+ return( "-L$dir -L/usr/lib -lg2c -lm" );
+};
+
+$F77config{Freebsd}{GFortran}{Link} = sub {
+ $dir = `$gfortran -print-file-name=libgfortran.a`;
+ 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 =~ s,/libgfortran.a$,,;
+ } else {
+ $dir = "/usr/local/lib";
+ }
+ return( "-L$dir -L/usr/lib -lgfortran -lm" );
+};
+
+$F77config{Freebsd}{G77}{Trail_} = 1;
+$F77config{Freebsd}{GFortran}{Trail_} = 1;
+$F77config{Freebsd}{G77}{Compiler} = 'g77-34';
+$F77config{Freebsd}{GFortran}{Compiler} = "$gfortran";
+$F77config{Freebsd}{G77}{Cflags} = '-O2';
+$F77config{Freebsd}{GFortran}{Cflags} = '-O2';
+$F77config{Freebsd}{DEFAULT} = 'GFortran';
+
### VMS ###
@@ -444,6 +484,7 @@ sub import {
EOD
$system =
$Config{cc} =~ /\bgcc/ && $^O =~ /MSWin32/i ? "MinGW"
+ : $^O =~ /Freebsd/i ? "Freebsd"
:"Generic";
$compiler = $fallback_compiler;
my $flibs = get ($F77config{$system}{$compiler}{Link});
--
2.1.2