One of the design goals for my runtime was to provide a superset of  
the functionality required for Objective-C 2.0.  It was also designed  
with the aim of future integration with LLVM (and has a compatible  
license) since it supports a few optimisations that are tricky with  
GCC.  My current goals are to implement GNU libobjc support in LLVM  
that is binary-compatible with the current GCC version and then add  
support for the Étoilé with the new features.  I will then port the  
parts of GNUstep that are runtime-specific over to the Étoilé runtime  
and people can choose whether to stick with the backwards-compatible  
one or move to the new break-the-world one (or build fat bundles with  
both).

I started looking at the GNU runtime, and added a few bits to it  
before deciding that it would be more effort to fix it than to write a  
new one from scratch.  Considering that my runtime is 15% of the code  
size and vastly more expressive than the GNU runtime, I think the GNU  
one is something of a dead end.  It's worth supporting for backwards  
compatibility, but not worth the time and effort it would take to  
modernise it.

Having looked at the LLVM and GNU code, I think it is clear that LLVM  
is the way forward.  Even though it's written in a language I detest,  
and GCC is written in one I spend a lot of my time using, I would  
still rather hack on LLVM.

David

On 28 Feb 2008, at 22:11, Gregory John Casamento wrote:

> All,
>
> I've been looking into this issue recently too.  Apple, apparently,  
> has GPLv3 issues with further contributions to gcc.  Until those are  
> resolved, if they ever are.   It seems like we have two options:
>
> 1) port what has already been done on ObjC2.0 from the apple branch  
> to the latest branch and update the GNU runtime OR
> 2) seriously start looking into LLVM support for GNUstep.
>
> Both are interesting options, but #2 has the advantage of tracking  
> more closely with Apple's changes since they will be directly  
> involved.
>
> I will talk to the GCC maintainers and/or RMS regarding libobjc's  
> license, but I'm not sure I hold out much hope of it being changed  
> because at the time the library was written the LGPL existed and I'm  
> presuming it was done this way for a reason.
>
> Sincerely, GJC
> --
> Gregory Casamento -- Principal Consultant - OLC, Inc
> # GNUstep Chief Maintainer
>
> ----- Original Message ----
> From: David Chisnall <[EMAIL PROTECTED]>
> To: Discuss-gnustep GNUstep <[EMAIL PROTECTED]>
> Cc: Discussion list for Étoilé desktop [EMAIL PROTECTED]; t 
> <[email protected] 
> >
> Sent: Thursday, February 28, 2008 10:40:16 AM
> Subject: LLVM
>
> Hi Everyone,
>
> For those of you who don't follow the LLVM lists (presumably almost
> everyone), I thought I'd mention that I've started working on code
> generation for clang.  I think this is important for the future of
> GNUstep since Apple are likely to switch to switch to using clang/llvm
> instead of GCC in the relatively near future (they use LLVM for
> shaders and clang for syntax highlighting in XCode 3).
>
> If anyone else is interested in helping out, let me know.  I plan on
> getting the GNU runtime working first, then my runtime (which was
> designed with LLVM in mind, and can do some shiny optimisations I
> shamelessly stole from the Self team).
>
> If not, then hopefully there will be some builds for people to start
> testing soon.
>
> One issue has arisen, however.  The GNU libobjc is GPL'd and has an
> exemption, however this only applies to code compiled with GCC.  Does
> anyone know if we could persuade the FSF to either change it to LGPL,
> or generalise the exemption to allow other compilers?  (My runtime is
> BSDL, so this does not arise)
>
> David
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> [EMAIL PROTECTED]
> http://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
>
>
>


_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à