ExtUtils::F77(3) Simple interface to F77 libs


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 UNIX systems. A simple self-documenting Perl database of knowledge/code for figuring out how to link for various combinations of OS 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 'GNU' compiler which can be g77, gfortran or g95 and then find the appropriate link libraries automatically. (This is the 'Generic' 'GNU' 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


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;


The following methods are provided:
  • runtime

    Returns a list of F77 runtime libraries.

      $fortranlibs = ExtUtils::F77->runtime;
  • runtimeok

    Returns TRUE 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.


Karl Glazebrook ([email protected]).