discuss-gnustep
[Top][All Lists]
Advanced

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

RE: Some general questions


From: Nicola Pero
Subject: RE: Some general questions
Date: Tue, 24 May 2011 23:23:31 +0200 (CEST)

> 1) Products that use GNUstep libraries can still be sold?

Your question is not formulated in a very clear way, but in most interpretations
I can think of, the answer would be "yes".  I recommend reading the actual 
licenses
to be sure. :-)


> Questions: What is the easiest way to compile a GNUstep program in Xcode.

There is no easy way.

You need a cross-compiler (and a cross-compile toolchain) to cross-compile from 
Apple Mac OS X
to your target platform.  For example, if you're targetting GNUstep on Windows 
7, you'd need
a cross-compiler (and cross toolchain) from Apple Mac OS X to Windows 7.  If 
you're targetting
GNUstep on Ubuntu GNU/Linux 10.04, you'd need a cross-compiler from Apple Mac 
OS X to Ubuntu
GNU/Linux 10.04.  If you're targetting GNUstep on OpenBSD, you'd need a 
cross-compiler from Apple
Mac OS X to OpenBSD.

An alternative, easier way would be to use a Virtual Machine and share the 
folder containing the code.
Let's say you're targetting Ubuntu GNU/Linux 10.04.  You'd install Ubuntu 
GNU/Linux 10.04 in your
Virtual Machine, and get a native compiler and toolchain for it (trivial 
because Ubuntu includes
the standard GNU building toolchain using GCC etc).  Then, you share the folder 
containing the code
between Apple and the VM, and you can either build manually by opening up the 
VM and running 'make'
in it, or you can automate that in some way.  Of course, you'd need some tool 
to generate makefiles
if you don't want to write them.

In both cases, there is a fair amount of work to do to get a smooth experience.

Alternatively, just get a cheap box and run your target system on it and build 
binaries from there.
Eg, if you're targetting Ubuntu GNU/Linux, you can buy a small laptop for a few 
hundred dollars/euros/pounds,
install Ubuntu on it, and simply sync your codebase every now and then on the 
machine and build it
there and have native Ubuntu packages/binaries ready to ship (of course you 
need to learn how to
build packages for your target machines, but that is a given).  You can still 
develop it on Mac OS X.

If you're really interested in the cross-compilation setup, that is an area 
where GNUstep is
somewhat weak, in that there isn't an out-of-the-box solution, but it is also 
an area where we'd like
to make progress.  And progress isn't difficult, as all the GNU stuff that 
we're based on is
designed for cross-compilation.  Someone with time and experience just needs to 
go through all
the steps, iron out all issues, and make it a smooth experience.  Your help 
would be welcome.


> 3) What are the acceptable locations for GNUstep frameworks to be stored?  I 
> read the article
> about how frameworks are done a little differently in GNUstep, but can 
> frameworks still be placed
> in the .app/Frameworks/ .app/Contents/Frameworks directory?

Probably. ;-)

It depends on many things, first of all the target system.  For maximum 
portability, I'd recommend
installing the frameworks in the standard way as frameworks, and have the 
application use them.  That
works well with systems that have a fully-fledged package manager, such as 
GNU/Linux distributions or
many other Unix distributions.  Then, it doesn't really matter where on disk 
your framework is, you can
always package it up with your application and end-user just download the 
package and install it.

But, I suppose that the reason you ask the question is because you'd like your 
"binary" package to
just consist of an .app directory with everything needed inside it, like in the 
Apple Mac OS X world.
That is possible to a certain extent, and I can help you with that, but it 
mostly makes sense on Windows
(which doesn't have a good package manager) and I wouldn't worry too much about 
it at this stage.  Your
first problem is the answer to question 2), ie, how to cross-compile.


> 4) On the wiki page ObjC_FAQ it says "GNUstep has supported garbage 
> collection via the Boehm GC
> for some years. Efforts are underway to bring this to closer compatibility 
> with Apple's new implementation."
>
> Questions: How far along has the work come to make GNUstep have Apple-eqsue 
> Garbage Collection. My IDE relies
> on it heavily. 

Not very far, mostly because nobody uses it. :-)  If you use it, and report 
bugs or differences, it may get
done more quickly.

Finally, I would like to mention that ...

 * if you try or use GNUstep, please report back bug reports, differences with 
Apple, portability issues.
These things are very useful. :-)

 * if you are a programmer (which you clearly must be if you're writing an 
IDE), please consider contributing
bug fixes or small improvements - or even large improvements :-) ... they are 
very appreciated.  Helping the
community that you're basing your work on helps yourself too in the long run! 
;-)

 * I understand you're planning on writing a proprietary IDE and selling it ... 
obviously we'd like to encourage
you to make it free software (you can still sell it, or sell support for it!), 
but will respect your decision not to.
Just keep in mind that you may not make much money from a proprietary IDE, 
while you'll become almost instantaneously
a hero for many people on this list if you were to manage to write a good IDE 
for GNUstep ... just saying ;-)

Thanks




reply via email to

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