On 30 Oct 2008, at 07:44, Markus Hitter wrote:
Am 29.10.2008 um 19:30 schrieb Krishna:
While Xcode integration can be a big plus, having to cross-compile
everytime can be painful, no?
No. :-) You'll only notice by the doubled compile time, i.e. 2
seconds instead of 1 for typical small changes. Mac developers do
this all day already, as it's currently standard to build for Intel
32-bit and PPC, or 32-bit and 64-bit, or all three (resulting in a
single "universal" binary). There's a switch to build native-only,
of course.
Cocotron has a big advantage over GNUstep - it only aims to support
Windows. Windows has a stable, static ABI and is a very easy target
due to its homogeneity.
GNUstep, in contrast, supports various flavours of *NIX on various
architectures. I use GNUstep on OpenBSD/PowerPC, Solaris/SPARC64 and
FreeBSD/x86. Setting up a cross-compile system for these would be
very difficult. I'd need a version of GCC with SPARC, PowerPC and x86
back ends built, and I'd need all of the headers for OpenBSD, Solaris
and FreeBSD. Apparently some people use my code on Ubuntu/x86 and
Ubuntu/x86-64 as well, so I'd probably need to add these targets too.
When we get clang / LLVM support then this will be slightly easier
since, unlike GCC, LLVM is built with cross-compiling in mind, but
this still won't eliminate the need for copies of all of the headers
and libraries for each potential target platform. Cross-compiling any
C-family language is painful at the best of times, because the
compiler is highly context-dependent.
If you're only wanting to support OS X and Windows, then cross-
compiling might be a good option. Otherwise, it's likely to be a lot
more pain than it's worth.
Yes. Your cross-compiling buddy will be done by the time your
virtual machine asks for the installation disk.
And then he'll have to wait to install his VM before he can test it.
The Cocoa and Cocotron APIs may be the same, but shipping some code
using two completely independent implementations of the same API
without testing it on both is something I can't imagine anyone
actually doing if they expected real users.
Maybe you could test your Cocotron version using WINE on OS X, but
that doesn't sound like a good way of working.
How is debugging done?
You rarely have to run a debugger natively. Most errors are in the
logic of an app, which is (should be) the same on both sides.
Spoken like someone who has only ever had to support one CPU
architecture. Or someone who has never come across bugs related to
minor implementation differences between Cocoa and GNUstep.
David
_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep