123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- #! /bin/sh
- # Copyright (C) 2010-2017 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/>.
- # Make sure that, if AC_CONFIG_AUX_DIR is not specified, Automake tries
- # to use '.', '..' and '../..', in precisely that order.
- . test-init.sh
- nil=__no_such_program
- unset NONESUCH
- cat >>configure.ac << END
- AM_MISSING_PROG([NONESUCH],[$nil])
- AC_OUTPUT
- END
- mkdir d3
- mkdir d3/d2
- mkdir d3/d2/d1
- mkdir d3/d2/d1/d0
- echo 'echo %%d3%% $*' > d3/missing
- chmod +x d3/missing
- echo 'echo %%d2%% $*' > d3/d2/missing
- chmod +x d3/d2/missing
- echo 'echo %%d1%% $*' > d3/d2/d1/missing
- chmod +x d3/d2/d1/missing
- echo 'echo %%d0%% $*' > d3/d2/d1/d0/missing
- chmod +x d3/d2/d1/d0/missing
- mv configure.ac d3/d2/d1/d0/
- cd d3/d2/d1/d0
- cat > Makefile.am << 'EOF'
- .PHONY: test
- test:
- $(NONESUCH) >$(out)
- EOF
- $ACLOCAL
- $AUTOCONF
- # ------------------------------------------- #
- : We must end up with AC_CONFIG_AUX_DIR = . #
- # ------------------------------------------- #
- : > install-sh
- $AUTOMAKE
- ./configure
- out=out0 $MAKE test
- cat out0
- grep "%%d0%%.*$nil" out0
- grep '%%d[123]' out0 && exit 1
- rm -f missing install-sh
- # -------------------------------------------- #
- : We must end up with AC_CONFIG_AUX_DIR = .. #
- # -------------------------------------------- #
- # Automake finds 'install-sh' in '.', so it assumes that auxdir is '.';
- # but it won't find 'missing' in '.', so it will fail.
- : > install-sh
- AUTOMAKE_fails
- grep 'required file.*[^.]\./missing.*not found' stderr
- rm -f install-sh
- # Now things should work.
- : > ../install-sh
- $AUTOMAKE
- ./configure
- out=out1 $MAKE test
- cat out1
- grep "%%d1%%.*$nil" out1
- grep '%%d[023]' out1 && exit 1
- rm -f ../missing ../install-sh
- # ----------------------------------------------- #
- : We must end up with AC_CONFIG_AUX_DIR = ../.. #
- # ----------------------------------------------- #
- # Automake finds 'install-sh' in '.', so it assumes that auxdir is '.';
- # but it won't find 'missing' in '.', so it will fail.
- : > install-sh
- AUTOMAKE_fails
- grep 'required file.*[^.]\./missing.*not found' stderr
- rm -f install-sh
- # Automake finds 'install-sh' in '..', so it assumes that auxdir is '..';
- # but it won't find 'missing' in '.', so it will fail.
- : > ../install-sh
- AUTOMAKE_fails
- grep 'required file.*[^.]\.\./missing.*not found' stderr
- rm -f ../install-sh
- # Now things should work.
- : > ../../install-sh
- $AUTOMAKE
- ./configure
- out=out2 $MAKE test
- cat out2
- grep "%%d2%%.*$nil" out2
- grep '%%d[013]' out2 && exit 1
- rm -f ../../missing ../../install-sh
- # --------------------------------------------------------- #
- : AC_CONFIG_AUX_DIR will not be found: Automake must fail #
- # --------------------------------------------------------- #
- AUTOMAKE_fails
- grep 'required file.*missing.*not found' stderr
- :
|