[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Next release
From: |
Gregory John Casamento |
Subject: |
Re: Next release |
Date: |
Fri, 7 Mar 2008 15:33:36 -0800 (PST) |
Adam/Fred,
One of the things I think we need to do in order to address the ABI
compatibility issue is to adopt a strategy similar to what Apple has done in
it's headers.
Currently there is a lot of space which is marked as "reserved" in Apple's
header files. This allows for future additions without changing the memory
layout of the class which is what leads to ABI issues and subsequently the need
for recompilation. This would allow older versions of applications to continue
to function with newer versions of the core libraries even after a modification
where some of the "reserved" space has been consumed. The trick is to reserve
just the right amount of space so that you don't make your classes needlessly
big and so that you adequately anticipate the future growth of some.
Another potential solution to this problem, a bit different from the one above
and probably a little risky is to simply have a void pointer in each class'
ivar section and have it point to the appropriate structure when initialized
during runtime. This would allow the ABI to be stable since the class' foot
print would always be the size of the void pointer. The structure could then
be changed to our hearts content without need to worry about ABI compatibility
issues at all. The drawback to this one is that it's a major undertaking to
implement it and, it's, potentially hazardous.
The third option is to get gui to a point where it's ABI is actually stable.
Consider that base hasn't changed much for a long time. This is because it's
been at 1.0 for a very long time and because it is truly stable.
There are a myriad of things we need to focus on in gui at this point before we
can, rightfully, call it a 1.0 release. Printing is the one thing that I
think is most prominent on my mind regarding gui at this point. Printing is
incomplete. Last time I started up TextEdit.app or Ink.app and typed and
tried to print a page, it came out blank. This could be a configuration
issue, or it could be something else, I don't know.. if it is, please tell me.
:)
Anyway... I'll come back later and we can discuss what gui 1.0 should be. :)
Later, GJC
Gregory Casamento -- Principal Consultant - OLC, Inc
# GNUstep Chief Maintainer
----- Original Message ----
From: Fred Kiefer <address@hidden>
To: Adam Fedor <address@hidden>
Cc: Developer GNUstep <address@hidden>
Sent: Tuesday, March 4, 2008 1:37:49 PM
Subject: Re: Next release
Adam Fedor wrote:
>
> On Mar 3, 2008, at 1:40 PM, Riccardo wrote:
>
>>
>> A newer stable release should be done indeed. Adam?
>>
> That's up to Gregory, et. al. Do we have any goals for the next stable
> release? gui 1.0?
>
I am still a bit reluctant to use the version number 1.0. We would be
committing us to stay ABI compatible from then on and we are not ready
for that. Using the number 0.14.0 would be fine for me.
(I already have a proposal for ABI stability, I just need time to write
it up and then find somebody to implement it :-)
Fred
_______________________________________________
Gnustep-dev mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnustep-dev
- Re: Next release, (continued)
- Re: Next release, Stefan Bidigaray, 2008/03/02
- Re: Next release, Hubert Chathi, 2008/03/03
- Re: Next release, Adam Fedor, 2008/03/03
- Re: Next release, Hubert Chathi, 2008/03/06
- Re: Next release, Adam Fedor, 2008/03/06
Re: Next release, Hubert Chathi, 2008/03/03
RE: Next release, Nicola Pero, 2008/03/03
Re: Next release,
Gregory John Casamento <=