#! /bin/sh # Copyright (C) 2010 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 . # Check that distributed symlinks in the source tree will be expanded # as regular files in $(distdir). . ./defs || Exit 1 set -e echo text > file ln -s file lnk || { echo "$me: cannot create symlinks to files" >&2 Exit 77 } mkdir A mkdir B echo aaa > A/aaa cd B ln -s ../A/aaa bbb cd .. echo FooBarBaz > foo ln -s foo bar1 ln -s bar1 bar2 ln -s bar2 bar3 ln -s "`pwd`/foo" quux cat >> configure.in << 'END' AC_OUTPUT END echo "me = $me" > Makefile.am # for better failure messages cat >> Makefile.am << 'END' EXTRA_DIST = lnk B/bbb bar1 bar2 bar3 quux .PHONY: test test: distdir ls -l $(distdir) $(distdir)/B fail() { echo "$(me): $$*" >&2; e=1; }; \ e=0; \ set file lnk A/aaa B/bbb foo quux foo bar1 foo bar2 foo bar3; \ while test $$# -ge 2; do \ file=$$1; shift; link=$(distdir)/$$1; shift; \ test -f $$link || fail "$$link is not a regular file"; \ test ! -h $$link || fail "$$link is a symlink"; \ diff $$file $$link || fail "$$link differs from $$file"; \ done; \ exit $$e; END ls -l . A B $ACLOCAL $AUTOCONF $AUTOMAKE ./configure $MAKE test :