[PATCH 2/5 v3] newlib: libc: include all chapters all the time in the manual

Mike Frysinger vapier@gentoo.org
Tue Feb 1 06:21:04 GMT 2022


THe stdio subdir is actually required by the documentation.  The
stdio/def is handled dynamically, but libc.texi always expects it
to be included, and fails if it isn't.  So making it required when
building docs is safe.

The xdr subdir is handled dynamically, but it doesn't include any
docs, so the dynamic logic isn't (currently) adding any value.  So
making it required when building docs is safe.

That leaves: iconv, stdio64, posix, and signal subdirs.  The chapters
have a little disclaimer saying they are system-dependent, but even
then, imo having stable manuals regardless of the target is preferable,
and we can add more disclaimer language to these chapters if we want.

This doesn't touch the man page codepaths, just the info/pdf.
---
 newlib/libc/Makefile.am                    | 63 +++-----------------
 newlib/libc/Makefile.in                    | 69 +++-------------------
 newlib/libc/argz/Makefile.in               |  5 --
 newlib/libc/configure                      | 24 +-------
 newlib/libc/configure.ac                   | 15 -----
 newlib/libc/ctype/Makefile.in              |  5 --
 newlib/libc/errno/Makefile.in              |  5 --
 newlib/libc/iconv/Makefile.in              |  5 --
 newlib/libc/iconv/ccs/Makefile.in          |  5 --
 newlib/libc/iconv/ccs/binary/Makefile.in   |  5 --
 newlib/libc/iconv/ces/Makefile.in          |  5 --
 newlib/libc/iconv/lib/Makefile.in          |  5 --
 newlib/libc/libc.texi                      | 18 ------
 newlib/libc/locale/Makefile.in             |  5 --
 newlib/libc/machine/a29k/Makefile.in       |  5 --
 newlib/libc/machine/aarch64/Makefile.in    |  5 --
 newlib/libc/machine/amdgcn/Makefile.in     |  5 --
 newlib/libc/machine/arc/Makefile.in        |  5 --
 newlib/libc/machine/arm/Makefile.in        |  5 --
 newlib/libc/machine/bfin/Makefile.in       |  5 --
 newlib/libc/machine/cr16/Makefile.in       |  5 --
 newlib/libc/machine/cris/Makefile.in       |  5 --
 newlib/libc/machine/crx/Makefile.in        |  5 --
 newlib/libc/machine/csky/Makefile.in       |  5 --
 newlib/libc/machine/d10v/Makefile.in       |  5 --
 newlib/libc/machine/d30v/Makefile.in       |  5 --
 newlib/libc/machine/epiphany/Makefile.in   |  5 --
 newlib/libc/machine/fr30/Makefile.in       |  5 --
 newlib/libc/machine/frv/Makefile.in        |  5 --
 newlib/libc/machine/ft32/Makefile.in       |  5 --
 newlib/libc/machine/h8300/Makefile.in      |  5 --
 newlib/libc/machine/h8500/Makefile.in      |  5 --
 newlib/libc/machine/hppa/Makefile.in       |  5 --
 newlib/libc/machine/i386/Makefile.in       |  5 --
 newlib/libc/machine/i960/Makefile.in       |  5 --
 newlib/libc/machine/iq2000/Makefile.in     |  5 --
 newlib/libc/machine/lm32/Makefile.in       |  5 --
 newlib/libc/machine/m32c/Makefile.in       |  5 --
 newlib/libc/machine/m32r/Makefile.in       |  5 --
 newlib/libc/machine/m68hc11/Makefile.in    |  5 --
 newlib/libc/machine/m68k/Makefile.in       |  5 --
 newlib/libc/machine/m88k/Makefile.in       |  5 --
 newlib/libc/machine/mep/Makefile.in        |  5 --
 newlib/libc/machine/microblaze/Makefile.in |  5 --
 newlib/libc/machine/mips/Makefile.in       |  5 --
 newlib/libc/machine/mn10200/Makefile.in    |  5 --
 newlib/libc/machine/mn10300/Makefile.in    |  5 --
 newlib/libc/machine/moxie/Makefile.in      |  5 --
 newlib/libc/machine/msp430/Makefile.in     |  5 --
 newlib/libc/machine/mt/Makefile.in         |  5 --
 newlib/libc/machine/nds32/Makefile.in      |  5 --
 newlib/libc/machine/necv70/Makefile.in     |  5 --
 newlib/libc/machine/nios2/Makefile.in      |  5 --
 newlib/libc/machine/nvptx/Makefile.in      |  5 --
 newlib/libc/machine/or1k/Makefile.in       |  5 --
 newlib/libc/machine/powerpc/Makefile.in    |  5 --
 newlib/libc/machine/pru/Makefile.in        |  5 --
 newlib/libc/machine/riscv/Makefile.in      |  5 --
 newlib/libc/machine/rl78/Makefile.in       |  5 --
 newlib/libc/machine/rx/Makefile.in         |  5 --
 newlib/libc/machine/sh/Makefile.in         |  5 --
 newlib/libc/machine/sparc/Makefile.in      |  5 --
 newlib/libc/machine/spu/Makefile.in        |  5 --
 newlib/libc/machine/tic4x/Makefile.in      |  5 --
 newlib/libc/machine/tic6x/Makefile.in      |  5 --
 newlib/libc/machine/tic80/Makefile.in      |  5 --
 newlib/libc/machine/v850/Makefile.in       |  5 --
 newlib/libc/machine/visium/Makefile.in     |  5 --
 newlib/libc/machine/w65/Makefile.in        |  5 --
 newlib/libc/machine/x86_64/Makefile.in     |  5 --
 newlib/libc/machine/xc16x/Makefile.in      |  5 --
 newlib/libc/machine/xstormy16/Makefile.in  |  5 --
 newlib/libc/machine/z8k/Makefile.in        |  5 --
 newlib/libc/misc/Makefile.in               |  5 --
 newlib/libc/posix/Makefile.in              |  5 --
 newlib/libc/reent/Makefile.in              |  5 --
 newlib/libc/search/Makefile.in             |  5 --
 newlib/libc/signal/Makefile.in             |  5 --
 newlib/libc/ssp/Makefile.in                |  5 --
 newlib/libc/stdio/Makefile.in              |  5 --
 newlib/libc/stdio64/Makefile.in            |  5 --
 newlib/libc/stdlib/Makefile.in             |  5 --
 newlib/libc/string/Makefile.in             |  5 --
 newlib/libc/sys/a29khif/Makefile.in        |  5 --
 newlib/libc/sys/amdgcn/Makefile.in         |  5 --
 newlib/libc/sys/arm/Makefile.in            |  5 --
 newlib/libc/sys/d10v/Makefile.in           |  5 --
 newlib/libc/sys/decstation/Makefile.in     |  5 --
 newlib/libc/sys/epiphany/Makefile.in       |  5 --
 newlib/libc/sys/h8300hms/Makefile.in       |  5 --
 newlib/libc/sys/h8500hms/Makefile.in       |  5 --
 newlib/libc/sys/m88kbug/Makefile.in        |  5 --
 newlib/libc/sys/mmixware/Makefile.in       |  5 --
 newlib/libc/sys/netware/Makefile.in        |  5 --
 newlib/libc/sys/or1k/Makefile.in           |  5 --
 newlib/libc/sys/rdos/Makefile.in           |  5 --
 newlib/libc/sys/rtems/Makefile.in          |  5 --
 newlib/libc/sys/sh/Makefile.in             |  5 --
 newlib/libc/sys/sparc64/Makefile.in        |  5 --
 newlib/libc/sys/sun4/Makefile.in           |  5 --
 newlib/libc/sys/sysmec/Makefile.in         |  5 --
 newlib/libc/sys/sysnec810/Makefile.in      |  5 --
 newlib/libc/sys/sysnecv850/Makefile.in     |  5 --
 newlib/libc/sys/sysvi386/Makefile.in       |  5 --
 newlib/libc/sys/sysvnecv70/Makefile.in     |  5 --
 newlib/libc/sys/tic80/Makefile.in          |  5 --
 newlib/libc/sys/tirtos/Makefile.in         |  5 --
 newlib/libc/sys/w65/Makefile.in            |  5 --
 newlib/libc/sys/z8ksim/Makefile.in         |  5 --
 newlib/libc/syscalls/Makefile.in           |  5 --
 newlib/libc/time/Makefile.in               |  5 --
 newlib/libc/unix/Makefile.in               |  5 --
 newlib/libc/xdr/Makefile.in                |  5 --
 113 files changed, 18 insertions(+), 711 deletions(-)

diff --git a/newlib/libc/Makefile.am b/newlib/libc/Makefile.am
index 5151e00daed7..4e0b8fdf24ea 100644
--- a/newlib/libc/Makefile.am
+++ b/newlib/libc/Makefile.am
@@ -131,12 +131,12 @@ $(SUBLIBS): ; @true
 SUBDEFS = \
 	stdlib/stmp-def \
 	ctype/stmp-def \
-	$(LIBC_STDIO_DEF) \
-	$(LIBC_STDIO64_DEF) \
-	$(LIBC_POSIX_DEF) \
-	$(LIBC_XDR_DEF) \
+	stdio/stmp-def \
+	stdio64/stmp-def \
+	posix/stmp-def \
+	xdr/stmp-def \
 	string/stmp-def \
-	$(LIBC_SIGNAL_DEF) \
+	signal/stmp-def \
 	time/stmp-def \
 	locale/stmp-def \
 	reent/stmp-def \
@@ -145,55 +145,9 @@ SUBDEFS = \
 # ditto for stmp-xml files in each subdirectory which builds .xml files
 SUBXMLS = $(SUBDEFS:stmp-def=stmp-xml)
 
-libc.info: sigset.texi stdio64.texi posix.texi iconvset.texi \
-	targetdep.tex $(SUBDEFS)
+libc.info: targetdep.tex $(SUBDEFS)
 
-libc.dvi: sigset.texi stdio64.texi posix.texi iconvset.texi \
-	targetdep.tex $(SUBDEFS)
-
-stmp-sigset: config.status
-	if test -n "$(LIBC_SIGNAL_LIB)"; then \
-	  echo "@set SIGNALS" >tmp-sigset.texi; \
-	else \
-	  echo "@clear SIGNALS" >tmp-sigset.texi; \
-	fi
-	$(SHELL) $(newlib_basedir)/../move-if-change tmp-sigset.texi sigset.texi
-	touch $@
-
-sigset.texi: stmp-sigset ; @true
-
-stmp-iconvset: config.status
-	if test -n "$(NEWLIB_ICONV_LIBS)"; then \
-	  echo "@set ICONV" >tmp-iconvset.texi; \
-	else \
-	  echo "@clear ICONV" >tmp-iconvset.texi; \
-	fi
-	$(SHELL) $(newlib_basedir)/../move-if-change tmp-iconvset.texi iconvset.texi
-	touch $@
-
-iconvset.texi: stmp-iconvset ; @true
-
-stmp-stdio64: config.status
-	if test -n "$(LIBC_STDIO64_LIB)"; then \
-	  echo "@set STDIO64" >tmp-stdio64.texi; \
-	else \
-	  echo "@clear STDIO64" >tmp-stdio64.texi; \
-	fi
-	$(SHELL) $(newlib_basedir)/../move-if-change tmp-stdio64.texi stdio64.texi
-	touch $@
-
-stdio64.texi: stmp-stdio64 ; @true
-
-stmp-posix: config.status
-	if test -n "$(LIBC_POSIX_LIB)"; then \
-	  echo "@set POSIX" >tmp-posix.texi; \
-	else \
-	  echo "@clear POSIX" >tmp-posix.texi; \
-	fi
-	$(SHELL) $(newlib_basedir)/../move-if-change tmp-posix.texi posix.texi
-	touch $@
-
-posix.texi: stmp-posix ; @true
+libc.dvi: targetdep.tex $(SUBDEFS)
 
 stmp-targetdep: force
 	rm -f tmp-targetdep.texi
@@ -213,8 +167,7 @@ $(SUBDEFS): stmp-targetdep ; @true
 
 TEXINFO_TEX = ../../texinfo/texinfo.tex
 info_TEXINFOS = libc.texi
-libc_TEXINFOS = sigset.texi posix.texi stdio64.texi iconvset.texi \
-	targetdep.tex $(SUBDEFS)
+libc_TEXINFOS = targetdep.tex $(SUBDEFS)
 
 docbook-recursive: force
 	for d in $(SUBDIRS); do \
diff --git a/newlib/libc/configure.ac b/newlib/libc/configure.ac
index 4a0160a57d80..14b6aa466cd3 100644
--- a/newlib/libc/configure.ac
+++ b/newlib/libc/configure.ac
@@ -71,73 +71,58 @@ dnl for the library and an automake conditional for whether we should
 dnl build the library.
 
 LIBC_SIGNAL_LIB=
-LIBC_SIGNAL_DEF=
 if test -n "${signal_dir}"; then
   if test "${use_libtool}" = "yes"; then
     LIBC_SIGNAL_LIB=${signal_dir}/lib${signal_dir}.${aext}
   else
     LIBC_SIGNAL_LIB=${signal_dir}/lib.${aext}
   fi
-  LIBC_SIGNAL_DEF=${signal_dir}/stmp-def
 fi
 AC_SUBST(LIBC_SIGNAL_LIB)
-AC_SUBST(LIBC_SIGNAL_DEF)
 AM_CONDITIONAL(HAVE_SIGNAL_DIR, test x${signal_dir} != x)
 
 LIBC_STDIO_LIB=
-LIBC_STDIO_DEF=
 if test -n "${stdio_dir}"; then
   if test "${use_libtool}" = "yes"; then
     LIBC_STDIO_LIB=${stdio_dir}/lib${stdio_dir}.${aext}
   else
     LIBC_STDIO_LIB=${stdio_dir}/lib.${aext}
   fi
-  LIBC_STDIO_DEF=${stdio_dir}/stmp-def
 fi
 AC_SUBST(LIBC_STDIO_LIB)
-AC_SUBST(LIBC_STDIO_DEF)
 AM_CONDITIONAL(HAVE_STDIO_DIR, test x${stdio_dir} != x)
 
 LIBC_STDIO64_LIB=
-LIBC_STDIO64_DEF=
 if test -n "${stdio64_dir}"; then
   if test "${use_libtool}" = "yes"; then
     LIBC_STDIO64_LIB=${stdio64_dir}/lib${stdio64_dir}.${aext}
   else
     LIBC_STDIO64_LIB=${stdio64_dir}/lib.${aext}
   fi
-  LIBC_STDIO64_DEF=${stdio64_dir}/stmp-def
 fi
 AC_SUBST(LIBC_STDIO64_LIB)
-AC_SUBST(LIBC_STDIO64_DEF)
 AM_CONDITIONAL(HAVE_STDIO64_DIR, test x${stdio64_dir} != x)
 
 LIBC_POSIX_LIB=
-LIBC_POSIX_DEF=
 if test -n "${posix_dir}"; then
   if test "${use_libtool}" = "yes"; then
     LIBC_POSIX_LIB=${posix_dir}/lib${posix_dir}.${aext}
   else
     LIBC_POSIX_LIB=${posix_dir}/lib.${aext}
   fi
-  LIBC_POSIX_DEF=${posix_dir}/stmp-def
 fi
 AC_SUBST(LIBC_POSIX_LIB)
-AC_SUBST(LIBC_POSIX_DEF)
 AM_CONDITIONAL(HAVE_POSIX_DIR, test x${posix_dir} != x)
 
 LIBC_XDR_LIB=
-LIBC_XDR_DEF=
 if test -n "${xdr_dir}"; then
   if test "${use_libtool}" = "yes"; then
     LIBC_XDR_LIB=${xdr_dir}/lib${xdr_dir}.${aext}
   else
     LIBC_XDR_LIB=${xdr_dir}/lib.${aext}
   fi
-  LIBC_XDR_DEF=${xdr_dir}/stmp-def
 fi
 AC_SUBST(LIBC_XDR_LIB)
-AC_SUBST(LIBC_XDR_DEF)
 AM_CONDITIONAL(HAVE_XDR_DIR, test x${xdr_dir} != x)
 
 LIBC_SYSCALL_LIB=
diff --git a/newlib/libc/libc.texi b/newlib/libc/libc.texi
index 0cab22036dee..d217d8118277 100644
--- a/newlib/libc/libc.texi
+++ b/newlib/libc/libc.texi
@@ -132,44 +132,26 @@ into another language, under the above conditions for modified versions.
 @node Top
 @top The Red Hat newlib C Library
 
-@c The menu contents depend on the configuration, so we include them
-@c as a separate file
-
-@c switch to set SIGNALS on or off, according to whether config picks up
-@c signal subdirectory:
-@include sigset.texi
-@include posix.texi
-@include stdio64.texi
-@include iconvset.texi
-
 @menu
 * Introduction::
 * Stdlib::
 * Ctype::
 * Stdio::
-@ifset STDIO64
 * Stdio64::
-@end ifset
 
 * Strings::
 * Wchar strings::
-@ifset SIGNALS
 * Signals::
-@end ifset
 
 * Timefns::
 * Locale::
 * Reentrancy::
 
 * Misc::
-@ifset POSIX
 * Posix::
-@end ifset
 * Syscalls::
 * Arglists::
-@ifset ICONV
 * Iconv::
-@end ifset
 * Overflow Protection::
 
 * Document Index::
-- 
2.34.1



More information about the Newlib mailing list