[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Minimalist GNUstep possible?
From: |
Nicola Pero |
Subject: |
Re: Minimalist GNUstep possible? |
Date: |
Fri, 18 Jun 2010 09:56:53 +0100 |
On 18 Jun 2010, at 02:55, Jonathan Wolf wrote:
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.
If you use just gnustep-make and gnustep-base, you'll get exactly
that. :-)
gnustep-make supports libraries (plain old shared libraries) and tools
(plain old executables).
(use library.make or tool.make to compile these).
gnustep-base is exactly a shared library with some supporting tools
and some resource files (timezone files, etc).
Check
http://www.gnustep.it/nicola/Tutorials/WritingMakefiles/index.html
(and related gnustep-make tutorials) for a quick startup introduction
to how to build and use tools and libraries.
You may be confused by the fact that GNUstep uses by default a GNUstep
"filesystem layout", meaning
has got its own directories for libraries, tools and resources -
similar to how things are organized for
example on Apple.
You can disable that very easily by configuring gnustep-make with
./configure --with-layout=fhs
then, not only you can compile and link standard libraries and tools,
but they are also installed into the standard
Unix /usr/bin etc. directories.
If you want to write your own makefiles or building system, you should
use gnustep-config to get the compile/link
flags.
I would still recommend using gnustep-make/gnustep-base as they are
mostly because:
* Linux distributions can have (and often do have) pre-built binary
packages for these, which means that all you need is to install
these two packages and your software is ready to go :-)
* by using the standard core components that all of GNUstep is built
on, you automatically benefit from all the bug fixes, new features
and enhancements that get in there
* your code will compile and run on all platforms supported by
GNUstep (which are a lot) with almost no changes
* gnustep-make has very advanced parallel building support (in case
your project ever grows to the point where compilation times
become a problem)
As a last comment, I'd like to mention that gnustep-make + gnustep-
base are probably the most mature part of GNUstep
and are really very production ready. There are companies that run
large live Unix server systems and operations using
software entirely based on them, and are extremely happy with the
result. ;-)
Thanks
- Minimalist GNUstep possible?, Jonathan Wolf, 2010/06/17
- Re: Minimalist GNUstep possible?, David Chisnall, 2010/06/17
- Re: Minimalist GNUstep possible?, Jonathan Wolf, 2010/06/17
- Re: Minimalist GNUstep possible?, Richard Frith-Macdonald, 2010/06/18
- Re: Minimalist GNUstep possible?,
Nicola Pero <=
- Re: Minimalist GNUstep possible?, Jonathan Wolf, 2010/06/18
- Re: Minimalist GNUstep possible?, David Chisnall, 2010/06/18
- Re: Minimalist GNUstep possible?, Jonathan Wolf, 2010/06/18
- Re: Minimalist GNUstep possible?, Philippe Laporte, 2010/06/23
- Re: Minimalist GNUstep possible?, David Chisnall, 2010/06/23
- Re: Minimalist GNUstep possible?, Nicola Pero, 2010/06/23
- Re: Minimalist GNUstep possible?, Nicolas Roard, 2010/06/23
- Re: Minimalist GNUstep possible?, Riccardo Mottola, 2010/06/18
- Re: Minimalist GNUstep possible?, Jonathan Wolf, 2010/06/19
- Re: Minimalist GNUstep possible?, David Chisnall, 2010/06/19