summaryrefslogtreecommitdiff
path: root/tests/fortran.at
blob: ed58ee7831fa88962cbac966fbcf4f21784a1dfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#							-*- Autotest -*-

AT_BANNER([Fortran low level compiling/preprocessing macros.])

# Copyright (C) 2000, 2001, 2003, 2008, 2009 Free Software Foundation,
# Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Since the macros which compile are required by most tests, check
# them first.  But remember that looking for a compiler is even more
# primitive, so check those first.


## --------------------- ##
## Fortran 77 Compiler.  ##
## --------------------- ##


AT_CHECK_MACRO([GNU Fortran 77],
[[AC_LANG(Fortran 77)
AC_LANG_COMPILER

if AC_TRY_COMMAND([$F77 --version | grep GNU >&2]); then
  # Be sure to remove files which might be created by compilers that
  # don't support --version.
  rm -f a.exe a.out
  # Has GNU in --version.
  test "$G77" != yes &&
    AC_MSG_ERROR([failed to recognize GNU Fortran 77 compiler])
else
  # Be sure to remove files which might be created by compilers that
  # don't support --version.
  rm -f a.exe a.out
  # Has not.
  test "$G77" = yes &&
    AC_MSG_ERROR([incorrectly recognized a GNU Fortran 77 compiler])
fi
]])



## ------------------ ##
## Fortran Compiler.  ##
## ------------------ ##


AT_CHECK_MACRO([GNU Fortran],
[[AC_LANG(Fortran)
AC_LANG_COMPILER

# No Fortran compiler is known not to support "*.f".
AC_FC_SRCEXT([f])

# GNU Fortran is known to support freeform.
AC_FC_FREEFORM([],
               [AC_MSG_WARN([Fortran does not accept free-form source])])
if test "$ac_compiler_gnu" = yes; then
  case $FCFLAGS in
   *-ffree-form*) ;;
   *) AC_MSG_ERROR([failed to recognize GNU Fortran's -ffree-form option]);;
  esac
fi
]])