# gendocs.sh -- generate a GNU manual in many formats. This script is
# mentioned in maintain.texi. See the help message below for usage details.
-scriptversion=2024-01-01.00
+scriptversion=2024-01-27.16
# Copyright 2003-2024 Free Software Foundation, Inc.
#
generate_info=true
generate_tex=true
outdir=manual
-source_extra=
+unset source_extra
split=node
srcfile=
texarg="-t @finalout"
--html) shift; default_htmlarg=false; htmlarg=$1;;
--info) shift; infoarg=$1;;
--no-ascii) generate_ascii=false;;
- --no-html) generate_ascii=false;;
+ --no-html) generate_html=false;;
--no-info) generate_info=false;;
--no-tex) generate_tex=false;;
--source) shift; source_extra=$1;;
printf "\nMaking .tar.gz for sources...\n"
d=`dirname $srcfile`
(
- cd "$d"
- srcfiles=`ls -d *.texinfo *.texi *.txi *.eps $source_extra 2>/dev/null` || true
- tar czfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles
- ls -l "$abs_outdir/$PACKAGE.texi.tar.gz"
-)
+ cd "$d" || exit
+
+ # Set PATS to a list of globbing patterns that expand to
+ # file names to be put into the .tar.gz for sources.
+ # Omit patterns that do not expand to file names.
+ pats=
+
+ if case `$MAKEINFO --version | sed -e 's/^[^0-9]*//' -e 1q` in \
+ [1-6]* | 7.[01]*) false;; \
+ *) true;; \
+ esac \
+ ; then
+
+ for pat in '*.eps'; do
+ for file in $pat; do
+ test "$file" = "$pat" && test ! -e "$file" || pats="$pats $pat"
+ break
+ done
+ done
+
+ # if $MAKEINFO is recent enough, use --trace-includes on the
+ # $srcfile to get the included files of the targetted manual only
+ base=`basename "$srcfile"`
+
+ cmd="$SETLANG $MAKEINFO $commonarg --trace-includes \"$base\""
+ eval "$cmd" \
+ | tar -czhf "$abs_outdir/$PACKAGE.texi.tar.gz" \
+ --verbatim-files-from -T- -- "$base" $pats \
+ ${source_extra+"$source_extra"} \
+ && ls -l "$abs_outdir/$PACKAGE.texi.tar.gz"
+ else
+ for pat in '*.texinfo' '*.texi' '*.txi' '*.eps'; do
+ for file in $pat; do
+ test "$file" = "$pat" && test ! -e "$file" || pats="$pats $pat"
+ break
+ done
+ done
+
+ tar -czhf "$abs_outdir/$PACKAGE.texi.tar.gz" \
+ -- $pats ${source_extra+"$source_extra"} \
+ && ls -l "$abs_outdir/$PACKAGE.texi.tar.gz"
+ fi
+) || exit
texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
# \f
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2023-10-19.19}
+\def\texinfoversion{2024-02-10.22}
%
-% Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
+% Copyright 1985, 1986, 1988, 1990-2024 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
% normally unnmhead0 calls unnumberedzzz:
\outer\parseargdef\unnumbered{\unnmhead0{#1}}
\def\unnumberedzzz#1{%
- \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
- \global\advance\unnumberedno by 1
+ \global\advance\unnumberedno by 1
%
% Since an unnumbered has no number, no prefix for figures.
\global\let\chaplevelprefix = \empty
% normally calls unnumberedseczzz:
\outer\parseargdef\unnumberedsec{\unnmhead1{#1}}
\def\unnumberedseczzz#1{%
- \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
- \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
+ \global\advance\unnumberedno by 1
+ \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno}%
}
% Subsections.
% normally calls unnumberedsubseczzz:
\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}}
\def\unnumberedsubseczzz#1{%
- \global\subsubsecno=0 \global\advance\subsecno by 1
- \sectionheading{#1}{subsec}{Ynothing}%
- {\the\unnumberedno.\the\secno.\the\subsecno}%
+ \global\advance\unnumberedno by 1
+ \sectionheading{#1}{subsec}{Ynothing}{\the\unnumberedno}%
}
% Subsubsections.
% normally unnumberedsubsubseczzz:
\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}}
\def\unnumberedsubsubseczzz#1{%
- \global\advance\subsubsecno by 1
- \sectionheading{#1}{subsubsec}{Ynothing}%
- {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
+ \global\advance\unnumberedno by 1
+ \sectionheading{#1}{subsubsec}{Ynothing}{\the\unnumberedno}%
}
% These macros control what the section commands do, according
\let\commondummyword\unmacrodo
\xdef\macrolist{\macrolist}%
\endgroup
- \else
- \errmessage{Macro #1 not defined}%
\fi
}
write it as @file{$(prefix)/etc}.
(If you are using Autoconf, write it as @samp{@@sysconfdir@@}.)
-Do not install executables here in this directory (they probably belong
-in @file{$(libexecdir)} or @file{$(sbindir)}). Also do not install
-files that are modified in the normal course of their use (programs
-whose purpose is to change the configuration of the system excluded).
-Those probably belong in @file{$(localstatedir)}.
+This directory is not the right place to install executables built by
+running @samp{make}---they probably belong in @file{$(libexecdir)} or
+@file{$(sbindir)}. Also do not install here files that will be
+modified in the normal course of their use (programs whose purpose is
+to change the configuration of the system excluded). Those probably
+belong in @file{$(localstatedir)}.
@item sharedstatedir
The directory for installing architecture-independent data files which
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
+##################################################################
+# The master copy of this file is in Automake's source repository.
+# Please send updates to automake-patches@gnu.org.
+##################################################################
+
package Autom4te::ChannelDefs;
=head1 NAME
=head2 CHANNELS
The following channels can be used as the first argument of
-C<Autom4te::Channel::msg>. For some of them we list a shorthand
+C<Autom4te::Channels::msg>. For some of them we list a shorthand
function that makes the code more readable.
=over 4
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
-###############################################################
-# The main copy of this file is in Automake's git repository. #
-# Updates should be sent to automake-patches@gnu.org. #
-###############################################################
+##################################################################
+# The master copy of this file is in Automake's source repository.
+# Please send updates to automake-patches@gnu.org.
+##################################################################
package Autom4te::Channels;
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
-###############################################################
-# The main copy of this file is in Automake's git repository. #
-# Updates should be sent to automake-patches@gnu.org. #
-###############################################################
+##################################################################
+# The master copy of this file is in Automake's source repository.
+# Please send updates to automake-patches@gnu.org.
+##################################################################
package Autom4te::Configure_ac;
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
-###############################################################
-# The main copy of this file is in Automake's git repository. #
-# Updates should be sent to automake-patches@gnu.org. #
-###############################################################
+##################################################################
+# The master copy of this file is in Automake's source repository.
+# Please send updates to automake-patches@gnu.org.
+##################################################################
package Autom4te::FileUtils;
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
+##################################################################
+# The master copy of this file is in Automake's source repository.
+# Please send updates to automake-patches@gnu.org.
+##################################################################
+
package Autom4te::Getopt;
=head1 NAME
# Written by Akim Demaille <akim@freefriends.org>.
-###############################################################
-# The main copy of this file is in Automake's git repository. #
-# Updates should be sent to automake-patches@gnu.org. #
-###############################################################
+##################################################################
+# The master copy of this file is in Automake's source repository.
+# Please send updates to automake-patches@gnu.org.
+##################################################################
package Autom4te::XFile;
-# autobuild.m4 serial 8
+# autobuild.m4
+# serial 8
dnl Copyright (C) 2004, 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# Nearly all .c files must include <config.h>. However, we also permit this
# via inclusion of a package-specific header, if cfg.mk specified one.
# config_h_header must be suitable for grep -E.
+# Rationale: The Gnulib documentation, node 'Include <config.h>'.
config_h_header ?= <config\.h>
sc_require_config_h:
@require='^# *include $(config_h_header)' \
# You must include <config.h> before including any other header file.
# This can possibly be via a package-specific header, if given by cfg.mk.
+# Rationale: The Gnulib documentation, node 'Include <config.h>'.
sc_require_config_h_first:
@if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \
files=$$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$') && \
else :; \
fi
+# Generated headers that override system headers.
+# Keep sorted.
+gl_prefer_angle_bracket_headers_ ?= \
+ alloca.h \
+ arpa/inet.h \
+ assert.h \
+ ctype.h \
+ dirent.h \
+ errno.h \
+ error.h \
+ fcntl.h \
+ fenv.h \
+ float.h \
+ fnmatch.h \
+ getopt.h \
+ glob.h \
+ iconv.h \
+ inttypes.h \
+ langinfo.h \
+ limits.h \
+ locale.h \
+ malloc.h \
+ math.h \
+ monetary.h \
+ netdb.h \
+ net/if.h \
+ netinet/in.h \
+ omp.h \
+ poll.h \
+ pthread.h \
+ pty.h \
+ sched.h \
+ search.h \
+ selinux/selinux.h \
+ signal.h \
+ spawn.h \
+ stdalign.h \
+ stdarg.h \
+ stddef.h \
+ stdint.h \
+ stdio.h \
+ stdlib.h \
+ string.h \
+ strings.h \
+ sysexits.h \
+ sys/file.h \
+ sys/ioctl.h \
+ sys/msg.h \
+ sys/random.h \
+ sys/resource.h \
+ sys/select.h \
+ sys/sem.h \
+ sys/shm.h \
+ sys/socket.h \
+ sys/stat.h \
+ sys/time.h \
+ sys/times.h \
+ sys/types.h \
+ sys/uio.h \
+ sys/utsname.h \
+ sys/wait.h \
+ termios.h \
+ threads.h \
+ time.h \
+ uchar.h \
+ unistd.h \
+ utime.h \
+ utmp.h \
+ wchar.h \
+ wctype.h
+
+# Remove each .h suffix and change each space to "|".
+angle_bracket_header_re = \
+ $(subst $(_sp),|,$(patsubst %.h,%,$(gl_prefer_angle_bracket_headers_)))
+
+# Suggest using '#include <header.h>' instead of '#include "header.h"' for
+# headers that override system headers.
+# Rationale: The Gnulib documentation, node 'Style of #include statements'.
+sc_prefer_angle_bracket_headers:
+ @prohibit='^ *# *include "($(angle_bracket_header_re))\.h"' \
+ halt='Use #include <hdr.h>, not #include "hdr.h" for the above' \
+ $(_sc_search_regexp)
+
sc_prohibit_HAVE_MBRTOWC:
@prohibit='\bHAVE_MBRTOWC\b' \
halt="do not use $$prohibit; it is always defined" \
exit 1; } \
|| :; \
fi
+
# ==================================================================
# Prohibit checked in backup files.