[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNUstep on Mac OS X

From: Fred Kiefer
Subject: GNUstep on Mac OS X
Date: Fri, 27 Dec 2013 20:17:05 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

I try to keep myself out of the discussions on the GNUstep discussion
mailing list. Still I follow them. The only positive thing that I could
take from the mails in the last month is that we need better
instructions for Mac developers on how to use GNUstep.

This really is important. There are plenty of Objective-C developers out
there that are only used to Xcode and know nothing else. Some of them
might be interested in porting software they did develop on the Mac over
to other platforms via GNUstep. (Lets assume they already know about the
existence of GNUstep) What do we have to offer to them?

I had a look at the wiki pages that talk about Mac OS X. And there
really isn't that much:
This is broken as I already reported.
Basically empty.
The best we seem to have at the moment.

I would like to suggest that we add a new Wiki page dedicated to this
subject. Now normally I would just start that page and let others
correct me later one. But as this seems to be such a controversial
subject I would like to get a bit of support before putting a page
online that is not acceptable.

The first thing I would state on that page is that GNUstep on MacOSX is
not actually needed. You might want to use the GNUstep additions to be
able to compile software using that. And if you want to port software
from Cocoa to GNUstep you are better of by setting up your target
environment, e.g. in a virtual machine, and use GNUstep there directly.
(Here another page about using GNUstep to port software would help. The
doesn't even mention buildtool or at least pbxBuild.)
But although it is not really necessary to have GNUstep on a Mac, it
surely eases the way for people only used to Xcode and it could provide
a nice test environment too.

So in the next step we should explain the problems of that setup.
- Why we cannot use the Apple ObjC runtime. Actually why?
- The issue with many libraries, even from MacPort being linked against
CoreFoundation which again is linked against their libobjc.
- ...?

Then there are two different ways to compile GNUstep on the Mac. Either
do it on the command line, as we do on all other platforms. This way is
partly documented on the wiki pages. The more natural way for a Mac
developer would be to have Xcode projects for the GNUstep components.
This way is currently undocumented although base ships with a Xcode
project file, which isn't too much help at the moment, but should be
worked on.
I am not really familiar with setting up Xcode to compile GNUstep, but
there have been at least three attempts in a similar direction.

- Cocotron has an Xcode setup  ( but the
links there don't seem to work)

- Nikolaus Schaller has an Xcode project to cross compile his mySTEP

- Marat Ibadinov contributed an XCode project for each core GNUstep
component (

I think only Marat's stuff is for native compilation. This is also
something we need to make clear on that page: Native compilation is only
useful for tests. That means that we should try to come up with ways to
provide both a native and a cross compilation framework in Xcode.
(Windows and Linux?)

Should the Xcode project include a configure step or should we just copy
preprepared configuration file in place?
And where should the necessary libraries come from? Which versions will

Marat choose to use the xlib backend on the Mac. Here we need to be
aware the the X server that come with OSX seems to be rather annoying.
It would just be nice to have a backend that could work on top of
CoreGraphics. But if I understand that library problem correctly that
wont work for us.

My suggestion now is that I set up this page, without a link to it in
the wiki, post the link here and who ever is interested adds text to
clear up all the open question I have. And as soon as there is actually
something useful in the page we link to it. OK?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]