Patchwork libobjc: Remove Traditional Objective-C runtime API

login
register
mail settings
Submitter Nicola Pero
Date June 8, 2011, 8:25 a.m.
Message ID <9A3B0833-6937-49CD-A9CA-D301ABE3D699@meta-innovation.com>
Download mbox | patch
Permalink /patch/99369/
State New
Headers show

Comments

Nicola Pero - June 8, 2011, 8:25 a.m.
>>> This patch completes the removal of the public part of the 
>>> Traditional Objective-C runtime API from libobjc.
>>> 
>>> From now on, the only supported API is the "Modern" API. :-)
>> 
>> If you are removing exported functions from libobjc.so, you should
>> bump VERSION= in libobjc/configure.ac.
> 
> Yes, sure ... shall I do that now ?  I'm not done with changes yet. ;-)

But - you're right that we should bump it, so I bumped it :-)
I suppose we could bump it again when we get into phase 3, when we're finished
with the changes.

Thanks
Jakub Jelinek - June 8, 2011, 8:30 a.m.
On Wed, Jun 08, 2011 at 09:25:09AM +0100, Nicola Pero wrote:
> >>> This patch completes the removal of the public part of the 
> >>> Traditional Objective-C runtime API from libobjc.
> >>> 
> >>> From now on, the only supported API is the "Modern" API. :-)
> >> 
> >> If you are removing exported functions from libobjc.so, you should
> >> bump VERSION= in libobjc/configure.ac.
> > 
> > Yes, sure ... shall I do that now ?  I'm not done with changes yet. ;-)
> 
> But - you're right that we should bump it, so I bumped it :-)

Thanks.  All I want to ensure is that it is not forgotten, releasing 4.7
with ABI incompatible libobjc.so.3 would be bad.  And there have been many
incompatible changes already...

> I suppose we could bump it again when we get into phase 3, when we're finished
> with the changes.

No, IMHO it should stay at 4:0:0 then.  It won't be in any released
gcc in between.

	Jakub
Mike Stump - June 8, 2011, 5:13 p.m.
On Jun 8, 2011, at 1:25 AM, Nicola Pero wrote:
> But - you're right that we should bump it, so I bumped it :-)
> I suppose we could bump it again when we get into phase 3, when we're finished
> with the changes.

No.  The next number is for the next release, and ideally, we want to sit on it for another 10 years or so.  We offer no compatibility before the RM says, done with the release.  Up until then, you can twiddle, after that, no more changes to the abi, though, you can bug fix it.
Nicola Pero - June 8, 2011, 5:21 p.m.
> No.  The next number is for the next release, and ideally, we want to sit on it for another 10 years or so.  We offer no compatibility before the RM says, done with the release.  Up until then, you can twiddle, after that, no more changes to the abi, though, you can bug fix it.

Sounds good.  That was my original understanding - one ABI version per release.  For GCC 4.6.0 we bumped
the version number after the end of phase 1, which made sense to me, so I was expecting we'd do the same
for GCC 4.7.0.

But, as Jakub seemed to urge me to bump the version number right now, I got confused about whether there was
an expectation of more than one bump per release; maybe to distinguish snapshots from one another or
something like that ?

Anyhow, we have done the bumping well in advance of the 4.7.0 release and we all seem to agree on what
we should be doing (one bump per release), so it's all good. ;-)

Thanks

Patch

Index: configure
===================================================================
--- configure	(revision 174797)
+++ configure	(working copy)
@@ -2274,7 +2274,7 @@ 
 # We need the following definitions because AC_PROG_LIBTOOL relies on them
 PACKAGE=libobjc
 # Version is pulled out to make it a bit easier to change using sed.
-VERSION=3:0:0
+VERSION=4:0:0
 
 
 # This works around the fact that libtool configuration may change LD
Index: configure.ac
===================================================================
--- configure.ac	(revision 174797)
+++ configure.ac	(working copy)
@@ -27,7 +27,7 @@ 
 # We need the following definitions because AC_PROG_LIBTOOL relies on them
 PACKAGE=libobjc
 # Version is pulled out to make it a bit easier to change using sed.
-VERSION=3:0:0
+VERSION=4:0:0
 AC_SUBST(VERSION)
 
 # This works around the fact that libtool configuration may change LD
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 174797)
+++ ChangeLog	(working copy)
@@ -1,5 +1,10 @@ 
 2011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
 
+	* configure.ac (VERSION): Bumped to 4:0:0.
+	* configure (VERSION): Likewise.
+
+2011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
+
 	* objc/README: Updated.
 	* objc-private/selector.h: Updated comments.