[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Swarm-Support] Pls bring me up to speed on gcc-4.7 and Swarm. Anybo
From: |
Scott Christley |
Subject: |
Re: [Swarm-Support] Pls bring me up to speed on gcc-4.7 and Swarm. Anybody? |
Date: |
Thu, 31 May 2012 14:08:07 -0500 |
On May 30, 2012, at 4:43 PM, Paul Johnson wrote:
> On 05/30/2012 04:12 PM, Scott Christley wrote:
>> Hi Paul,
>>
>> Swarm will not work with gcc-4.7.0. More specifically, gcc-4.7.0 has the
>> new GNU Objective-C runtime library which has been extensively changed to be
>> compatible with Objective-C v2.0 from Apple.
>>
>
> Bummer.
>
> Is there anything to be done?
Yes. Porting Swarm to Mac required me to write an objc abstraction layer,
during that process Apple came out with ObjC V2 so I naturally wrote the
abstraction layer to match Apple's API. If you look at the file
swarm-objc-apple2.h in src/defobj, you will see that all of the Swarm objc
functions are just #define'd to the Apple objc functions. The same thing can
be done for GNU objc by creating a swarm-objc-gnu2.h then have it be included
from swarm-objc-api.h under the right conditions (i.e. some check for GNU and
objc version). If the Apple and GNU runtimes have the same behavior, which I
think they are suppose to, then the objc abstraction layer can be tossed
completely and ObjC V2 used directly.
Forwarding and ffcall are separate issues not directly related to the objc
version.
cheers
Scott
>
> Does your work on the Mac version of Swarm take you up to a point where you
> could write a "porting guide" that the rest
> of us could use to bring the rest of Swarm source into a workable state? The
> details of forwarding and fcall are so far
> over my head it would take you longer to explain the theory to me than, well,
> it will take the rest of the polar ice
> caps to melt. But, I am pretty good at time-consuming editing that
> translates code from one style to another. I'm
> willing to delete Java Swarm altogether if necessary, all of my interesting
> stuff is in Objective-C anyway.
>
> I guess I can just install gcc-4.6.3 in a separate folder and run with that.
> As long as it can be compiled, anyway.
>
>> My guess is that Swarm seemed to build because it was looking at the ObjC
>> header files within Swarm itself, while Heatbugs is looking at the system
>> header files (/usr/include/objc) and thus the conflict.
>>
>> Scott
>>
>>
>
> --
> Paul E. Johnson email: address@hidden
> http://pj.freefaculty.org Assoc. Director
> Professor, Political Science Center for Research Methods and Data Analysis
> 1541 Lilac Lane, Rm 504 1425 Jayhawk Blvd.
> University of Kansas Watson Library, Rm. 470
> Lawrence, Kansas 66045-3129 Lawrence, Kansas 66045-7555
> Ph: (785) 864-3523 Ph: (785) 864-3353
>
> _______________________________________________
> Support mailing list
> address@hidden
> http://www.swarm.org/mailman/listinfo/support