summaryrefslogtreecommitdiff
path: root/tests/ext.test
blob: 5ac3cd1ab6c424b4b98e73e434cd33bb57bfad42 (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
#! /bin/sh
# Copyright (C) 1999, 2001, 2002, 2006, 2010, 2011 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 2, 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/>.

# Test to make sure extensions are set correctly for various languages.

. ./defs || Exit 1

cat >> configure.in << 'END'
AC_PROG_F77
AC_PROG_FC
AC_PROG_OBJC
AM_PROG_UPC
END

cat > Makefile.am << 'END'
bin_PROGRAMS = foo
foo_SOURCES = 1.f 2.for 3.f90 4.f95 5.F 6.F90 7.F95 8.r 9.m 10.upc
END

$ACLOCAL
$AUTOMAKE

for ext in f for f90 f95 F F90 F95 r m upc
do
   # Some versions of the BSD shell wrongly exit when `set -e' is active
   # if the last command within a compound statement fails and is guarded
   # by an && only.  So we play safe and use the following idiom, instead
   # of the apparently simpler `grep ... && Exit 1'.
   if grep "^$ext\.o:" Makefile.in; then Exit 1; else :; fi
   grep "^\.$ext\.o:" Makefile.in
done
Exit 0