]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
automake: do not require @setfilename in Texinfo files
authorGavin Smith <gavinsmith0123@gmail.com>
Mon, 26 Aug 2019 04:07:58 +0000 (21:07 -0700)
committerJim Meyering <meyering@fb.com>
Mon, 2 Sep 2019 17:05:07 +0000 (10:05 -0700)
Texinfo no longer requires a @setfilename directive in each
.texi file, so automake now also relaxes its restriction.
* bin/automake.in (scan_texinfo_file): Derive name of info file from
name of input file if no @setfilename line occurs in the file.
* t/txinfo-no-setfilename.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS: Mention it.

Fixes automake bugs #36921 and #34201.

NEWS
bin/automake.in
t/list-of-tests.mk
t/txinfo-no-setfilename.sh [new file with mode: 0644]

diff --git a/NEWS b/NEWS
index 8d6eb3aae53bc40694968fa9549d0e70c16ef66f..8bb57133fd513fa299bb014c982aaddd2491f53c 100644 (file)
--- a/NEWS
+++ b/NEWS
 
 New in ?.?.?:
 
+* Miscellaneous changes
+
+  - automake no longer requires a @setfilename in each .texi file
+
 * Bugs fixed
 
   - When cleaning the compiled python files, '\n' is not used anymore in the
index b4ae8f43f1064ee8ac229676dbcc69c402fce687..06f4ee9b2b06b034ca73fa20ce2df3df9e4b19af 100644 (file)
@@ -1,7 +1,7 @@
 #!@PERL@ -w
 # automake - create Makefile.in from Makefile.am            -*- perl -*-
 # @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2019 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
@@ -3083,8 +3083,10 @@ sub scan_texinfo_file
 
   if (! $outfile)
     {
-      err_am "'$filename' missing \@setfilename";
-      return;
+      # Replace a .texi extension with .info
+      $outfile = basename($filename);
+      $outfile =~ s/\.[^.]+$//;
+      $outfile .= '.info';
     }
 
   return ($outfile, $vfile);
index 84dd29af0f87eb587bc19194347c1bc099450a62..32fca8436e6a4427844796f1e7332f660b16570c 100644 (file)
@@ -1214,6 +1214,7 @@ t/txinfo-no-clutter.sh \
 t/txinfo-no-extra-dist.sh \
 t/txinfo-no-installinfo.sh \
 t/txinfo-no-repeated-targets.sh \
+t/txinfo-no-setfilename.sh \
 t/txinfo-other-suffixes.sh \
 t/txinfo-override-infodeps.sh \
 t/txinfo-override-texinfo-tex.sh \
diff --git a/t/txinfo-no-setfilename.sh b/t/txinfo-no-setfilename.sh
new file mode 100644 (file)
index 0000000..3ef1730
--- /dev/null
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 2019 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 <https://www.gnu.org/licenses/>.
+
+# Check Texinfo files work without a @setfilename line
+
+. test-init.sh
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = file.texi
+END
+
+cat > file.texi << 'END'
+contents
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+
+
+grep 'file.info:' Makefile.in
+
+: