Provided by: lam4-dev_7.1.4-7.1build2_amd64 bug

NAME

       mpif77 - Compile LAM FORTRAN programs.

SYNOPSIS

       mpif77 [-showme|-showme:compile|-showme:link] ...

OPTIONS

       -showme
              Does  not  invoke  the  underlying FORTRAN compiler.  Instead, it shows the full command line that
              would be executed to compile the FORTRAN program.

       -showme:compile
              Does not invoke the underlying FORTRAN compiler.  Instead, it shows the compiler flags that  would
              be supplied to the FORTRAN compiler.

       -showme:link
              Does not invoke the underlying FORTRAN compiler.  Instead, it shows the linker flags that would be
              supplied to the FORTRAN compiler.

       See f77(1) (or whatever your underlying FORTRAN compiler is) for all other options.

DESCRIPTION

       mpif77  is  a  convenience  wrapper  for the local native FORTRAN compiler.  Translation of a LAM program
       requires the linkage of the LAM essential services libraries which may not reside in one of the  standard
       search  directories  of  ld(1).   mpif77  passes its arguments along to the local native FORTRAN compiler
       along with the -L and -l options required by LAM/MPI programs.  This includes all necessary  options  for
       ROMIO and/or C++ bindings support (if ROMIO/C++ support was included when LAM was compiled).

       The  LAM  Team  strongly  encourages  using  mpif77  instead  of  attempting to link to the LAM libraries
       manually.  This allows the specific implementation of LAM to change without  forcing  changes  to  linker
       directives in users' Makefiles (the specific set of underlying LAM libraries has already changed multiple
       times, and will likely change again in future versions).

       Indeed,  since  mpif77  is a very thin wrapper on top of an underlying compiler, there are very, very few
       compelling reasons not to use mpif77.  When it is not possible to use  mpif77,  the  -showme:compile  and
       -showme:link arguments should be used instead.  For example:

       shell$ f77 -c file1.f `mpif77 -showme:compile`

       shell$ f77 -c file2.f `mpif77 -showme:compile`

       shell$ f77 file1.o file2.o `mpif77 -showme:link` -o my_mpi_program

ENVIRONMENT VARIABLES

       By  default, mpif77 uses the FORTRAN compiler that was selected when LAM was configured (with the --with-
       fc flag to ./configure) as the local native FORTRAN compiler, but this can be overridden by the LAMMPIF77
       environment variable (an older name for this environment variable is LAMHF77 -- this  also  still  works,
       but its use is deprecated).

       If  the  environment  variable  LAMHOME  is  set,  mpif77  will  use its value as the location of the LAM
       installation directory instead of the value that was compiled into mpif77.  This means that  mpif77  will
       use the value of LAMHOME as the base to create the -I and -L arguments that are passed to the lower-level
       compiler,  not  the  installation  directory  that  was supplied when mpif77 was created.  This is almost
       always a Bad Idea.

       The use of LAMHOME is discouraged except for some rare configuration cases in oddly networked  sites  (in
       which  case  your system administrator should probably set this up), and for advanced users with multiple
       LAM/MPI installations who really know what they  are  doing;  if  the  LAMHOME  environment  variable  is
       unintentionally  left  set,  it can lead to tremendous user confusion.  For example, if LAMHOME points to
       LAM installation A, but the user's PATH points to LAM installation B, then even though B's mpif77 will be
       used, the user program will be compiled and linked against LAM installation A.

       The LAMHOME environment variable is mainly only left in place for  backwards  compatibility;  it  is  not
       required  for normal functioning of LAM/MPI.  The LAM Team discourages the use of the LAMHOME environment
       variable, and instead advocates simply setting the PATH  properly  to  switch  between  multiple  LAM/MPI
       implementations.

NOTES

       Previous  versions  of LAM encouraged the use of hf77 to compile LAM and/or MPI Fortran applications.  In
       very old versions of LAM, hf77 did not automatically add -lmpi to the command line.  hf77 was  eventually
       deprecated and replaced with mpif77.  The executable hf77 is now simply a symbolic link to mpif77 just in
       case there's anyone out there that still uses that name.  It should be harmless to pass in the additional
       -lmpi; mpif77 should silently do the Right Thing (only link in the MPI library once).

SEE ALSO

       f77(1), ld(1), lam-helpfile(5), mpicc(1)

LAM 7.1.4                                          July, 2007                                          mpif77(1)