summaryrefslogtreecommitdiff
path: root/tests/foreign.at
blob: c22dc9c1c92af16d672d5274daf61d31648bf1a6 (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#							-*- Autotest -*-

AT_BANNER([Compatibility with other tools.])

# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.


## --------- ##
## Libtool.  ##
## --------- ##

AT_SETUP([Libtool])

# Skip this test if there is no libtoolize.
AT_CHECK([libtoolize --version || exit 77],
	 ignore, ignore, ignore)
# CVS Autoconf probably does not work with too old Libtools.
AT_CHECK([[
case `libtoolize --version |
      sed -n '/^.* \([0-9][0-9.a-z]*\)$/{
		s//\1/
		p
		q
	}'` in
  0.*          ) exit 77;;
  1.[0123]*    ) exit 77;;
esac]],
	 ignore, ignore, ignore)

# FIXME: Once Libtool `configure.ac' aware, change this.
# Using a configure.in, have libtoolize confess where libtool.m4 is.
AT_DATA([configure.in],
[[AC_INIT
# The other tests are relying on Autoconf's own copy of install-sh
# etc. via AC_CONFIG_AUX_DIR(..).  Don't do that here, since we don't
# want libtoolize to pollute Autoconf's srcdir.
AC_CONFIG_AUX_DIR(.)
AC_PROG_LIBTOOL
]])
# Some libtoolize complain if you don't have an aclocal.m4.
AT_CHECK([touch aclocal.m4])
AT_CHECK([libtoolize], 0, [stdout], ignore)

# Some broken libtoolize fail to install a functional config.guess.
AT_CHECK([./config.guess || exit 77], [], [ignore], [ignore])

# Make sure at-path contains something valid, and let the test suite
# display it when verbose.  And fail, skipping would too easily hide
# problems.
AT_CHECK([sed -n ["s,^.*\`\\(/[^']*\\)'.*,\\1,p"] stdout], 0, [stdout])
AT_CHECK([test -f "`cat stdout`"])

# libtoolize installed everything but install-sh...
touch install-sh

# Build the concatenation of libtool.m4 and configure.ac.
cp `cat stdout` configure.in
cat >>configure.in <<_EOF
AC_INIT
AC_CONFIG_AUX_DIR(.)
AC_CANONICAL_SYSTEM
AC_PROG_LIBTOOL
_EOF

# FIXME: Once Libtool really fixed, stop ignoring stderr.
AT_CHECK_AUTOCONF([], [], [], [ignore])

# Ignore stderr, because ltconfig always loads the cache, which is
# /dev/null, and some shells choke on this.  For instance with Bash
# 2.05, you get:
#
#   loading cache /dev/null within ltconfig
#   ./ltconfig: .: /dev/null: not a regular file
#
# But the script executes properly.
AT_CHECK_CONFIGURE([], [], [], [ignore])

AT_CLEANUP(install-sh ltconfig libtool at-path ltmain.sh config.guess config.sub)