|
From: | David Ayers |
Subject: | Re: [PATCH] Framework support with GNUstep on Mac OS X |
Date: | Mon, 10 May 2004 13:08:30 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 |
Quentin Mathé wrote:
Hi,Here are two patches to have GNUstep frameworks automatically discovered on Mac OS X in every possible cases.Currently the GNUstep frameworks locations are only supported for the apple-apple-apple combo, but it should be supported also for the gnu-gnu-gnu combo which now works on Mac OS X to discard the need to set each time the framework location for an application like GNUMail which uses Addresses framework.I have just removed the combo test case in the scripts because when apple-gnu-gnu and apple-apple-gnu combos will be supported, some frameworks could also be located in a GNUstep related location.
Hello Quenten,Wow, how did you get gnu-gnu-gnu and apple-apple-apple work in parallel? The -fgnu-runtime/-fnext-runtime flag only controls how gcc generates objc code. Not what headers are included or which libobjc get linked when you supply -lobjc. But if you have this working I'd like to know where your 'libobjc's and 'objc/objc.h's are installed? Which gcc are you using? Apple's or FSF and in which version?
The last time I checked Andrew Pinski was working to add some magic to FSF gcc so that -fgnu-runtime/-fnext-runtime /will/ have an effect on where the compiler/linker/loader would find -lobjc and #include <objc/objc.h>.
If you merely install the FSF gcc with libobjc enabled into /usr/local they you're likely to always include the GNU runtime headers with #include <objc/objc.h> even with -fnext-runtime and link against the gnu runtime with -lobjc.
Anyway, when I proposed the original patch wrt to DYLD_FRAMEWORK_PATH I had a long discussion (which continued offline) with Nicola about adding "true" framework support for Darwin platforms wrt to these search paths. I conceded that we should make this feature Darwin dependent instead of library combo dependent only if/once someone maintains "true" framework support for Darwin and not add a little Darwin dependent support here and a have a little library combo support there.
If I understood him correctly, -make only generates "true" Darwin frameworks for the apple-apple-apple library combo anyway. For any gnu-gnu-gnu combo the frameworks are "simulated" for Darwin as for any other platform. Therefore, even if you can get gnu-gnu-gnu to work reliably on OS X, you /should/ be able to link against the library in the "standard" way (i.e. like normal libraries). Yet if the patch worked for you, then either -make actually does create "true" frameworks for gnu-gnu-gnu on Darwin or it just happens to work anyway with the "simulated" frameworks.
Now as I don't have OS X, I only have limited experience with the state of -make's framework support on that platform, I may be missing some important details.
Cheers, David
[Prev in Thread] | Current Thread | [Next in Thread] |