gcc/configure: Re-introduce INSTALL_INFO

Message ID 20240201171534.424536-1-christophe.lyon@linaro.org
State Accepted
Headers
Series gcc/configure: Re-introduce INSTALL_INFO |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Christophe Lyon Feb. 1, 2024, 5:15 p.m. UTC
  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.lyon@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(-)
  

Comments

Bernhard Reutner-Fischer Feb. 2, 2024, 10:10 a.m. UTC | #1
On 1 February 2024 18:15:34 CET, Christophe Lyon <christophe.lyon@linaro.org> wrote:
>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.

Instead of resurrecting INSTALL_INFO maybe you could something along the lines of

https://gcc.gnu.org/bugzilla/attachment.cgi?id=15038&action=edit

not sure which approach would be considered cleaner..

HTH
  
Christophe Lyon Feb. 2, 2024, 10:40 a.m. UTC | #2
On Fri, 2 Feb 2024 at 11:10, <rep.dot.nop@gmail.com> wrote:
>
> On 1 February 2024 18:15:34 CET, Christophe Lyon <christophe.lyon@linaro.org> wrote:
> >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.
>
> Instead of resurrecting INSTALL_INFO maybe you could something along the lines of
>
> https://gcc.gnu.org/bugzilla/attachment.cgi?id=15038&action=edit

Ha indeed something along these lines would work too.
Thanks for the archaeology :-)

>
> not sure which approach would be considered cleaner..
Not sure either.

What do maintainers prefer?

>
> HTH
  
Christophe Lyon Feb. 5, 2024, 11:30 a.m. UTC | #3
On Fri, 2 Feb 2024 at 11:40, Christophe Lyon <christophe.lyon@linaro.org> wrote:
>
> On Fri, 2 Feb 2024 at 11:10, <rep.dot.nop@gmail.com> wrote:
> >
> > On 1 February 2024 18:15:34 CET, Christophe Lyon <christophe.lyon@linaro.org> wrote:
> > >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.
> >
> > Instead of resurrecting INSTALL_INFO maybe you could something along the lines of
> >
> > https://gcc.gnu.org/bugzilla/attachment.cgi?id=15038&action=edit
>
> Ha indeed something along these lines would work too.
> Thanks for the archaeology :-)
>
> >
> > not sure which approach would be considered cleaner..
> Not sure either.
>
> What do maintainers prefer?
>

Actually that leads to a small patch:
https://gcc.gnu.org/pipermail/gcc-patches/2024-February/644957.html

> >
> > HTH
  
Bernhard Reutner-Fischer Feb. 5, 2024, 12:25 p.m. UTC | #4
On 5 February 2024 12:30:23 CET, Christophe Lyon <christophe.lyon@linaro.org> wrote:
>On Fri, 2 Feb 2024 at 11:40, Christophe Lyon <christophe.lyon@linaro.org> wrote:
>>
>> On Fri, 2 Feb 2024 at 11:10, <rep.dot.nop@gmail.com> wrote:
>> >
>> > On 1 February 2024 18:15:34 CET, Christophe Lyon <christophe.lyon@linaro.org> wrote:
>> > >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.
>> >
>> > Instead of resurrecting INSTALL_INFO maybe you could something along the lines of
>> >
>> > https://gcc.gnu.org/bugzilla/attachment.cgi?id=15038&action=edit
>>
>> Ha indeed something along these lines would work too.
>> Thanks for the archaeology :-)
>>
>> >
>> > not sure which approach would be considered cleaner..
>> Not sure either.
>>
>> What do maintainers prefer?
>>
>
>Actually that leads to a small patch:
>https://gcc.gnu.org/pipermail/gcc-patches/2024-February/644957.html

Thats even better.
thanks

>
>> >
>> > HTH
  

Patch

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