Fixes #4736: Move 32041, 32042, 32043, 32044, 32045, 32046, 32052, 32064, 32065, 32071, 32162, 32204, r32215 to v1.8 branch (Fix use-mpi-trk/Makefile.am)

There are undoubtedly several changesets missing from this list, but it proved difficult to find them. This patch was constructed by:

* syncing the ompi/mpi/fortran branch from the trunk to the 1.8 branch

* renaming all the fortran_* configure scripts to ompi_fortran_* so they matched the trunk, thus removing the continual conflict problem whenever a change had to come across

* adding a missing .m4 file that was in the trunk but did not exist in 1.8: ompi_find_mpi_aint_count_offset.m4

* cleaning up configure.ac to support the revised fortran stuff

* syncing some of the fortran configure files to the trunk

The result builds for me against even older gcc compilers, but will need to be tested more widely to ensure I got it right.


---svn-pre-commit-ignore-below---

r32040 [[BR]]
Fortran: remove the scripts from the use-mpi-tkr implementation

This is part one of several Fortran improvements and fixes.  This
first part removes the now-defunct scripts that are used to generate
the .f90 files in the use-mpi-tkr implementation, and just commits the
output from those scripts.  This makes long-term maintenance of the
use-mpi-tkr implementation simpler.

cmr=v1.8.2:reviewer=jsquyres:subject=Various Fortran fixes/improvements

r32041 [[BR]]
Fortran: fix a few ierr->ierror mistakes that crept in

Thanks for Walter Spector for raising the issue on the users list.

Refs #3582

cmr=v1.8.2:ticket=#4736

r32042 [[BR]]
Fortran: add missing implementation of win_allocate_shared and win_shared_query

Thanks to Michael Rachner for pointing out the issue.

cmr=v1.8.2:ticket=#4736

r32043 [[BR]]
ompi_fortran_check_bind_c.m4: Fix comment in existing .m4 file

cmr=v1.8.2:ticket=#4736

r32044 [[BR]]
Fortran: disable the descriptor-based mpi_f08 prototype

It will come back someday.

cmr=v1.8.2:ticket=#4736

r32045 [[BR]]
Fortran: Move all f08-related modules out of fortran/base

Move them all to fortran/use-mpi-f08, since that's the only directory
that uses them (the use-mpi-f08-desc directory has been disabled).

cmr=v1.8.2:ticket=#4736

r32046 [[BR]]
Fortran: add files accidentally skipped in r32042

cmr=v1.8.2:ticket=#4736

r32052 [[BR]]
Fortran: fix two type mistakes

Use the appropriate modules, don't use mpif-config.h.

cmr=v1.8.2:ticket=#4736

r32064 [[BR]]
Fortran: fix OMPI_GENERATE_F77_BINDINGS macro invokation

Some parameters were ommited and compilation failed if
configured with --disable-weak-symbols

cmr=v1.8.2:ticket=#4736

r32071 [[BR]]
Fortran: include the type functions (eq/ne) in libmpi_usempif08

This file has to be pre-emptively compiled to generate the module, but
then it also has to be included in libmpi_usempif08.

cmr=v1.8.2:ticket=#4736

r32162 [[BR]]
fortran: fix MPI_Win_allocate_shared and MPI_Win_shared_query

Several problems with MPI_Win_allocate_shared and MPI_Win_shared_query
were discovered in a code review.  This commit fixes them:

* Add _cptr versions of both subroutines in mpif-h, use-mpi-tkr, and
  use-mpi-ignore-tkr directories
* Fix case of PMPI weak symbols for both C implementations
* Add MPI and PMPI f08 implementations of both subroutines (there is
  no _cptr version in the mpi_f08 module)
* Fixed _f08 suffix on the f08 module of both subroutines

cmr=v1.8.2:ticket=#4736

r32204 [[BR]]
Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module

Older gfortran compilers (e.g., the gfortran that ships in RHEL5) do
not support ISO_C_BINDING, and therefore do not support the
TYPE(C_PTR) type.  As such, they cannot support the overloaded
interfaces for MPI_WIN_ALLOCATE_SHARED and MPI_SHARED_QUERY that are
mandated in MPI-3.

So we separate those interfaces out into a separate .F90 file that is
#include'd in the tkr mpi.F90 file.  In this separate .F90 file, we
use an #if to determine whether the compiler supports ISO_C_BINDING or
not.

Also re-jiggered the order of testing in ompi_setup_mpi_fortran.m4: we
now need to test whether the compiler supports ISO_C_BINDING even when
we're only building the mpi module (not strictly when we're building
the mpi_f08 module).

Finally, tweaked the use-mpi-tkr/Makefile.am to:

* Add some proper dependencies for mpi.F90
* Allow the general AM compilation to be used instead of supplying a
  specific rule for compiling mpi.F90

cmr=v1.8.2:ticket=#4736

r32215 [[BR]]
Fix use-mpi-trk/Makefile.am

Always include into the tarball (aka 'make dist') :
 - mpi-f90-interfaces.h
 - mpi-f90-cptr-interfaces.F90

cmr=v1.8.2:ticket=#4736