summaryrefslogtreecommitdiff
path: root/t/dist-auxfile.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/dist-auxfile.sh')
-rwxr-xr-xt/dist-auxfile.sh95
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
+
+: