diff options
Diffstat (limited to 't/dist-auxfile.sh')
-rwxr-xr-x | t/dist-auxfile.sh | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/t/dist-auxfile.sh b/t/dist-auxfile.sh new file mode 100755 index 000000000..9f7e8eee7 --- /dev/null +++ b/t/dist-auxfile.sh @@ -0,0 +1,95 @@ +#! /bin/sh +# Copyright (C) 2011-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 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/>. + +# Files specified by AC_REQUIRE_AUX_FILE must exist, and they get +# automatically distributed by the top-level Makefile.am. +# Automake bug#9651 reported that this didn't happen when the build-aux +# directory was set to '.' by AC_CONFIG_AUX_DIR. + +am_create_testdir=empty +. ./defs || Exit 1 + +i=0 +for auxdir in build-aux ''; do + + echo "*** Testing with auxdir '$auxdir' ***" + + i=`expr $i + 1` + mkdir T$i.d + cd T$i.d + + unindent > configure.ac <<END + AC_INIT([$me], [1.0]) + AC_CONFIG_AUX_DIR([${auxdir:-.}]) + AM_INIT_AUTOMAKE + AC_REQUIRE_AUX_FILE([foo.txt]) + AC_REQUIRE_AUX_FILE([bar.sh]) + AC_REQUIRE_AUX_FILE([zardoz]) + AC_CONFIG_FILES([Makefile subdir/Makefile]) + AC_OUTPUT +END + + echo auxdir = ${auxdir:+"$auxdir/"} > Makefile.am + unindent >> Makefile.am <<'END' + SUBDIRS = subdir + test: distdir + ls -l $(distdir) $(distdir)/* ;: For debugging. + @echo DIST_COMMON = $(DIST_COMMON) ;: Likewise. + echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)foo.txt ' + echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)bar.sh ' + echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)zardoz ' + test -f $(distdir)/$(auxdir)foo.txt + test -f $(distdir)/$(auxdir)bar.sh + test -f $(distdir)/$(auxdir)zardoz + .PHONY: test + check-local: test +END + + mkdir subdir + echo > subdir/Makefile.am # 'echo', not ':', for Solaris /bin/sh. + + test -z "$auxdir" || mkdir "$auxdir" || Exit 99 + + if test -z "$auxdir"; then + auxdir=. + auxdir_rx='\.' + else + auxdir_rx=$auxdir + fi + + $ACLOCAL + $AUTOCONF + + AUTOMAKE_fails + grep "^configure\\.ac:4:.* required file.*$auxdir_rx/foo\\.txt" stderr + grep "^configure\\.ac:5:.* required file.*$auxdir_rx/bar\\.sh" stderr + grep "^configure\\.ac:6:.* required file.*$auxdir_rx/zardoz" stderr + + touch $auxdir/foo.txt $auxdir/bar.sh $auxdir/zardoz + cp "$am_scriptdir"/missing "$am_scriptdir"/install-sh $auxdir \ + || fatal_ "fetching auxiliary scripts 'missing' and 'install-sh'" + $AUTOMAKE + ./configure + $MAKE test + $EGREP '(foo\.txt|bar\.sh|zardoz)' subdir/Makefile.in && Exit 1 + + $MAKE distcheck + + cd .. + +done + +: |