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
