[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Building with GNUstep make on Panther/Tiger
From: |
Sherm Pendley |
Subject: |
Re: Building with GNUstep make on Panther/Tiger |
Date: |
Wed, 15 Jun 2005 15:57:05 -0400 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.4.17 (Jumbo Shrimp, linux) |
Andreas Höschler <ahoesch@smartsoft.de> writes:
> Any chance Frameworks, tools and apps built on Panther (using GNUstep
> make) will run on Tiger?
I'm puzzled - Why would you think there's a chance they *won't*?
> At least the apps build on Jaguar don't
> really work on Tiger which is more or less to be expected. We
> e.g. have a subclass of NSImageView in one app. If Apple modified the
> ivars on NSImageView from Jaguar to Panther/Tiger this will of course
> break everything.
I don't see why it would break anything. This ain't C++ we're talking
about - I haven't looked, but surely GCC generates calls to the runtime
functions to set/fetch ivars, instead of hard-coding offsets from the
instance pointer.
> I find it discouraging that apps aren't binary
> compatible between 10.2, 10.3 and 10.4
What are you talking about? I have apps that were built all the way back
even before 10.0 that still run just fine.
> guess Apple tries to solve this issue with xCode by creating fat
> bundles containing code for all three OS versions.
Again - what are you talking about? Xcode's SDKs don't create "fat" bundles,
they're just older versions of the libraries that you can link against as
if you were cross-compiling. If you want your app to be Jaguar (10.2)
compatible, you link it with the Jaguar SDK, and it'll run on that or any
newer version.
Just create an Xcode project that uses an SDK, save it, then build it in a
terminal with the "xcodebuild" command-line tool. That will display all of
the compiler & linker flags it's using.
> OSes. Until now we haven't been able to build anything on Tiger with
> GNUstep make.
Works fine for me, although I'm using plain old makefiles w/o the GS macros
for Mac OS X. It's just a matter of using the proper compiler & linker flags
to use the SDK headers & libraries, instead of the ones on the build system.
For me, that was:
CFLAGS += -nostdinc -B$(SDK)/usr/include/gcc -B$(SDK)/usr/lib/gcc
CFLAGS += -isystem$(SDK)/usr/include -F$(SDK)/System/Library/Frameworks
LDFLAGS += -Wl,-syslibroot,$(SDK)
Where SDK is set to the directory of the SDK you want to use, for instance
"/Developer/SDKs/MacOSX10.2.7". Apps that need to run on =< 10.3.8 must be
compiled with GCC 3.3.
sherm--
- Re: Building with GNUstep make on Panther/Tiger, (continued)
Re: Building with GNUstep make on Panther/Tiger, Yves de Champlain, 2005/06/15
- Re: Building with GNUstep make on Panther/Tiger, Andreas Höschler, 2005/06/15
- Re: Building with GNUstep make on Panther/Tiger, Yves de Champlain, 2005/06/15
- Re: Building with GNUstep make on Panther/Tiger, Andreas Höschler, 2005/06/16
- Re: Building with GNUstep make on Panther/Tiger, Shantonu Sen, 2005/06/16
- Re: Building with GNUstep make on Panther/Tiger, Andreas Höschler, 2005/06/16
Message not available
Re: Building with GNUstep make on Panther/Tiger,
Sherm Pendley <=
Re: Building with GNUstep make on Panther/Tiger, Sherm Pendley, 2005/06/15