gnustep-dev
[Top][All Lists]
Advanced

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

Re: ^M in gstep-make


From: Nicola Pero
Subject: Re: ^M in gstep-make
Date: Fri, 5 Apr 2002 16:50:43 +0100 (BST)

<Cc:ing gnustep-dev list>

> Actually, If it wasn't for performance considerations within the make 
> package, I'd say we
> should remove the GNUSTEP_USER_ROOT environment variable entirely, to 
> avoid any possible
> confusion (libFoundation could define it itsself of course).

Yes - currently gnustep-base can determine the gnustep user root (and user
defaults root) without using shell variables.  It uses ~/GNUstep, and that
is configurable by each user by editing ~/.GNUsteprc.  This is much more
flexible, powerful and portable.  It doesn't depend on configuration
scripts (GNUstep.sh) being run at startup.  [Btw - we also ignore
GNUSTEP_PATHPREFIX_LIST, and try to guess GNUSTEP_SYSTEM_ROOT,
GNUSTEP_LOCAL_ROOT and GNUSTEP_NETWORK_ROOT when starting up - if they're
not in the shell env -, so that potentially you could run gnustpe-base
programs without even having set up those shell variables (ie, without
running GNUstep.sh), or with trivial definitions.  That is generally good
in helping portability.]

But because gnustep-make needs access to that directory too, and because
we can't have gnsutep-make depend on gnustep-base, we have extracted the
little bit of gnustep-base determining the directory from gnustep-base and
put it into user_home.

Basically, gnustep-make should call 'user_home' each time it is run to
determine that user-specific directory.  user_home reads that from
.GNUsteprc.

So - GNUSTEP_USER_ROOT is totally unused and useless ... except for
performance reasons we don't want to call 'user_home' each time 'make' is
run: gnustep-make caches it inside the GNUSTEP_USER_ROOT variable at
startup time inside GNUstep.sh.  But the GNUSTEP_USER_ROOT variable is
just a cache in the shell environment, for that specific user, of the
results of calling user_home username.  You no longer configure the user
gnustep user root by changing GNUSTEP_USER_ROOT, but rather by editing
~/.GNUsteprc (which causes user_home username to return something
different), then resetting your gnustep env to match.




reply via email to

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