| #! /bin/sh |
| # Copyright (C) 2006, 2008 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/>. |
| |
| # PR 507: Check the filename-length-max=99 option |
| # in conjunction with AC_CONFIG_SUBDIRS. |
| |
| . ./defs || Exit 1 |
| |
| set -e |
| |
| # The name is so that 99 is exactly hit (including final \0). |
| subdirname='cnfsubdir' |
| |
| cat >>configure.in <<END |
| AC_CONFIG_SUBDIRS([${subdirname}]) |
| AC_OUTPUT |
| END |
| |
| cat >Makefile.am <<END |
| AUTOMAKE_OPTIONS = filename-length-max=99 |
| SUBDIRS = ${subdirname} |
| END |
| |
| mkdir ${subdirname} || Exit 1 |
| |
| cat >> ${subdirname}/configure.in <<EOF |
| AC_INIT([${subdirname}], [1.0]) |
| AM_INIT_AUTOMAKE |
| AC_CONFIG_FILES([Makefile]) |
| AC_OUTPUT |
| EOF |
| |
| cat >${subdirname}/Makefile.am <<'END' |
| AUTOMAKE_OPTIONS = filename-length-max=99 |
| EXTRA_DIST = 12345678 |
| END |
| |
| (cd ${subdirname}; for i in 1 2 3 4 5 6 7 8 |
| do |
| mkdir -p 12345678 || Exit 77 |
| cd 12345678 |
| touch x |
| done) |
| |
| for init_dir in ${subdirname} .; do |
| ( |
| cd ${init_dir} || Exit 1 |
| $ACLOCAL |
| $AUTOCONF |
| $AUTOMAKE |
| ) || Exit 1 |
| done |
| ./configure |
| $MAKE distcheck |
| |
| (cd ${subdirname}; for i in 1 2 3 4 5 6 7 8 9 |
| do |
| mkdir -p 12345678 || Exit 77 |
| cd 12345678 |
| touch x |
| done) |
| |
| $MAKE dist 2>stderr && { cat stderr >&2; Exit 1; } |
| cat stderr >&2 |
| grep 'filenames are too long' stderr |
| test 1 = `grep 12345678 stderr | wc -l` |
| : |