• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Developers needed to complete the GNUstep port to Darwin
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Developers needed to complete the GNUstep port to Darwin


  • Subject: Developers needed to complete the GNUstep port to Darwin
  • From: Lars Sonchocky-Helldorf <email@hidden>
  • Date: Tue, 9 Jul 2002 11:33:25 +0200

The GNUstep Project (http://www.gnustep.org/) is looking for developers to complete the GNUstep port to Darwin.

As some of you might already know, GNUstep is - so to say - Cocoa's stand on various UNIXes and Windows (at least as long as Apple doesn't ship Cocoa for those platforms). So if someone is going to release an Cocoa-application cross platform she is very likely to use GNUstep for that purpose.


Why porting GNUstep to Darwin given the fact we already have the original?

To make porting apps to GNUstep easier. Although GNUstep is virtually the same as Cocoa there are minor differences, most notably the layout of the GUI, that make a GNUstep running alongside Cocoa reasonable. On the other hand, don't forget about the people and developers that are restricted to pure Darwin (x86). GNUstep would give them a decent GUI.


What is the current status?

No, you don't start from scratch here. The port is underway for a quite long period (ca. 1,5 years) now. That means that compiling errors are completely mangled out by now. Currently run-time bugs are the main target (the interworking of Apple's (NeXT's) objc-runtime and the GNUstep libraries is not flawless by now) that needs to be worked out.


Who can participate?

Everybody is welcome. Good knowledge of Cocoa, Apple's objc-runtime (objc4) or decent debugging skills are a definite "plus".


How to get started?

check out the objc runtime (objc4) project from Darwin cvs
build a debug version of the objc runtime:
sudo make debug OBJROOT=build SYMROOT=/usr/lib DSTROOT=/usr/lib
sudo ln -s /usr/lib/libobjc_debug.A.dylib /usr/lib/libobjc_d.dylib

get a copy of GNUstep's daily snapshot (named core.YYYYMMDD.tar.bz2) at ftp://ftp.gnustep.org/pub/daily-snapshots/.
unpack it: for the un-bz2-ing, StuffIt Expander is suitable, but for the untaring please use:
tar -xf core.YYYYMMMDD.tar
since StuffIt cuts long filenames without noticing you.
Now it's time for some brute force action: Search and replace all occurrences of "-lobjc" with "-lobjc_d" in the "core" folder you even untared. This is necessary to make the gnustep-base (equivalent of foundation) link against our debug version of libobjc. (I must admit that this is not very elegant but my limited understanding of GNUstep's makefile system gave me no other choice). Now build GNUstep like this:
cd ~/core/make/
./configure --with-library-combo=nx-gnu-gnu --prefix=/opt/GNUstep
make debug=yes
sudo make install debug=yes
make distclean debug=yes
source /opt/GNUstep/System/Makefiles/GNUstep.csh
cd ../base
./configure
make library-combo=nx-gnu-gnu debug=yes
sudo make install debug=yes
make distclean debug=yes

to get into debuging GNUstep use one of it's example programs that come with it, for instance dictionary:
cd ~/core/base/Examples/
make debug=yes
cd obj/
gdb ./dictionary

it is a good idea to put some printfs into objc4 to see what is going on. I added for instance the following code to ~/objc4/objc4/runtime/objc-class.m in method _class_lookupMethodAndLoadCache line 2130:
printf("_class_lookupMethodAndLoadCache() Class: %s Method: %s\n",cls->name,sel);


next steps:

if you find something that needs to be fixed please mail it to email@hidden (no subscription required). If you have questions regarding GNUstep please mail to email@hidden (subscription required, to un/subscribe send mail to: email@hidden with the subject line containing "un/subscribe").

greetings, Lars
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

  • Prev by Date: Re: Are NSScanners deprecated?
  • Next by Date: How do I set the cell height for an NSBrowser?
  • Previous by thread: Re: Mutable class problems
  • Next by thread: How do I set the cell height for an NSBrowser?
  • Index(es):
    • Date
    • Thread