[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