* doc/autoconf.texi (Shellology): Rework treatment of the 'test'
[autoconf.git] / tests / foreign.at
blobc22dc9c1c92af16d672d5274daf61d31648bf1a6
1 #                                                       -*- Autotest -*-
3 AT_BANNER([Compatibility with other tools.])
5 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
6 # Foundation, Inc.
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2, or (at your option)
11 # any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 # 02110-1301, USA.
24 ## --------- ##
25 ## Libtool.  ##
26 ## --------- ##
28 AT_SETUP([Libtool])
30 # Skip this test if there is no libtoolize.
31 AT_CHECK([libtoolize --version || exit 77],
32          ignore, ignore, ignore)
33 # CVS Autoconf probably does not work with too old Libtools.
34 AT_CHECK([[
35 case `libtoolize --version |
36       sed -n '/^.* \([0-9][0-9.a-z]*\)$/{
37                 s//\1/
38                 p
39                 q
40         }'` in
41   0.*          ) exit 77;;
42   1.[0123]*    ) exit 77;;
43 esac]],
44          ignore, ignore, ignore)
46 # FIXME: Once Libtool `configure.ac' aware, change this.
47 # Using a configure.in, have libtoolize confess where libtool.m4 is.
48 AT_DATA([configure.in],
49 [[AC_INIT
50 # The other tests are relying on Autoconf's own copy of install-sh
51 # etc. via AC_CONFIG_AUX_DIR(..).  Don't do that here, since we don't
52 # want libtoolize to pollute Autoconf's srcdir.
53 AC_CONFIG_AUX_DIR(.)
54 AC_PROG_LIBTOOL
55 ]])
56 # Some libtoolize complain if you don't have an aclocal.m4.
57 AT_CHECK([touch aclocal.m4])
58 AT_CHECK([libtoolize], 0, [stdout], ignore)
60 # Some broken libtoolize fail to install a functional config.guess.
61 AT_CHECK([./config.guess || exit 77], [], [ignore], [ignore])
63 # Make sure at-path contains something valid, and let the test suite
64 # display it when verbose.  And fail, skipping would too easily hide
65 # problems.
66 AT_CHECK([sed -n ["s,^.*\`\\(/[^']*\\)'.*,\\1,p"] stdout], 0, [stdout])
67 AT_CHECK([test -f "`cat stdout`"])
69 # libtoolize installed everything but install-sh...
70 touch install-sh
72 # Build the concatenation of libtool.m4 and configure.ac.
73 cp `cat stdout` configure.in
74 cat >>configure.in <<_EOF
75 AC_INIT
76 AC_CONFIG_AUX_DIR(.)
77 AC_CANONICAL_SYSTEM
78 AC_PROG_LIBTOOL
79 _EOF
81 # FIXME: Once Libtool really fixed, stop ignoring stderr.
82 AT_CHECK_AUTOCONF([], [], [], [ignore])
84 # Ignore stderr, because ltconfig always loads the cache, which is
85 # /dev/null, and some shells choke on this.  For instance with Bash
86 # 2.05, you get:
88 #   loading cache /dev/null within ltconfig
89 #   ./ltconfig: .: /dev/null: not a regular file
91 # But the script executes properly.
92 AT_CHECK_CONFIGURE([], [], [], [ignore])
94 AT_CLEANUP(install-sh ltconfig libtool at-path ltmain.sh config.guess config.sub)