[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GCC language front-ends

From: Ludovic Courtès
Subject: Re: GCC language front-ends
Date: Thu, 05 Jun 2014 18:12:29 +0200
User-agent: Gnus/5.130009 (Ma Gnus v0.9) Emacs/24.3 (gnu/linux)

Andreas Enge <address@hidden> skribis:

> On Thu, Jun 05, 2014 at 03:00:57PM +0200, Ludovic Courtès wrote:
>> It’s been discussed several times, but there’s no satisfactory solution
>> so far.  Changing the name seems like a bad idea, because it’s really
>> gcc.  Making either gcc-final or gcc-4.8 private isn’t an option because
>> they’re referred from elsewhere.
> Sorry for my forgetfulness. So the references to gcc-4.8 could not be replaced
> by references to gcc-final?

No.  It’s a bit tricky but the idea is: gcc-4.8 is the “abstract” recipe
for GCC, whereas gcc-final is a specialized recipe for use in the
bootstrap process.

The abstract recipe has useful properties:

  • it is a “normal”, self-contained package recipe, and thus easier to

  • it can be cross-compiled (whereas gcc-final cannot, because it is
    anchored in the bootstrap dependency DAG);

  • it can easily be derived (for gfortran, etc.);

  • it remains valid even when the default GCC version changes.

So we need that abstract gcc-4.8.

At the same time, for native compilation, we only ever want to use
gcc-final, because gcc-4.8 is just the same compiler built once more
with itself.

So ideally, ‘guix package’ would magically ignore the abstract gcc-4.8
(and coreutils, grep, etc.) and favor their -final variant.

I hope I’m being clear, but I’m not sure.  ;-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]