Hash :
c1a8f562
Author :
Date :
2013-01-02T00:33:42
texi: deprecate hack about info files in CLEANFILES variables
For quite a long time, Automake has been implementing an undocumented
hack which ensured that '.info' files which appeared to be cleaned (by
e.g. being listed in the CLEANFILES or DISTCLEANFILES variables) were
built in the builddir rather than in the srcdir; this hack was introduced
to ensure better backward-compatibility with packages such as Texinfo,
which did things like:
info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
DISTCLEANFILES = texinfo texinfo-* info*.info*
# Do not create info files for distribution.
dist-info:
@:
in order not to distribute .info files.
Now that we have the 'info-in-builddir' option that explicitly causes
generated '.info' files to be placed in the builddir, this hack should
be longer necessary, so we deprecate it with runtime warnings. It is
scheduled to be removed altogether in Automake 1.14.
* automake.in (handle_texinfo_helper): Raise proper runtime warnings
if the hack is triggered.
* NEWS: Update.
* t/txinfo28.sh: Adjust.
* t/txinfo23.sh: Likewise.
* t/txinfo25.sh: Adjust and extend.
* t/txinfo24.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
#! /bin/sh
# Copyright (C) 2002-2013 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/>.
# Check that info files are built in builddir when needed.
# Test with subdir Texinfo.
# (Similar to txinfo13.sh, plus DISTCLEANFILES).
# (See also txinfo24.sh and txinfo25.sh).
required='makeinfo tex texi2dvi'
. test-init.sh
cat >> configure.ac << 'END'
AC_OUTPUT
END
cat > Makefile.am << 'END'
DISTCLEANFILES = subdir/*.info*
info_TEXINFOS = subdir/main.texi
subdir_main_TEXINFOS = subdir/inc.texi
installcheck-local:
test -f "$(infodir)/main.info"
END
mkdir subdir
cat > subdir/main.texi << 'END'
\input texinfo
@setfilename main.info
@settitle main
@node Top
Hello walls.
@include version.texi
@include inc.texi
@bye
END
cat > subdir/inc.texi << 'END'
I'm included.
END
$ACLOCAL
$AUTOCONF
AUTOMAKE_run --add-missing -Wno-error
grep "Makefile\.am:.*undocumented.* automake hack" stderr
grep "Makefile\.am:.*'info-in-builddir' automake option" stderr
mkdir build
cd build
../configure
$MAKE distcheck
test -f subdir/main.info
test ! -e ../subdir/main.info
: