Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] Detection of GNU C++ compiler hangs when compiling gcc 4.3.0

sm-discuss AT

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Eric Sandall <eric AT>
  • To: sm-discuss AT
  • Subject: Re: [SM-Discuss] Detection of GNU C++ compiler hangs when compiling gcc 4.3.0
  • Date: Tue, 27 May 2008 18:12:56 +0000

On Tuesday 27 May 2008 22:39:09 flux wrote:
> "Andraž 'ruskie' Levstik" (ruskie AT wrote [08.05.27 15:01]:
> > That's easy... g++ needs gcc compiled first :) so it's gcc time+g++ time
> > :) for a split g++ spell... Here's how it goes iirc.
> >
> > gcc
> > gcc+g++
> > gcc+g+++gcj
> > gcc+objc
> >
> > So in all cases it adds the time for one gcc compile to the build and in
> > some (i.e. gcj) more...
> Is all that really necessary? If the different front-ends rely on the
> same version of gcc that is currently installed, will sorcery really
> rebuild the entire gcc just to install, say, objc? In case the way I've
> explained this isn't clear, an example:
> 1) cast gcc (a necessary component) but do not cast any other front-ends
> as yet (try for a minimal system to start out with)
> 2) later, it's decided that some applications/libraries which depend on
> g++ are needed, so g++ is to be cast. No system updates have been done
> (or the gcc toolset in the latest grimoire is the same as the version
> currently installed). This is done by issuing cast g++.
> At step (2), gcc is already installed from step (1). If the latest
> gcc-like spells are all the same version as the gcc already installed,
> does sorcery still re-cast gcc in order to resolve the cast of g++, or
> does it just cast g++? I have a feeling that it will just cast g++, as
> this is what my memory is telling me from how things progressed on my
> own system (though that was rather long ago, so my memory may not be
> correct). If so, then I don't see the big deal, as the time would be the
> same whether they are separate spells or one big spell with CONFIGURE
> options.

*Sorcery* isn't rebuilding gcc, but the gcc toolchain shares common
code/objects/whatnot between gcc, g++, et. al. What people are saying is that
by compiling gcc, then compiling g++/gcj/blahblah, you are building the
common tools multiple times. Whereas if you have one spell for all of GCC,
the common whatnots are built once.

All-in-one GCC:
+ Faster compile time (no statistics handy) if you know *in advance* what you
+ Less problems when upgrading GCC
- Takes more compile time to add languages after the fact

Separate GCC:
+ Faster to add GCC supported languages at any time
- Overall compile time is longer if you know what languages you want

I, for one, prefer the separate spells. :) I *hated* recompiling *all* of GCC
to check for an update of some science package that needs fortran, which I
never have installed, and I don't want to have every GCC language installed
just for doing the sporadic updates.


Eric Sandall | Source Mage GNU/Linux Developer
eric AT PGP: 0xA8EFDD61 | | #196285

Attachment: signature.asc
Description: This is a digitally signed message part.

Archive powered by MHonArc 2.6.24.

Top of Page