[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC/make] Extend Framework support II
From: |
Nicola Pero |
Subject: |
Re: [RFC/make] Extend Framework support II |
Date: |
Thu, 11 Mar 2004 13:51:18 +0000 (GMT) |
> OK, so here's my second try :-)
>
> As a developer, I find the feature of being able to configure different
> GNUSTEP_ROOT directories very useful. You can easily set up independent
> GNUstep environments on a (potentially foreign) system for testing.
> None the less, I'd agree to advocate '/' as the default /if/ we're sure
> not to break anything, and I as don't have a Darwin system to play with
> at that level, I can't test what may go wrong. (I guess that's why you
> mentioned building them via /usr/GNUstep and then copying the
> frameworks, but that feels rather hacky to me :-) )
I'm not sure what you mean. I have my gnustep-make installation in
something like /Users/nicola/Nicola/make-installation, and when I build
stuff, then I do
make install GNUSTEP_INSTALLATION_DIR=/
and it gets installed into Apple's /Library/Frameworks. I don't find that
hacky.
I quite like that the default gnustep-make installation directory is not
/, because it doesn't mess up my Apple stuff. Btw I wouldn't call it a
"GNUstep installation", but a "GNUstep make installation", which also
explains why it's not a big deal that it's not in '/', or that its
framework paths are not in the framework library path.
Maybe we could change the default GNUSTEP_INSTALLATION_DIR on Apple to be
'/', and the default directory structure to match more closely the Apple
one (if there is a need), so that default installation procedures should
work well even for bundles and such. That looks like a good idea to me.
Does it look like a good idea to you ?
> So instead I'd rather like to propose to add support for -F /
> DYLD_FRAMEWORK_PATH. In principal the issue of -F/DYLD_FRAMEWORK_PATH
> is analogous to the -L/(DY)LD_LIBRARY_PATH.
>
> This tgz includes the previous patch plus ld_fw_path.[c]sh tools to set
> DYLD_FRAMEWORK_PATH on Darwin (and nextstep4*) for testing purposes and
> proof of concept. This approach is a bit overkill. I'll integrate it
> into ld_lib_path.sh /if/ we agree that we want to do this at all. When
> I started the changes I wasn't sure how much clutter I'd need to add so
> I separated it. But in hind sight, I don't think the two extra scripts
> are justified, so I'll simple add the DYLD_FRAMEWORK handling into the
> nextstep4* and Darwin* paths.
>
> Nicola Pero wrote:
> > As far as I'm concerned, I would stick with building "GNUstep
> > frameworks" (our stuff with all the hacks to find lists of classes,
> > locations, symlinks) when gnustep-base is used, and "Apple
> > frameworks" (which rely on Apple's FoundationKit/compiler/linker own
> > hacks to find lists of classes, etc) when Apple FoundationKit is
> > used.
>
> OK, yet I see this issue coming up again when/if we get apple-gnu-gnu to
> work. But I'll fix my final patch up to test against FOUNDATION_LIB
> again, then s/HAVE_FRAMEWORK_SUPPORT/USE_FRAMEWORK_SUPPORT/g and include
> some comments.
>
> So if we agree that we'd want to add -F/DYLD_FRAMEWORK_PATH to be
> consistent wrt. -L/LD_LIBRARY_PATH, I'll fix up another proposal patch.
> (I've cc'd Sheldon as this surely plays into the GNUstep.conf issue.
> BTW: will it still be possible setup multiple independent instances of
> GNUstep on a system with those changes?)
>
> My goal here is to have GSWeb (incl. all it's dependencies) to install
> "out of the box" on Darwin(/Cocoa). I'd really like to avoid the extra
> steps of copying compiled framework yet leaving the installed dependent
> -baseadd, -gdl2, .... libraries in GNUstep-specific paths. Well I guess
> you'd have to copy/symlink them also unless you source GNUstep.[c]sh,
> but if you do it, I think the frameworks should work just as well.
If you want it running and succesfull on apple-apple-apple, I think you
should switch your mind into apple-apple-apple mentality.
If I'm an apple-apple-apple person and I want the GSWeb framework, I want
to download GSWeb.framework and install it in my /Library/Frameworks/,
then I want to be able to use it from my XCode (is that the name ?)
developer tools.
I don't want to know anything about GNUstep or gnustep-make. Sourcing
GNUstep.sh ? What's that ? Why that complication anyway ?
So my recommendation would be -
* install (you, David Ayers, not whoever will download the final binary
package) gnustep-make on your Apple machine in order to compile stuff
which uses a GNUmakefile. You can install gnustep-make into
~/make-install for example.
* source GNUstep.sh from the above installation when compiling.
* use GNUSTEP_INSTALLATION_DIR=/ when installing your frameworks. That
installs them into /Library/Frameworks (I suppose we could make this the
default on Apple).
* gnustep-make or GNUstep is not required to use the frameworks. They
are just Apple frameworks in the Apple directories, and you can distribute
them as such. Just go in /Library/Frameworks/ and grab them, make a .tgz
with all of them, and distribute it. The final user will just unpack them
in /Library/Frameworks/ and bam! it can use them in XCode.
I distribute Renaissance in such way and it's very popular for Apple Mac
OS X users.
I don't honestly see any need for using -F flags or setting yet another
framework library path, as I consider gnustep-make's installation on Apple
just a gnustep-make installation, and not a gnustep installation.
If you use gnu-gnu-gnu on Apple, that's a GNUstep installation, but it's a
completely different matter because it's not using the Apple framework
code.
Anyway.
- [RFC/make] Extend Framework support II, David Ayers, 2004/03/13
- Re: [RFC/make] Extend Framework support II,
Nicola Pero <=
- Re: [RFC/make] Extend Framework support II, David Ayers, 2004/03/13
- Re: [RFC/make] Extend Framework support II, David Ayers, 2004/03/12
- Re: [RFC/make] Extend Framework support II, Nicola Pero, 2004/03/12
- Re: [RFC/make] Extend Framework support II, David Ayers, 2004/03/13
- Re: [RFC/make] Extend Framework support II, Nicola Pero, 2004/03/12
- Re: [RFC/make] Extend Framework support II, David Ayers, 2004/03/12