public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [haible@ilog.fr: [patch] make install]
@ 1998-01-07 12:03 Craig Burley
  1998-01-20  7:07 ` Jeffrey A Law
  0 siblings, 1 reply; 6+ messages in thread
From: Craig Burley @ 1998-01-07 12:03 UTC (permalink / raw)
  To: egcs

[Is this a reasonable thing for language to do, in general?  If so,
it might be worth considering for all of them.]


------- Start of forwarded message -------
From: Bruno Haible <haible@ilog.fr>
Date: Wed, 7 Jan 1998 18:40:59 +0100 (MET)
To: Craig Burley <burley@gnu.ai.mit.edu>
Subject: [patch] make install


Hi,

When I take the full egcs snapshot, configure it in a separate directory,
change the LANGUAGES line in the Makefile to not include "f77", then
"make" will succeed but "make install" will fail because it tries to
install the nonexistent file "f/g77.info*". Here is a fix:


Wed Jan  7 12:05:51 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>

        * Make-lang.in (f77.install-info): Don't fail if the info files
          don't exist.

*** egcs-971225/gcc/f/Make-lang.in.bak	Tue Dec  2 17:54:03 1997
- --- egcs-971225/gcc/f/Make-lang.in	Wed Jan  7 12:03:16 1998
***************
*** 484,493 ****
  # to do the install.  The sed rule was copied from stmp-int-hdrs.
  f77.install-info: f77.info
  	-rm -f $(infodir)/g77.info*
! 	for f in f/g77.info*; do \
  	    realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
  	    $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
! 	done
  	-chmod a-x $(infodir)/g77.info*
  
  f77.install-man: $(srcdir)/f/g77.1
- --- 484,495 ----
  # to do the install.  The sed rule was copied from stmp-int-hdrs.
  f77.install-info: f77.info
  	-rm -f $(infodir)/g77.info*
! 	if [ -f f/g77.info ] ; then \
! 	  for f in f/g77.info*; do \
  	    realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
  	    $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
! 	  done; \
! 	fi
  	-chmod a-x $(infodir)/g77.info*
  
  f77.install-man: $(srcdir)/f/g77.1
------- End of forwarded message -------

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [haible@ilog.fr: [patch] make install]
  1998-01-07 12:03 [haible@ilog.fr: [patch] make install] Craig Burley
@ 1998-01-20  7:07 ` Jeffrey A Law
  1998-01-20  9:08   ` Craig Burley
  0 siblings, 1 reply; 6+ messages in thread
From: Jeffrey A Law @ 1998-01-20  7:07 UTC (permalink / raw)
  To: Craig Burley; +Cc: egcs

  In message < 199801071751.MAA23957@melange.gnu.org >you write:
  > [Is this a reasonable thing for language to do, in general?  If so,
  > it might be worth considering for all of them.]
  > 
[ ... ]
  > When I take the full egcs snapshot, configure it in a separate directory,
  > change the LANGUAGES line in the Makefile to not include "f77", then
  > "make" will succeed but "make install" will fail because it tries to
  > install the nonexistent file "f/g77.info*". Here is a fix:
I don't think we want to try and deal with this that late in the
configure/build process.

I'd prefer we have some option to disable a language that exists in
the source tree.  ie -- --disable-fortran or some such.

Other thoughts?

jeff

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [haible@ilog.fr: [patch] make install]
  1998-01-20  7:07 ` Jeffrey A Law
@ 1998-01-20  9:08   ` Craig Burley
  1998-01-20 14:54     ` Jeffrey A Law
                       ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Craig Burley @ 1998-01-20  9:08 UTC (permalink / raw)
  To: law; +Cc: egcs

>  In message < 199801071751.MAA23957@melange.gnu.org >you write:
>  > [Is this a reasonable thing for language to do, in general?  If so,
>  > it might be worth considering for all of them.]
>  > 
>[ ... ]
>  > When I take the full egcs snapshot, configure it in a separate directory,
>  > change the LANGUAGES line in the Makefile to not include "f77", then
>  > "make" will succeed but "make install" will fail because it tries to
>  > install the nonexistent file "f/g77.info*". Here is a fix:
>I don't think we want to try and deal with this that late in the
>configure/build process.
>
>I'd prefer we have some option to disable a language that exists in
>the source tree.  ie -- --disable-fortran or some such.
>
>Other thoughts?

I'm not sure offhand if "make LANGUAGES=... bootstrap", for example,
implies that "make LANGUAGES=... install" must be done.

But, I don't know offhand why we can't make mistakes like this
pretty easy to work around.

The patch, as submitted, is not quite right though, because it
*first* removes the system's, installed (g77) documentation,
*then* checks to see whether it has anything to put in its place.
Hmph.  ;-)

I've already incorporated this patch in the gcc-2.7.x-based g77
(that will become 0.5.22) with some improvements, and was planning
on submitting a corresponding improved version of the patch for
egcs.  (The relevant chunk of makefile is different between the
two versions, so I can't just throw the 0.5.22 version at you.)

Let me know whether you think this is a bad idea for some reason.

One thing I noticed long ago, and have lost track of as an
issue, is that some GNU products treat "make install" as,
essentially, the same thing as "make all" followed by "make
install".  That is, installation is assumed to pertain to the
entire product, so anything not already built is built.  But,
other GNU products interpret "make install" to mean "install
whatever I have already built", so nothing new is built.  I'm
not sure which is best offhand, but for products that offer
dynamic specification of which *components* of a product to
build, the latter has some advantages.

        tq vm, (burley)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [haible@ilog.fr: [patch] make install]
  1998-01-20  9:08   ` Craig Burley
@ 1998-01-20 14:54     ` Jeffrey A Law
  1998-01-21  9:18     ` Ian Lance Taylor
  1998-01-22  2:29     ` Paul Koning
  2 siblings, 0 replies; 6+ messages in thread
From: Jeffrey A Law @ 1998-01-20 14:54 UTC (permalink / raw)
  To: Craig Burley; +Cc: egcs

  In message < 199801201708.MAA03815@melange.gnu.org >you write:
  > >I'd prefer we have some option to disable a language that exists in
  > >the source tree.  ie -- --disable-fortran or some such.
  > >
  > >Other thoughts?
  > 
  > I'm not sure offhand if "make LANGUAGES=... bootstrap", for example,
  > implies that "make LANGUAGES=... install" must be done.
It generally does, which is one of the reasons I find it a rather
poor solution to the problem.

  > But, I don't know offhand why we can't make mistakes like this
  > pretty easy to work around.
It would be nice, but I think it involves fixing all the lang.* target
hooks.  It certainly can be done, but it's not that high on my todo
list :-)  Other folks would be encouraged to do this work.

  > The patch, as submitted, is not quite right though, because it
  > *first* removes the system's, installed (g77) documentation,
  > *then* checks to see whether it has anything to put in its place.
  > Hmph.  ;-)
:(

  > I've already incorporated this patch in the gcc-2.7.x-based g77
  > (that will become 0.5.22) with some improvements, and was planning
  > on submitting a corresponding improved version of the patch for
  > egcs.  (The relevant chunk of makefile is different between the
  > two versions, so I can't just throw the 0.5.22 version at you.)
OK.  I haven't sucked any g77 stuff in recently, but I guess I should
at some point in the near future -- which will bring in this change.

Don't worry about the conflicts..  That's just part of having to do merges.

Jeff

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [haible@ilog.fr: [patch] make install]
  1998-01-20  9:08   ` Craig Burley
  1998-01-20 14:54     ` Jeffrey A Law
@ 1998-01-21  9:18     ` Ian Lance Taylor
  1998-01-22  2:29     ` Paul Koning
  2 siblings, 0 replies; 6+ messages in thread
From: Ian Lance Taylor @ 1998-01-21  9:18 UTC (permalink / raw)
  To: burley; +Cc: law, egcs

   Date: Tue, 20 Jan 1998 12:08:30 -0500 (EST)
   From: Craig Burley <burley@gnu.org>

   One thing I noticed long ago, and have lost track of as an
   issue, is that some GNU products treat "make install" as,
   essentially, the same thing as "make all" followed by "make
   install".  That is, installation is assumed to pertain to the
   entire product, so anything not already built is built.  But,
   other GNU products interpret "make install" to mean "install
   whatever I have already built", so nothing new is built.  I'm
   not sure which is best offhand, but for products that offer
   dynamic specification of which *components* of a product to
   build, the latter has some advantages.

The GNU standards say that `make install' should compile the program.

Some packages use install-only to just install the existing binaries.

Ian

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [haible@ilog.fr: [patch] make install]
  1998-01-20  9:08   ` Craig Burley
  1998-01-20 14:54     ` Jeffrey A Law
  1998-01-21  9:18     ` Ian Lance Taylor
@ 1998-01-22  2:29     ` Paul Koning
  2 siblings, 0 replies; 6+ messages in thread
From: Paul Koning @ 1998-01-22  2:29 UTC (permalink / raw)
  To: burley; +Cc: law, egcs

>>>>> "Craig" == Craig Burley <burley@gnu.org> writes:

 >> In message < 199801071751.MAA23957@melange.gnu.org >you write: > [Is
 >> this a reasonable thing for language to do, in general?  If so, >
 >> it might be worth considering for all of them.]  > [ ... ] > When
 >> I take the full egcs snapshot, configure it in a separate
 >> directory, > change the LANGUAGES line in the Makefile to not
 >> include "f77", then > "make" will succeed but "make install" will
 >> fail because it tries to > install the nonexistent file
 >> "f/g77.info*". Here is a fix: I don't think we want to try and
 >> deal with this that late in the configure/build process.
 >> 
 >> I'd prefer we have some option to disable a language that exists
 >> in the source tree.  ie -- --disable-fortran or some such.
 >> 
 >> Other thoughts?

 Craig> I'm not sure offhand if "make LANGUAGES=... bootstrap", for
 Craig> example, implies that "make LANGUAGES=... install" must be
 Craig> done.

Yes it does.  And that's a constant hassle.  It would make vastly more
sense for "make install" to mean "install what I built" and especially
for it to install only the languages I asked for.  That means "make
all" or "make bootstrap" or the like have to save the LANGUAGES
specification, but that's a small price to pay to avoid the confusion
caused by the current situation.

It's even somewhat worse with "make cross" which implies a subset of
languages.  If you then do "make install" it doesn't work right at
all, instead it throws up all over itself trying to build cross-g77
which is known not to work.

	paul

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~1998-01-22  2:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-01-07 12:03 [haible@ilog.fr: [patch] make install] Craig Burley
1998-01-20  7:07 ` Jeffrey A Law
1998-01-20  9:08   ` Craig Burley
1998-01-20 14:54     ` Jeffrey A Law
1998-01-21  9:18     ` Ian Lance Taylor
1998-01-22  2:29     ` Paul Koning

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).