Re: obcj4/CFLite on Windows
Re: obcj4/CFLite on Windows
- Subject: Re: obcj4/CFLite on Windows
- From: Brent Fulgham <email@hidden>
- Date: Wed, 16 Sep 2009 09:13:48 -0700
Hello Stuart,
On Wed, Sep 16, 2009 at 4:04 AM, Stuart Crook <email@hidden> wrote:
> I think the short answer is the suggestion to disable Obj-C for CFLite. Look
> at CFRuntime.c around line 468. That "#if 0" is new, and stops defining the
> CFTYPE_ ... _OBJC macros as harmless. I think for all versions of OpenCFLite
> you want to change it to use those first versions rather than the ones which
> actually call into the obj-c runtime. I think this was the default behaviour
> for building on non-OS X in previous versions.
With CFLite prior to version 550, I would agree that this would work.
However, if you look at the implementation of CFBag.c.,
CFDictionary.c, and CFSet.c you will see that the implementations of
all three require access to the objc runtime (and Blocks!) to perform
the hashing functions used to get/set information in the various data
structures.
I initially disabled Obj-C support, and even spent a few hours adding
#if/def declarations around the new objc calls and block
implementations (substituting in the old implementations), but
eventually gave up.
Looking over the CoreFoundation.dll that ships with Safari (on
Windows) I noticed that it uses objc.dll, so the default behavior on
Windows for 'real' CoreFoundation is to supply the objc support.
Based on these two points, I think moving forward the road for Apple
is to incorporate more Obj-C implementations in CoreFoundation, so I'm
afraid this is a hurdle we have to get over.
Thanks,
-Brent
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden