[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNUsteprc location (was: Re: GNUstep.sh / env sanity patches)

From: Nicola Pero
Subject: Re: GNUsteprc location (was: Re: GNUstep.sh / env sanity patches)
Date: Wed, 18 Aug 2004 12:02:15 +0100 (BST)

> > The GNUsteprc is expected to be on a specific location which depends on
> > the platform (for example, /etc/GNUsteprc in linux).  Presumably the
> > hardcoded location of the file can be changed at config time.
> Just an idea:
> If flattened is yes then the GNUsteprc file is in:
> /etc/GNUstep/GNUsteprc
> If non-flattened then:
> /etc/GNUstep/<arch>/GNUsteprc

Ahm.  Fortunately that is not required by design, because you can have fat
binaries, meaning if you are not flattened, a single GNUSTEP_SYSTEM_ROOT
can contain binaries for multiple machines / runtimes / etc.

That means a single GNSUTEP_SYSTEM_ROOT for all machines / runtimes / etc
is enough.

Actually that now makes me think.  If you are not-flattnted and you are
using a non-standard library combo, that should be recorded somewhere.  
The only reasonable place is an environment variable, so probably you need
to use environment variables still to switch between library combos.

Probably when gnustep-make is compiled, it will store the default library
combo in GNusteprc ... but that now generates additional troubles in that
the maekfiles would have to save the environment library combo, then read
the GNUSteprc then if the original environment library combo was set,
override the GNUsteprc one with that one.  Anyway, manaegable.

So the answer is - you'll have a single GNUsteprc per GNUstep
installation.  That file will at least contain where the domains are;  
optionally where the specific library/header dirs are; optionally (if you
are running non-flattened) also the host cpu, os, etc (unless turned off
by a ./configure flag, in which case it has to be manually recomputed by
gnustep-make at each invocation caching between multiple make
invocations), and also the default library-combo (which can still be
overridden by setting an environment variable [this requires a little bit
of manageable make machinery], exactly as it happens now).

If we had non-flattened GNUsteprc well you then have the problem how do 
you know which one is the right one ... you can't before finding GNUsteprc 
which contains the info on the local system.

> One could use a simple var like GNUSTEP_RC to point to the right 
> location. This would even make it possible to have 
> /usr/GNUstep/System/Configuration/GNUsteprc for people that want 
> everything in a single directory.

Yes - good suggestions - that will be possible

> And the $HOME/GNUsteprc or $HOME/GNUstep/Defaults/GNUsteprc overwrites 
> the systemwide ones.

More or less.  I don't think it should allow you to override the
system/local location though, but only the user domain location / user
defaults location.  The system/local location should only be set by the 
main GNUsteprc (whose location you can change with an environment 
variable unless some sort of security locking is built into the executable 
and the executable will refuse to accept your requrest to read a different 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]