[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep on Darwin!
From: |
Bill Northcott |
Subject: |
Re: GNUstep on Darwin! |
Date: |
Tue, 25 Nov 2003 08:07:08 +1100 |
> On Sunday, November 23, 2003, at 03:07 PM, John Davidorff Pell wrote:
> > I've successfully build and installed all the way up through -base on
> > darwin using gnu-gnu-gnu. I used GNUstep's libobjc, and pyobjc's
> > libffi. In gui I am getting this error:
> > P.S. I plan on making a guide for building on darwin, if I can get the
> > rest to compile happily. I am using apple's gcc, and most of the
> > modifications have simply been to add "-lobjc" to a whole bunch of
> > make files. :-) For base I had to add "-framework CoreFoundation" to
> > resolve "___CFConstant...comething...blah..."
> Well, no one has gotten GNUstep to work with the Apple compiler as far
> as I know, so you are probably in for some fun. Have you actually been
> able to get GNUstep base to work (i.e. run some of the tests in the
> Testing directory or some of the Tools)?
I think the current Apple gcc-3.3 should build GNUstep. If you add the
patch from gcc bug 11754 the code will probably even work. You can find
such a patched compiler which is a drop replacement for the Apple one on
the Swarm site at http://savannah.nongnu.org/projects/swarm. The patched
compiler is functionally identical to the Apple one except when building
Objective-C with the -fgnu-runtime flag.
> If you are doing gnu-gnu-gnu, then you probably want to add
> -fgnu-runtime to the compile flags (GNUstep make might be doing that
> automatically, but make sure). Also, it's likely you'll have to remove
> the libobjc.dylib that comes with Apple's GCC, or at least make sure
> the the GNUstep libobjc.a is named libobjc.dylib so it's properly
> linked (see http://www.gnustep.org/information/machines_1.html#SEC2).
The libobjc linking is a real problem. Using -fgu-runtime will ensure
that the runtime calls are in GNU runtime format, -lobjc is likely to link
the Apple runtime. You have to use the linker flags to supress the normal
system libraries. We did manage to get it to work for Swarm, but it made
things much cleaner and cross platform to change the name of the Swarm
libobjc (a modified GNU libobjc) to libswarmobjc.dylib. I think it would
be a really bad idea to remove the system's runtime.
(as an aside, that library is NOT part of Apple's gcc, but in a separate
package objc4)
Bill Northcott
PS The code affected by the patch 11754 has now been dropped from the
Apple cvs sources. So the next release is likely to be quite diferent. I
have not yet determined whether the new code works properly with the
-fgnu-runtime flag.
- Re: GNUstep on Darwin!, (continued)
- Re: GNUstep on Darwin!, Yves de Champlain, 2003/11/24
- Re: GNUstep on Darwin!, John Davidorff Pell, 2003/11/24
- Re: GNUstep on Darwin!, David Ayers, 2003/11/25
- Re: GNUstep on Darwin!, Adam Fedor, 2003/11/25
- Re: GNUstep on Darwin!, Philip Mötteli, 2003/11/26
- Re: GNUstep on Darwin!, Adam Fedor, 2003/11/26
Re: GNUStep on Darwin!, Phillip Tamulonis, 2003/11/24
Re: GNUStep on Darwin!, Yves de Champlain, 2003/11/24
Re: GNUStep on Darwin!, Yves de Champlain, 2003/11/24
Re: GNUstep on Darwin!,
Bill Northcott <=
Re: GNUstep on Darwin!, Bill Northcott, 2003/11/24
Re: GNUStep on Darwin!, Phillip Tamulonis, 2003/11/24