DESCRIPTION

This module tries to figure out how to link C programs with Fortran subroutines on your system. Basically one must add a list of Fortran runtime libraries. The problem is their location and name varies with each OS/compiler combination!

This module tries to implement a simple 'rule-of-thumb' database for various flavours of \s-1UNIX\s0 systems. A simple self-documenting Perl database of knowledge/code for figuring out how to link for various combinations of \s-1OS\s0 and compiler is embedded in the modules Perl code. Please help save the world by sending database entries for your system to [email protected]

Note the default on most systems is now to search for a generic '\s-1GNU\s0' compiler which can be g77, gfortran or g95 and then find the appropriate link libraries automatically. (This is the 'Generic' '\s-1GNU\s0' database entry in the code.)

The library list which the module returns can be explicitly overridden by setting the environment variable F77LIBS, e.g.

  % setenv F77LIBS "-lfoo -lbar"
  % perl Makefile.PL
  ...

SYNOPSIS

use ExtUtils::F77; # Automatic guess use ExtUtils::F77 qw(sunos); # Specify system use ExtUtils::F77 qw(linux g77); # Specify system and compiler $fortranlibs = ExtUtils::F77->runtime;

METHODS

The following methods are provided:

  • runtime Returns a list of F77 runtime libraries. $fortranlibs = ExtUtils::F77->runtime;

  • runtimeok Returns \s-1TRUE\s0 only if runtime libraries have been found successfully.

  • trail_ Returns true if F77 names have trailing underscores.

  • compiler Returns command to execute the compiler (e.g. 'f77').

  • cflags Returns compiler flags.

  • testcompiler Test to see if compiler actually works.

More methods will probably be added in the future.

AUTHOR

Karl Glazebrook ([email protected]).