[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
grasp;
• 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. ;-)
Ludo’.