autoconf/tests/foreign.at

141 lines
4.0 KiB
Plaintext
Raw Normal View History

# -*- Autotest -*-
2000-12-19 16:14:19 +08:00
AT_BANNER([Compatibility with other tools.])
# Copyright (C) 2000-2007, 2009-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
Update License to GPLv3+ including new Autoconf Exception. * NEWS, README: Update licensing information. * COPYING.EXCEPTION: New file. * Makefile.am (EXTRA_DIST): Distribute it. * cfg.mk (autom4te-update): Remove copyright change warning. * lib/autoconf/autoconf.m4, lib/autoconf/autoheader.m4, lib/autoconf/autoscan.m4, lib/autoconf/autotest.m4, lib/autoconf/autoupdate.m4, lib/autoconf/c.m4, lib/autoconf/erlang.m4, lib/autoconf/fortran.m4, lib/autoconf/functions.m4, lib/autoconf/general.m4, lib/autoconf/headers.m4, lib/autoconf/lang.m4, lib/autoconf/libs.m4, lib/autoconf/oldnames.m4, lib/autoconf/programs.m4, lib/autoconf/specific.m4, lib/autoconf/status.m4, lib/autoconf/types.m4, lib/autotest/autotest.m4, lib/autotest/general.m4, lib/autotest/specific.m4, lib/m4sugar/foreach.m4, lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4: Update exception statement, bump to GPLv3. * bin/autoconf.as, bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in: Bump to GPLv3+, adjust --version output to reflect the GPLv3+ and the Autoconf Exception. * lib/Autom4te/C4che.pm, lib/Autom4te/ChannelDefs.pm, lib/Autom4te/General.pm, lib/Autom4te/Request.pm, lib/autom4te.in, lib/autoscan/autoscan.pre, lib/emacs/autoconf-mode.el, lib/emacs/autotest-mode.el, lib/freeze.mk, tests/atlocal.in, tests/autoscan.at, tests/autotest.at, tests/base.at, tests/c.at, tests/compile.at, tests/erlang.at, tests/foreign.at, tests/fortran.at, tests/local.at, tests/m4sh.at, tests/m4sugar.at, tests/mktests.sh, tests/semantics.at, tests/statesave.m4, tests/suite.at, tests/tools.at, tests/torture.at, tests/wrapper.as: Bump to GPLv3+.
2009-09-10 01:53:31 +08:00
# 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
Update License to GPLv3+ including new Autoconf Exception. * NEWS, README: Update licensing information. * COPYING.EXCEPTION: New file. * Makefile.am (EXTRA_DIST): Distribute it. * cfg.mk (autom4te-update): Remove copyright change warning. * lib/autoconf/autoconf.m4, lib/autoconf/autoheader.m4, lib/autoconf/autoscan.m4, lib/autoconf/autotest.m4, lib/autoconf/autoupdate.m4, lib/autoconf/c.m4, lib/autoconf/erlang.m4, lib/autoconf/fortran.m4, lib/autoconf/functions.m4, lib/autoconf/general.m4, lib/autoconf/headers.m4, lib/autoconf/lang.m4, lib/autoconf/libs.m4, lib/autoconf/oldnames.m4, lib/autoconf/programs.m4, lib/autoconf/specific.m4, lib/autoconf/status.m4, lib/autoconf/types.m4, lib/autotest/autotest.m4, lib/autotest/general.m4, lib/autotest/specific.m4, lib/m4sugar/foreach.m4, lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4: Update exception statement, bump to GPLv3. * bin/autoconf.as, bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in: Bump to GPLv3+, adjust --version output to reflect the GPLv3+ and the Autoconf Exception. * lib/Autom4te/C4che.pm, lib/Autom4te/ChannelDefs.pm, lib/Autom4te/General.pm, lib/Autom4te/Request.pm, lib/autom4te.in, lib/autoscan/autoscan.pre, lib/emacs/autoconf-mode.el, lib/emacs/autotest-mode.el, lib/freeze.mk, tests/atlocal.in, tests/autoscan.at, tests/autotest.at, tests/base.at, tests/c.at, tests/compile.at, tests/erlang.at, tests/foreign.at, tests/fortran.at, tests/local.at, tests/m4sh.at, tests/m4sugar.at, tests/mktests.sh, tests/semantics.at, tests/statesave.m4, tests/suite.at, tests/tools.at, tests/torture.at, tests/wrapper.as: Bump to GPLv3+.
2009-09-10 01:53:31 +08:00
# along with this program. If not, see <http://www.gnu.org/licenses/>.
## --------- ##
## Libtool. ##
## --------- ##
2000-12-19 16:14:19 +08:00
AT_SETUP([Libtool])
2000-12-19 16:14:19 +08:00
# Skip this test if there is no libtoolize.
AT_CHECK([libtoolize --version || exit 77],
[ignore], [ignore], [ignore])
# Modern Libtool has further tests for compatibility with older autoconf;
# from the Autoconf side, we will merely assume newer libtool.
AT_CHECK([[
case `libtoolize --version |
sed -n '/^.* \([0-9][0-9.a-z]*\)$/{
s//\1/
p
q
}'` in
0.* ) exit 77;;
1.* ) exit 77;;
esac]],
[ignore], [ignore], [ignore])
2000-12-19 16:14:19 +08:00
# Using a configure.ac, have libtoolize confess where libtool.m4 is.
AT_DATA([configure.ac],
2000-12-19 16:14:19 +08:00
[[AC_INIT
# State that we explicitly want auxiliary files here, so libtoolize
# won't pollute files outside the test directory.
AC_CONFIG_AUX_DIR([.])
2000-12-19 16:14:19 +08:00
AC_PROG_LIBTOOL
]])
AT_CHECK([libtoolize -i], [0], [stdout], [ignore])
2002-10-28 17:31:48 +08:00
# 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 "`sed -n 1p stdout`"])
# Older libtoolize installed everything but install-sh...
AT_CHECK([test -f install-sh || touch install-sh])
# Build the concatenation of libtool.m4 and configure.ac.
AT_CHECK([[sed 's/.*/m4''_include([&])/' stdout]], [0], [stdout])
AT_CHECK([mv stdout aclocal.m4])
cat >configure.ac <<_EOF
2000-12-19 16:14:19 +08:00
AC_INIT
AC_CONFIG_AUX_DIR([.])
AC_CANONICAL_SYSTEM
2000-12-19 16:14:19 +08:00
AC_PROG_LIBTOOL
_EOF
# FIXME: Once Libtool really fixed, stop ignoring stderr.
AT_CHECK_AUTOCONF([], [], [], [ignore])
2000-12-19 16:14:19 +08:00
# 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])
2000-12-19 16:14:19 +08:00
AT_CLEANUP
AT_SETUP([shtool])
AT_DATA([configure.ac],
[[AC_INIT([shtool test], [1.0])
AC_CONFIG_AUX_DIR([build-aux])
AC_PATH_PROG([SHTOOL], [shtool], [false])
AC_PROG_INSTALL
AC_SUBST([ac_install_sh])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
]])
AT_DATA([Makefile.in],
[[SHTOOL = @SHTOOL@
# fake these, so that we use shtool whereever possible.
INSTALL_PROGRAM = $(ac_install_sh)
INSTALL_DATA = $(ac_install_sh) -m 644
prefix = @prefix@
ac_install_sh = @ac_install_sh@
install:
$(INSTALL_PROGRAM) file1 $(prefix)/file1
$(INSTALL_DATA) file2 $(prefix)/file2
copy-shtool:
test '$(SHTOOL)' != false
cp '$(SHTOOL)' build-aux
]])
: >file1
: >file2
chmod +x file1
: "${MAKE=make}"
mkdir build-aux inst
instdir=`pwd`/inst
AT_CHECK_AUTOCONF
cp "$abs_top_srcdir/build-aux/install-sh" build-aux
AT_CHECK_CONFIGURE
AT_CHECK([$MAKE copy-shtool], [], [ignore], [ignore],
[AT_CHECK([: >build-aux/shtool])])
rm -f build-aux/install-sh
AT_CHECK_CONFIGURE([--prefix="$instdir" ac_cv_path_SHTOOL=false])
AT_CHECK([grep '^ac_install_sh = .*shtool install -c' Makefile], [], [ignore])
if test -s build-aux/shtool; then
AT_CHECK([$MAKE install], [], [ignore], [ignore])
AT_CHECK([test -f inst/file1 && test -f inst/file2 && test -x inst/file1])
fi
AT_CLEANUP