[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using GNUstep Categories in Cocoa
From: |
Marcus Müller |
Subject: |
Re: Using GNUstep Categories in Cocoa |
Date: |
Tue, 23 Apr 2002 14:40:33 +0200 |
On Monday, April 22, 2002, at 07:39 PM, Edwin Zacharias wrote:
I see why staying Header compatible is a problem. Probably solved by
some complex set of preprocessor macros.
I don't hope so! The solution I'd prefer is to have the GNUstep
additions in separate headers, but to keep the implementation within
gnustep-base. Please note that one cannot put the GNUstep addition
implementations into another framework, as they're used by gnustep-base
(cyclic dependency). However, it would be of no benefit nevertheless,
because the OS X implementations differ, sometimes significantly. I just
stumbled across an elegant solution to this:
gnustep-base's build process would incorporate a GSExtensions framework,
which consists of headers and a framework stub only. During the build of
gnustep-base, all necessary additions would be referenced via the
GSExtensions.framework headers (embedded in base during the build), the
implementations will stay where they are now. During the gnustep-base
install, the GSExtensions.framework will be installed. No GNUstep
application needs to link against the GSExtensions.framework, because it
is simply used for providing the extensions "declarations".
On OS X you'd have a real framework that you need to link against, but
this is no problem nevertheless because the build processes differ
anyhow. The location of the headers, on the other hand, is the same.
What this means is that one would have to change minimal things in
gnustep-base (basically create the headers, add the new build target,
change #include's where necessary to use the new headers). It directly
enables the use of the GSExtensions.framework without real need to port
applications to OS X.
Cheers,
Marcus
--
Marcus Mueller . . . crack-admin/coder ;-)
Mulle kybernetiK . http://www.mulle-kybernetik.com
Current projects: finger znek@mulle-kybernetik.com