Re: [Pyobjc-dev] GNUstep PyObjC compatibility
Brought to you by:
ronaldoussoren
From: Ronald O. <ous...@ci...> - 2004-04-04 19:20:03
|
On 4-apr-04, at 2:11, Alex Perez wrote: > Ronald et al, > > I lurk on the cocoa-dev mailing list, and recently saw a posting about > PyObjC. Someone in #macpython on FreeNode told me you'd done the bulk > (all?) of the work to make PyObjC work with GNUstep once upon a time. > I'm the GNUstep website maintainer (one of a couple of others), and am > putting together a page with a list of language bindings to > demonstrate how many languages you can use with GNUstep. I'd love to > help you resuscitate the GNUstep support in PyObjC and keep it > actively working. I haven't checked the current CVS version, but several weeks ago the core of PyObjC worked with GNUstep. The Foundation bindings were also functional, but I didn't port the AppKit bindings. We've recently done some invasive surgery on the bridge to increase its usefulness in multi-threaded environment. This might have broken GNUstep support. > > I downloaded the CVS sources to PyObjC a day ago and attempted to get > it to build, to no avail. Someone told me to look in > Scripts/gen_all_protocols.py and it looks like there are some > hardcoded paths in there. It should not be necessary to use gen_all_protocols.py just yet. This might be required to add support for GNUstep-specific features, but that can wait. > GNUstep system header files live in a slightly different place than > they do on OS X. Foundation and AppKit headers are found in > $GNUSTEP_SYSTEM_ROOT/Library/Headers/Foundation and > $GNUSTEP_SYSTEM_ROOT/Library/Headers/AppKit, respectively. There are > also some InterfaceBuilder (our IB-esque app is called GORM) in > $GNUSTEP_SYSTEM_ROOT/Library/Headers/InterfaceBuilder. GNUstep also > has a 100% API compatible AddressBook implementation, but it is not > part of GNUstep proper, and as such may or may not be on any given > machine. If it is, the headers would be in > $GNUSTEP_LOCAL_ROOT/Library/Headers/AddressBook . > > For those of you who might be wondering, GNUstep lives in various > places. I have it installed in / so my System folder is simply > /System, local is /. Most distributions which package GNUstep put it > in /usr/GNUstep or /usr/lib/GNUstep, which is why we must use system > variables such as $GNUSTEP_SYSTEM_ROOT et al. My development box for the GNUstep box is a debian linux system ("testing" release). I've also installed SimplyGNUstep on an old PC, which has GNUSTEP_SYSTEM_ROOT=/System as well. The first step to getting a full-featured GNUstep port of PyObjC is to get the current port working again (e.g. core module + Foundation), adding support for other frameworks should be easy enough. Now that I have the attention of a real GNUstep developer, I also have a question: setup.py currently contains hard-coded CFLAGS and LDFLAGS for GNUstep (see line 365 and on in setup.py), is there an easy way to extract this information from the GNUstep build environment? Ronald -- X|support bv http://www.xsupport.nl/ T: +31 610271479 F: +31 204416173 |