1#! /bin/sh 2# Copyright (C) 2003-2021 Free Software Foundation, Inc. 3# 4# This program is free software; you can redistribute it and/or modify 5# it under the terms of the GNU General Public License as published by 6# the Free Software Foundation; either version 2, or (at your option) 7# any later version. 8# 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with this program. If not, see <https://www.gnu.org/licenses/>. 16 17# Check that info files are built in builddir and in srcdir can safely 18# co-exist. This setup is obtained by having two info files, only one 19# of which being cleaned. 20# (Similar to txinfo16.sh, plus CLEANFILES). 21# (See also txinfo23.sh and txinfo24.sh). 22 23required='makeinfo tex texi2dvi' 24. test-init.sh 25 26cat >> configure.ac << 'END' 27AC_OUTPUT 28END 29 30cat > Makefile.am << 'END' 31CLEANFILES = [a-m]*.info 32info_TEXINFOS = main.texi other.texi 33END 34 35cat > main.texi << 'END' 36\input texinfo 37@setfilename main.info 38@settitle main 39@node Top 40Hello walls. 41@include version.texi 42@bye 43END 44 45cat > other.texi << 'END' 46\input texinfo 47@setfilename other.info 48@settitle other 49@node Top 50Hello walls. 51@include version2.texi 52@bye 53END 54 55$ACLOCAL 56$AUTOCONF 57 58AUTOMAKE_fails --add-missing 59grep "Makefile\.am:.*undocumented.* automake hack" stderr 60grep "Makefile\.am:.*'info-in-builddir' automake option" stderr 61 62$AUTOMAKE --add-missing -Wno-obsolete 63 64mkdir build 65cd build 66../configure 67$MAKE 68test -f main.info 69test ! -e ../main.info 70test ! -e other.info 71test -f ../other.info 72 73cd .. 74rm -rf build 75./configure 76$MAKE 77test -f main.info 78test -f other.info 79 80# Make sure stamp-vti is older that version.texi. 81# (A common situation in a real tree). 82# This is needed to test the "subtle" issue described below. 83test -f stamp-vti 84test -f version.texi 85test -f stamp-1 86test -f version2.texi 87$sleep 88touch stamp-vti 89touch stamp-1 90 91$MAKE distclean 92test -f stamp-vti 93test -f stamp-1 94test -f version.texi 95test -f version2.texi 96 97mkdir build 98cd build 99../configure 100$MAKE 101# other.info should not be rebuilt in the current directory, since 102# it's up-to-date in $(srcdir). 103# This can be caused by a subtle issue related to VPATH handling 104# of version.texi (see also the comment in texi-vers.am): because 105# stamp-vti is newer than version.texi, the 'version.texi: stamp-vti' 106# rule is always triggered. Still that's not a reason for 'make' 107# to think 'version.texi' has been created... 108test -f main.info 109test ! -e other.info 110$MAKE dvi 111test -f main.dvi 112test -f other.dvi 113 114$MAKE distcheck 115 116: 117