* INSTALL, lib/INSTALL, lib/config-ml.in, lib/config.guess,
[automake/plouj.git] / tests / fort4.test
blobb8d67d1e1ebeda6ef47d4fa2c8fb0d661de29ae8
1 #! /bin/sh
2 # Copyright (C) 2006 Free Software Foundation, Inc.
4 # This file is part of GNU Automake.
6 # GNU Automake is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3, or (at your option)
9 # any later version.
11 # GNU Automake is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with Automake; see the file COPYING. If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 # Boston, MA 02110-1301, USA.
21 # Test mixing Fortran 77 and Fortran (FC).
23 # For now, require the GNU compilers (to avoid some Libtool/Autoconf
24 # issues).
25 required='g77 gfortran'
26 . ./defs || exit 1
28 set -e
30 mkdir sub
32 cat >hello.f <<'END'
33 program hello
34 call foo
35 call bar
36 stop
37 end
38 END
40 cat >bye.f90 <<'END'
41 program goodbye
42 call baz
43 stop
44 end
45 END
47 cat >foo.f90 <<'END'
48 subroutine foo
49 return
50 end
51 END
53 sed s,foo,bar, foo.f90 > sub/bar.f90
54 sed s,foo,baz, foo.f90 > sub/baz.f
56 cat >>configure.in <<'END'
57 AC_PROG_F77
58 AC_PROG_FC
59 AC_FC_SRCEXT([f90], [],
60 [AC_MSG_FAILURE([$FC compiler cannot create executables], 77)])
61 AC_FC_LIBRARY_LDFLAGS
62 AC_OUTPUT
63 END
65 cat >Makefile.am <<'END'
66 bin_PROGRAMS = hello goodbye
67 hello_SOURCES = hello.f foo.f90 sub/bar.f90
68 goodbye_SOURCES = bye.f90 sub/baz.f
69 goodbye_FCFLAGS =
70 LDADD = $(FCLIBS)
71 END
73 $ACLOCAL
74 $AUTOMAKE
75 # The Fortran 77 linker should be preferred:
76 grep '.\$(FCLINK)' Makefile.in && exit 1
78 $AUTOCONF
79 # configure may exit 77 if no compiler is found,
80 # or if the compiler cannot compile Fortran 90 files).
81 ./configure
82 $MAKE
83 subobjs=`echo sub/*.o sub/*.obj`
84 test "$subobjs" = 'sub/*.o sub/*.obj'
85 $MAKE distcheck
87 $MAKE distclean
88 echo 'AUTOMAKE_OPTIONS = subdir-objects' >> Makefile.am
89 $AUTOMAKE
90 ./configure
91 $MAKE
92 test ! -f bar.o
93 test ! -f bar.obj
94 test ! -f baz.o
95 test ! -f baz.obj
96 test ! -f goodbye-baz.o
97 test ! -f goodbye-baz.obj
98 $MAKE distcheck