1
# GA_MPIF77_TEST_PROGRAM
2
# ----------------------
3
# Create an MPI test program in Fortran 77.
4
AC_DEFUN([GA_MPIF77_TEST_PROGRAM], [
5
AC_LANG_PUSH([Fortran 77])
6
AC_LANG_CONFTEST([AC_LANG_PROGRAM([],
10
call MPI_Finalize( ierr )]])])
11
AC_LANG_POP([Fortran 77])
14
# GA_MPIF77_TEST_COMPILE
15
# ----------------------
16
# Attempt to compile a simple MPI program in Fortran 77.
17
AC_DEFUN([GA_MPIF77_TEST_COMPILE], [
18
AC_LANG_PUSH([Fortran 77])
19
GA_MPIF77_TEST_PROGRAM()
20
AC_CACHE_CHECK([whether a simple Fortran MPI program compiles],
21
[ga_cv_f77_mpi_test_compile],
22
[ga_save_FFLAGS="$FFLAGS"; FFLAGS="$FFLAGS $GA_MP_CPPFLAGS"
24
[ga_cv_f77_mpi_test_compile=yes],
25
[ga_cv_f77_mpi_test_compile=no])
26
FFLAGS="$ga_save_FFLAGS"])
27
rm -f conftest.$ac_ext
28
AC_LANG_POP([Fortran 77])
29
AS_IF([test "x$ga_cv_f77_mpi_test_compile" = xno],
30
[AC_MSG_FAILURE([could not compile simple Fortran MPI program])])
35
# Attempt to compile a simple MPI program in Fortran 77.
36
AC_DEFUN([GA_MPIF77_TEST_LINK], [
37
AC_LANG_PUSH([Fortran 77])
38
GA_MPIF77_TEST_PROGRAM()
39
ga_cv_f77_mpi_test_link=no
40
AS_IF([test "x$ga_cv_f77_mpi_test_link" = xno],
41
[AC_MSG_CHECKING([whether a Fortran MPI program links natively])
43
[ga_cv_f77_mpi_test_link=yes
47
[ga_cv_f77_mpi_test_link=no])
48
AC_MSG_RESULT([$ga_cv_f77_mpi_test_link])])
49
# That didn't work. Let's try adding our GA_MP_* flags.
50
# The CPPFLAGS are added to FFLAGS since *.f doesn't use CPP. LIBS changes.
52
ga_save_FFLAGS="$FFLAGS"; FFLAGS="$FFLAGS $GA_MP_CPPFLAGS"
53
ga_save_LDFLAGS="$LDFLAGS"; LDFLAGS="$LDFLAGS $GA_MP_LDFLAGS"
54
AS_IF([test "x$ga_cv_f77_mpi_test_link" = xno],
55
[AC_MSG_CHECKING([whether a Fortran MPI program links with additional env])
56
LIBS="$LIBS $GA_MP_LIBS"
58
[ga_cv_f77_mpi_test_link=yes],
59
[ga_cv_f77_mpi_test_link=no])
61
AC_MSG_RESULT([$ga_cv_f77_mpi_test_link])])
62
# That didn't work, so now let's try with specific libs.
63
AS_IF([test "x$ga_cv_f77_mpi_test_link" = xno],
64
[AC_MSG_CHECKING([for mvapich libraries])
65
for lib in "-lmpichf90nc -lmpichfarg -lmpich -lpthread" "-lmpichf90 -lmpichfarg -lmpich -pthread" "-lmpichf90nc -lmpichfarg -lmpich" "-lmpichf90 -lmpichfarg -lmpich" "-lmpichfarg -lmpich -lpthread" "-lmpichfarg -lmpich"
69
[ga_cv_f77_mpi_test_link="$lib"; break],
70
[ga_cv_f77_mpi_test_link=no])
74
AC_MSG_RESULT([$ga_cv_f77_mpi_test_link])])
75
AS_IF([test "x$ga_cv_f77_mpi_test_link" = xno],
76
[AC_MSG_CHECKING([for mpich libraries])
77
for lib in "-lmpichf90 -lmpich -lpthread" "-lmpichf90 -lmpich" "-lmpich -pthread" "-lmpich"
81
[ga_cv_f77_mpi_test_link="$lib"; break],
82
[ga_cv_f77_mpi_test_link=no])
86
AC_MSG_RESULT([$ga_cv_f77_mpi_test_link])])
87
AS_IF([test "x$ga_cv_f77_mpi_test_link" = xno],
88
[AC_MSG_CHECKING([for hpmpi libraries])
89
for lib in "-lhpmpio -lhpmpi"
93
[ga_cv_f77_mpi_test_link="$lib"; break],
94
[ga_cv_f77_mpi_test_link=no])
98
AC_MSG_RESULT([$ga_cv_f77_mpi_test_link])])
99
AS_IF([test "x$ga_cv_f77_mpi_test_link" = xno],
100
[AC_MSG_CHECKING([for intelmpi libraries])
101
for lib in "-lmpi -lmpigf -lmpigi -lpthread" "-lmpi -lmpigf -lmpigi"
105
[ga_cv_f77_mpi_test_link="$lib"; break],
106
[ga_cv_f77_mpi_test_link=no])
110
AC_MSG_RESULT([$ga_cv_f77_mpi_test_link])])
111
AS_IF([test "x$ga_cv_f77_mpi_test_link" = xno],
112
[AC_MSG_CHECKING([for openmpi libraries])
113
for lib in "-lmpi_f90 -lmpi_f77 -lmpi" "-lmpi_f77 -lmpi"
117
[ga_cv_f77_mpi_test_link="$lib"; break],
118
[ga_cv_f77_mpi_test_link=no])
122
AC_MSG_RESULT([$ga_cv_f77_mpi_test_link])])
123
rm -f conftest.$ac_ext
125
LDFLAGS="$ga_save_LDFLAGS"
126
FFLAGS="$ga_save_FFLAGS"
127
AC_LANG_POP([Fortran 77])
128
AS_CASE([$ga_cv_f77_mpi_test_link],
130
[no], [AC_MSG_FAILURE([could not link simple Fortran MPI program])],
131
[*], [GA_MP_LIBS="$ga_cv_f77_mpi_test_link"],