[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Source-level compatibility of runtime(s) with Apple
From: |
Richard Frith-Macdonald |
Subject: |
Re: Source-level compatibility of runtime(s) with Apple |
Date: |
Mon, 21 Feb 2011 15:34:45 +0000 |
On 21 Feb 2011, at 15:23, Ivan Vučica wrote:
> Hi,
>
> I've ran into a difference between runtime on Debian and Apple's runtime in
> the function name conventions. For example:
>
> Class classFromIsa;
> #if GNUSTEP
> classFromIsa = objc_lookup_class([isaStr UTF8String]);
> #else
> classFromIsa = objc_lookUpClass([isaStr UTF8String]);
> #endif
>
> I wanted to ask whether the GNU/GNUstep runtime could additionally include
> the Apple variant of the function name, but fortunately I looked at libobjc2
> source code first. From what I can see, there the Apple's style of the
> function name is used.
>
> What is the future policy regarding this? What should the above #if check for?
If you are using GNUstep, you should use objc_lookUpClass() irrespective of the
runtime, because GNUstep provides and uses the *modern* Apple runtime API
So there should be no #if check required.
Of course, your debian distribution might be using a very old version of
GNUstep where this wasn't the case ... in which case it would be good to update
to a more recent version.