131 |
## ----------------------- ## |
## ----------------------- ## |
132 |
|
|
133 |
|
|
134 |
# ----------------------------- # |
# -------------------------- # |
135 |
# 1d. The Fortran language. # |
# 1d. The Fortran language. # |
136 |
# ----------------------------- # |
# -------------------------- # |
137 |
|
|
138 |
|
|
139 |
# AC_LANG(Fortran 77) |
# AC_LANG(Fortran 77) |
147 |
|
|
148 |
|
|
149 |
# AC_LANG(Fortran) |
# AC_LANG(Fortran) |
150 |
# ------------------- |
# ---------------- |
151 |
m4_define([AC_LANG(Fortran)], |
m4_define([AC_LANG(Fortran)], |
152 |
[ac_ext=${FC_SRCEXT-f} |
[ac_ext=${FC_SRCEXT-f} |
153 |
ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&AS_MESSAGE_LOG_FD' |
ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&AS_MESSAGE_LOG_FD' |
161 |
|
|
162 |
|
|
163 |
# _AC_FORTRAN_ASSERT |
# _AC_FORTRAN_ASSERT |
164 |
# -------------------- |
# ------------------ |
165 |
# Current language must be Fortran or Fortran 77. |
# Current language must be Fortran or Fortran 77. |
166 |
m4_defun([_AC_FORTRAN_ASSERT], |
m4_defun([_AC_FORTRAN_ASSERT], |
167 |
[m4_if(_AC_LANG, [Fortran], [], |
[m4_if(_AC_LANG, [Fortran], [], |
174 |
m4_define([_AC_LANG_ABBREV(Fortran 77)], [f77]) |
m4_define([_AC_LANG_ABBREV(Fortran 77)], [f77]) |
175 |
|
|
176 |
# _AC_LANG_ABBREV(Fortran) |
# _AC_LANG_ABBREV(Fortran) |
177 |
# --------------------------- |
# ------------------------ |
178 |
m4_define([_AC_LANG_ABBREV(Fortran)], [fc]) |
m4_define([_AC_LANG_ABBREV(Fortran)], [fc]) |
179 |
|
|
180 |
|
|
183 |
m4_define([_AC_LANG_PREFIX(Fortran 77)], [F]) |
m4_define([_AC_LANG_PREFIX(Fortran 77)], [F]) |
184 |
|
|
185 |
# _AC_LANG_PREFIX(Fortran) |
# _AC_LANG_PREFIX(Fortran) |
186 |
# --------------------------- |
# ------------------------ |
187 |
m4_define([_AC_LANG_PREFIX(Fortran)], [FC]) |
m4_define([_AC_LANG_PREFIX(Fortran)], [FC]) |
188 |
|
|
189 |
|
|
190 |
# _AC_FC |
# _AC_FC |
191 |
# ------------------- |
# ------ |
192 |
# Return F77 or FC, depending upon the language. |
# Return F77 or FC, depending upon the language. |
193 |
AC_DEFUN([_AC_FC], |
AC_DEFUN([_AC_FC], |
194 |
[_AC_FORTRAN_ASSERT()dnl |
[_AC_FORTRAN_ASSERT()dnl |
195 |
AC_LANG_CASE([Fortran 77], [F77], [Fortran], [FC])]) |
AC_LANG_CASE([Fortran 77], [F77], |
196 |
|
[Fortran], [FC])]) |
197 |
|
|
198 |
|
|
199 |
## ---------------------- ## |
## ---------------------- ## |
201 |
## ---------------------- ## |
## ---------------------- ## |
202 |
|
|
203 |
|
|
204 |
# ------------------------ # |
# --------------------- # |
205 |
# 2d. Fortran sources. # |
# 2d. Fortran sources. # |
206 |
# ------------------------ # |
# --------------------- # |
207 |
|
|
208 |
# AC_LANG_SOURCE(Fortran 77)(BODY) |
# AC_LANG_SOURCE(Fortran 77)(BODY) |
209 |
# AC_LANG_SOURCE(Fortran)(BODY) |
# AC_LANG_SOURCE(Fortran)(BODY) |
261 |
## -------------------------------------------- ## |
## -------------------------------------------- ## |
262 |
|
|
263 |
|
|
264 |
# ----------------------------- # |
# -------------------------- # |
265 |
# 3d. The Fortran compiler. # |
# 3d. The Fortran compiler. # |
266 |
# ----------------------------- # |
# -------------------------- # |
267 |
|
|
268 |
|
|
269 |
# AC_LANG_PREPROC(Fortran 77) |
# AC_LANG_PREPROC(Fortran 77) |
302 |
AU_DEFUN([ac_cv_prog_g77], |
AU_DEFUN([ac_cv_prog_g77], |
303 |
[ac_cv_f77_compiler_gnu]) |
[ac_cv_f77_compiler_gnu]) |
304 |
|
|
305 |
|
|
306 |
# _AC_FC_DIALECT_YEAR([DIALECT]) |
# _AC_FC_DIALECT_YEAR([DIALECT]) |
307 |
|
# ------------------------------ |
308 |
# Given a Fortran DIALECT, which is Fortran [YY]YY or simply [YY]YY, |
# Given a Fortran DIALECT, which is Fortran [YY]YY or simply [YY]YY, |
309 |
# convert to a 4-digit year. The dialect must be one of Fortran 77, |
# convert to a 4-digit year. The dialect must be one of Fortran 77, |
310 |
# 90, 95, or 2000, currently. If DIALECT is simply Fortran or the |
# 90, 95, or 2000, currently. If DIALECT is simply Fortran or the |
318 |
[],[], |
[],[], |
319 |
[m4_fatal([unknown Fortran dialect])])]) |
[m4_fatal([unknown Fortran dialect])])]) |
320 |
|
|
321 |
|
|
322 |
# _AC_PROG_FC([DIALECT], [COMPILERS...]) |
# _AC_PROG_FC([DIALECT], [COMPILERS...]) |
323 |
# --------------------------- |
# -------------------------------------- |
324 |
# DIALECT is a Fortran dialect, given by Fortran [YY]YY or simply [YY]YY, |
# DIALECT is a Fortran dialect, given by Fortran [YY]YY or simply [YY]YY, |
325 |
# and must be one of those supported by _AC_FC_DIALECT_YEAR |
# and must be one of those supported by _AC_FC_DIALECT_YEAR |
326 |
# |
# |
375 |
ac_ext=F |
ac_ext=F |
376 |
_AC_LANG_COMPILER_GNU |
_AC_LANG_COMPILER_GNU |
377 |
ac_ext=$ac_save_ext |
ac_ext=$ac_save_ext |
378 |
_AC_PROG_FC_G] |
_AC_PROG_FC_G |
379 |
) |
])# _AC_PROG_FC |
380 |
|
|
381 |
|
|
382 |
# AC_PROG_F77([COMPILERS...]) |
# AC_PROG_F77([COMPILERS...]) |
383 |
# --------------------------- |
# --------------------------- |
393 |
AC_LANG_POP(Fortran 77)dnl |
AC_LANG_POP(Fortran 77)dnl |
394 |
])# AC_PROG_F77 |
])# AC_PROG_F77 |
395 |
|
|
396 |
|
|
397 |
# AC_PROG_FC([COMPILERS...], [DIALECT]) |
# AC_PROG_FC([COMPILERS...], [DIALECT]) |
398 |
# --------------------------- |
# ------------------------------------- |
399 |
# COMPILERS is a space separated list of Fortran 77 compilers to search |
# COMPILERS is a space separated list of Fortran 77 compilers to search |
400 |
# for, and [DIALECT] is an optional dialect. See also _AC_PROG_FC. |
# for, and [DIALECT] is an optional dialect. See also _AC_PROG_FC. |
401 |
AC_DEFUN([AC_PROG_FC], |
AC_DEFUN([AC_PROG_FC], |
409 |
|
|
410 |
|
|
411 |
# _AC_PROG_FC_G |
# _AC_PROG_FC_G |
412 |
# -------------- |
# ------------- |
413 |
# Check whether -g works, even if F[C]FLAGS is set, in case the package |
# Check whether -g works, even if F[C]FLAGS is set, in case the package |
414 |
# plays around with F[C]FLAGS (such as to build both debugging and normal |
# plays around with F[C]FLAGS (such as to build both debugging and normal |
415 |
# versions of a library), tasteless as that idea is. |
# versions of a library), tasteless as that idea is. |
475 |
fi |
fi |
476 |
])# _AC_PROG_FC_C_O |
])# _AC_PROG_FC_C_O |
477 |
|
|
478 |
|
|
479 |
# AC_PROG_F77_C_O |
# AC_PROG_F77_C_O |
480 |
# --------------- |
# --------------- |
481 |
AC_DEFUN([AC_PROG_F77_C_O], |
AC_DEFUN([AC_PROG_F77_C_O], |
485 |
AC_LANG_POP(Fortran 77)dnl |
AC_LANG_POP(Fortran 77)dnl |
486 |
])# AC_PROG_F77_C_O |
])# AC_PROG_F77_C_O |
487 |
|
|
488 |
|
|
489 |
# AC_PROG_FC_C_O |
# AC_PROG_FC_C_O |
490 |
# --------------- |
# --------------- |
491 |
AC_DEFUN([AC_PROG_FC_C_O], |
AC_DEFUN([AC_PROG_FC_C_O], |
1175 |
[AC_LANG_PUSH(Fortran)dnl |
[AC_LANG_PUSH(Fortran)dnl |
1176 |
ac_cv_fc_freeform=unknown |
ac_cv_fc_freeform=unknown |
1177 |
ac_fc_freeform_FCFLAGS_save=$FCFLAGS |
ac_fc_freeform_FCFLAGS_save=$FCFLAGS |
1178 |
for ac_flag in none -ffree-form -FR -free -qfree -Mfree -Mfreeform -freeform "-f free"; do |
for ac_flag in none -ffree-form -FR -free -qfree -Mfree -Mfreeform \ |
1179 |
|
-freeform "-f free" |
1180 |
|
do |
1181 |
test "x$ac_flag" != xnone && FCFLAGS="$ac_fc_freeform_FCFLAGS_save $ac_flag" |
test "x$ac_flag" != xnone && FCFLAGS="$ac_fc_freeform_FCFLAGS_save $ac_flag" |
1182 |
AC_COMPILE_IFELSE([ |
AC_COMPILE_IFELSE([ |
1183 |
program freeform |
program freeform |
1184 |
! FIXME: how to best confuse non-freeform compilers? |
! FIXME: how to best confuse non-freeform compilers? |
1185 |
print *, 'Hello ', & |
print *, 'Hello ', & |
1186 |
'world.' |
'world.' |
1187 |
end |
end], |
1188 |
], [ac_cv_fc_freeform=$ac_flag; break]) |
[ac_cv_fc_freeform=$ac_flag; break]) |
1189 |
done |
done |
1190 |
rm -f conftest.$ac_objext conftest.$ac_ext |
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext |
1191 |
FCFLAGS=$ac_fc_freeform_FCFLAGS_save |
FCFLAGS=$ac_fc_freeform_FCFLAGS_save |
1192 |
AC_LANG_POP(Fortran)dnl |
AC_LANG_POP(Fortran)dnl |
1193 |
]) |
]) |
1194 |
if test "x$ac_cv_fc_freeform" = xunknown; then |
if test "x$ac_cv_fc_freeform" = xunknown; then |
1195 |
m4_default([$2],[AC_MSG_ERROR([Fortran does not accept free-form source],77)]) |
m4_default([$2], |
1196 |
|
[AC_MSG_ERROR([Fortran does not accept free-form source], 77)]) |
1197 |
else |
else |
1198 |
if test "x$ac_cv_fc_freeform" != xnone; then |
if test "x$ac_cv_fc_freeform" != xnone; then |
1199 |
FCFLAGS="$FCFLAGS $ac_cv_fc_freeform" |
FCFLAGS="$FCFLAGS $ac_cv_fc_freeform" |