BUILD_INFO is currently a byproduct of checking makeinfo presence/version. INSTALL_INFO used to be defined similarly, but was removed in 2000 (!) by commit 17db658241d18cf6db59d31bc2d6eac96e9257df (svn r38141).
In order to save build time, our CI overrides BUILD_INFO="", which works when invoking 'make all' but not for 'make install' in case some info files need an update. I noticed this when testing a patch posted on the gcc-patches list, leading to an error at 'make install' time after updating tm.texi (the build reported 'new text' in tm.texi and stopped). This is because 'install' depends on 'install-info', which depends on $(DESTDIR)$(infodir)/gccint.info (among others). This patch replaces the 'install-info' dependency in 'install' with $(INSTALL_INFO), thus enabling to skip this step. 2024-02-01 Christophe Lyon <christophe.l...@linaro.org> gcc/ * Makefile.in: Add INSTALL_INFO. * configure.ac: Add INSTALL_INFO. * configure: Regenerate. --- gcc/Makefile.in | 3 ++- gcc/configure | 3 +++ gcc/configure.ac | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 95caa54a52b..4d38b162307 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -817,6 +817,7 @@ INSTALL_HEADERS=install-headers install-mkheaders # Control whether Info documentation is built and installed. BUILD_INFO = @BUILD_INFO@ +INSTALL_INFO = @INSTALL_INFO@ # Control flags for @contents placement in HTML output MAKEINFO_TOC_INLINE_FLAG = @MAKEINFO_TOC_INLINE_FLAG@ @@ -3785,7 +3786,7 @@ maintainer-clean: # Install the driver last so that the window when things are # broken is small. install: install-common $(INSTALL_HEADERS) \ - install-cpp install-man install-info install-@POSUB@ \ + install-cpp install-man $(INSTALL_INFO) install-@POSUB@ \ install-driver install-lto-wrapper install-gcc-ar ifeq ($(enable_plugin),yes) diff --git a/gcc/configure b/gcc/configure index 4acb254d830..00f8c7ed6fb 100755 --- a/gcc/configure +++ b/gcc/configure @@ -826,6 +826,7 @@ FLEX GENERATED_MANPAGES MAKEINFO_TOC_INLINE_FLAG BUILD_INFO +INSTALL_INFO MAKEINFO have_mktemp_command make_compare_target @@ -8836,8 +8837,10 @@ $as_echo "$as_me: WARNING: *** Makeinfo is missing or too old. *** Info documentation will not be built." >&2;} BUILD_INFO= + INSTALL_INFO= else BUILD_INFO=info + INSTALL_INFO=install-info fi diff --git a/gcc/configure.ac b/gcc/configure.ac index d2ed14496c1..1041c2391fb 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1246,10 +1246,13 @@ if test $gcc_cv_prog_makeinfo_modern = no; then *** Makeinfo is missing or too old. *** Info documentation will not be built.]) BUILD_INFO= + INSTALL_INFO= else BUILD_INFO=info + INSTALL_INFO=install-info fi AC_SUBST(BUILD_INFO) +AC_SUBST(INSTALL_INFO) # Determine whether makeinfo supports the CONTENTS_OUTPUT_LOCATION variable. # If it does, we want to pass it to makeinfo in order to restore the old -- 2.34.1