123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- # -*- Autotest -*-
- AT_BANNER([Compatibility with other tools.])
- # Copyright (C) 2000-2007, 2009-2012 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 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
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
- ## --------- ##
- ## Libtool. ##
- ## --------- ##
- AT_SETUP([Libtool])
- # 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])
- # Using a configure.ac, have libtoolize confess where libtool.m4 is.
- AT_DATA([configure.ac],
- [[AC_INIT
- # State that we explicitly want auxiliary files here, so libtoolize
- # won't pollute files outside the test directory.
- AC_CONFIG_AUX_DIR([.])
- AC_PROG_LIBTOOL
- ]])
- AT_CHECK([libtoolize -i], [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 "`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
- 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
- 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 wherever 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
|