| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | #! /bin/sh# Copyright (C) 2012-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/>.# Related to automake bug#12495: Automake shouldn't generate useless# remake rules for AC_CONFIG_HEADERS arguments after the first one,# not even when subdirs are involved.. test-init.shcat >> configure.ac << 'END'AC_CONFIG_HEADERS([a.h b.h sub/c.h])AC_CONFIG_FILES([sub/Makefile])AC_OUTPUTENDmkdir subecho SUBDIRS = sub > Makefile.am: > sub/Makefile.am$ACLOCAL$AUTOCONF$AUTOHEADER# Even if an AC_CONFIG_HEADERS invocation is passed several files in# the first argument, only the first one is considered by autoheader# for automatic generation.  Otherwise, the present test case wouldtest -f a.h.in && test ! -f c.h.in && test ! -f sub/c.h.in \  || fatal_ "unexpected autoheader behavior with multiple" \            "AC_CONFIG_HEADERS arguments"# Automake should require the missing headers though.AUTOMAKE_fails -Wno-error -Wnonegrep "^configure\.ac:4:.* required file 'b.h.in' not found" stderrgrep "^configure\.ac:4:.* required file 'sub/c.h.in' not found" stderr: > b.h.in: > sub/c.h.in$AUTOMAKE./configure# Automake should regenerate this.grep '^$(srcdir)/a\.h\.in:' Makefile.in# But not these.grep '[bc]\.h\.in.*:' Makefile.in sub/Makefile.in && exit 1test -f a.h && test -f b.h && test -f sub/c.h \  || fatal_ "unexpected ./configure behavior with multiple" \            "AC_CONFIG_HEADERS arguments"rm -f a.h.in a.h$MAKEtest -f a.h.intest -f a.h# We might need to grep the output of GNU make for error messages.LANG=C LANGUAGE=C LC_ALL=Cexport LANG LANGUAGE LC_ALLocwd=$(pwd)for x in b c; do  test $x = b || cd sub  rm -f $x.h.in  run_make -E -e FAIL $x.h.in  test ! -f $x.h.in  if using_gmake; then    grep "No rule to make target [\`\"']$x\.h\.in[\`\"']" stderr  fi  : > $x.h.in  cd "$ocwd" || fatal_ "cannot chdir back"done:
 |