Re: obcj4/CFLite on Windows
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=9eLeX7kSOZLtACdh7qoyHvZffJjpVdVTtvnxlPfVERQ=; b=ovBtlmDYxXCMX72wPDspdwztKIOZFUUTFZxGvSlv2CFqVj75wJVU4iISd9T8+nLAXD t/P6ZgoBuvf/5JT555IlNBvJVEerIj0Jd2ilNCDl2iOCyb2DXXawSIwpwboo0iQAIRBe XrlFCl4cyNiEhZCI/Gac+lTcavBLJtJTj+fDA= Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=N4XlBQUHXBtY5Hqmi+1VuFjPEWVrMF9jWKmYKZzoHqspexw9vAIOkLgCJ166DKSfpe KK9jLUJEERxJBxph+8BkhLHhh01rK0KMs+dYUtnOG6C+Ewd5lWdNNCfdPLQ9obcT+qSp gIgj3l1cduuR0/hcHDo6PnTTkBXd0aiQfrDFQ= Hello Stuart, On Wed, Sep 16, 2009 at 4:04 AM, Stuart Crook <stuart@echus.demon.co.uk> 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 (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
Brent Fulgham