[Top][All Lists]

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

Re: Minimalist GNUstep possible?

From: Jonathan Wolf
Subject: Re: Minimalist GNUstep possible?
Date: Thu, 17 Jun 2010 19:55:09 -0600

Thanks for the reply David,

I apologize for my lack of correct terminology - I did mean just
Foundation (as in, NSObject, NSDate, etc.) and .app bundles.

The idea that this is sparked off from is basically how one would take
ObjC, in a minimalist form, and port it over to another environment -
equally the same issue if you were to take it from iPhone to desktop
(say Windows/MinGW) or, probably another avenue to be explored next
year, iPhone to Android (if estimates of the Android market overtaking
iPhone stay true).

Having done years of C++, I've developed quite a hatred for all things
C++ in nature, and having gone from a strong C++ background to an ObjC
background, I have been absolutely amazed that it hasn't gotten more
wide reception. Either rate, I think one of the issues was that ObjC
was so intertwined to Apple, and GNUstep aims to break that - and this
is a very good thing imho.

So I am trying to leverage the Foundation runtime best I can, but in a
minimalist form as possible - so aiming at a one file .so/.dll is the
goal really. I think that my original question may be a bit off since
what I am really interested in trying to make happen is so that going
through a GORM/GNUmake makefile like system (producing an .app
bundle), while interesting, is not necessarily the avenue wanting to
be took - mainly just pushing out a and would be the most ideal route.

Looking at some of the tie-in architecture on the bundle's plist and
other such thing - especially in relation to NSUserDefaults - I am
getting the idea that it may not be so easy.

So maybe the real question is, how do you make GNUstep's foundation
layer a shared object, compilable via -lnsfoundation gcc linker flag
(or similar), and avoid the entirety of an .app bundle?

(apologies for any misnomers or errors on my behalf)

Thanks so much again,


On Thu, Jun 17, 2010 at 7:07 PM, David Chisnall <address@hidden> wrote:
> I'm not sure who you have been asking about GNUstep, but they seem to have 
> told you a great deal of nonsense.
> GNUstep does not, and never has, depended upon packaging things in .app 
> bundles.  If you want to produce something using AppKit, then this is the 
> easiest way of doing it because it allows you to bundle resources and 
> binaries for multiple operating systems and architectures in the same thing.
> If you are just using Foundation, then you can create a tool which is just a 
> single binary and does not depend on any structure.  GNUstep Make will create 
> these for you, or you can use the gnustep-config tool to provide the compiler 
> and linker flags to your own build system.
> As to producing a minimalist GNUstep, you probably could tweak the make file 
> for GNUstep's Foundation (I assume you mean Foundation, not Core Foundation 
> when you say Core Foundation, since you talk about NSObject) and remove the 
> classes that you don't want.  I'm not sure why you'd bother, as this would 
> just save you a few hundred KB of size in one library that you link against 
> and maybe a couple of KB in run time memory usage, but GNUstep is LGPL'd so 
> you are absolutely free to do this and ship the resulting library with your 
> app if you want.
> David
> On 18 Jun 2010, at 01:24, Jonathan Wolf wrote:
>> Hey everybody,
>> I have an ObjC library that I built for iPhone development, and
>> chances are improving that we will be trying to expand beyond just
>> iPhone dev with our toolset, particularly moving to a desktop
>> environment. We want to keep using our tools that we've taken a while
>> implementing in ObjC, which we feel is a superior language to C++.
>> I've played around with GNUstep and the tools, which, honestly look
>> really antiquated (but still work obviously), and was finding out that
>> there is a reasoning behind the whole App Package experience when
>> dealing even with just the core foundation library (especially around
>> NSUserDefaults and other "user space" setup options). I was also
>> reading various online forums and a large number of posts, written by
>> various people, well, they weren't saying very good things about
>> GNUstep in general (in fact, their common wordage was "everybody who
>> has used it has walked away from it saying 'it's not worth the
>> headache'"). I was hoping that things have improved and the experience
>> would be different today than it was a few years back.
>> The thing is, we're only using a handful of core foundation, which
>> includes mainly NSObject, NSMethodInvocation (and related), and
>> NSString. We're not using NSUserDefaults or any other form of "App
>> Package" needed items, none of the XML parsing or date objects, just a
>> really core base to mainly get ObjC up and running (without having to
>> inherit directly through Object and lose out on some of the nifties in
>> NSObject).
>> My question: Is there any way one could rip out just the core
>> functionality, or perhaps instead skipping the entire App Package
>> process, and just make a minimalist GNUstep, with just the most basic
>> of basic functionality, no extra "user space" weight (I'm thinking a
>> stand-alone .so/.a library)? Or are the components so intertwined that
>> doing so would essentially be the equivalent of trying to rip a jet
>> engine out of an F-16?
>> Thanks.
>> _______________________________________________
>> Gnustep-dev mailing list
>> address@hidden
> --
> This email complies with ISO 3103

reply via email to

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