pyobjc / Doc / gnustep.txt

The branch 'pyobjc-ancient' does not exist.
Ronald Oussoren 4d43208 








Ronald Oussoren be903b7 

Ronald Oussoren 4d43208 

Ronald Oussoren be903b7 




Ronald Oussoren 4d43208 


Bob Ippolito 409a861 



Ronald Oussoren be903b7 








Ronald Oussoren 4d43208 

Ronald Oussoren 596abe3 

Ronald Oussoren be903b7 
Ronald Oussoren 4d43208 
=========================
GNUstep support in PyObjC
=========================

PyObjC has limited support for GNUstep, the 'objc' and 'Foundation' packages
build and pass some, but by far not all, unittests. More work is needed to
make the GNUstep port as stable as the MacOS X "port".

The GNUstep port was primarily developed on Linux i86 (specifically 
the Debian testing distribution), using python 2.3.3,  gcc 3.3.2 and 
gnustep-base1 1.9.0-1. The code in setup.py works for this configuration,
but probably not for other configurations.

GNUstep support is *very* fragile, in some versions of the the selectors for
new classes should be strings, in others they should be SEL objects (as you
would expect). We also use undocumented private functions to initialize new
classes.

TODO
----

* [Serious] Fix linkage problems. The objC runtime doesn't seem to be 
  initialized correctly and/or the classes in newly loaded frameworks are
  not correctly registered in the runtime.

* Fix the odd bug...

  I currently get the following text when importing objc::

  	Unable to retrieve information about SIGPIPE

  This text is not printed by PyObjC and I haven't been able to find who
  does print that text...

* Fix bugs found using the unittests

  runPyObjCTests finds some problems that disappear when those tests 
  are run separately...

* Extract more CFLAGS and LDFLAGS information from the GNUstep build system,
  instead of hard-coding the information
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.