gnustep-dev
[Top][All Lists]
Advanced

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

Re: GNUSTEP_INSTALLATION_DOMAIN


From: Richard Frith-Macdonald
Subject: Re: GNUSTEP_INSTALLATION_DOMAIN
Date: Tue, 10 Oct 2006 05:34:53 +0100


On 9 Oct 2006, at 16:17, Nicola Pero wrote:

I'd like to propose a new option for gnustep-make ...

GNUSTEP_INSTALLATION_DOMAIN

which could take the values SYSTEM / LOCAL / NETWORK / USER.

This option can only be set on the command line, or before including
common.make ...
but using it in GNUmakefiles should be discouraged as all packages should
install by default
in the default locations ... except for maybe gnustep-base :-)

How would the default locations be defined ... I don't think we want the default location for the stuff currently installed in /usr/ GNUstep/System or /usr/GNUstep/Local to suddenly be ~/GNUstep

The meaning of the option is obvious ... it would determine if we install
into
System/Local/Network/User (currently you use GNUSTEP_INSTALLATION_DIR for
this).

The advantage of this option is that it could work with the Unix (or
generally 'native')
filesystem support ... eg, on GNU/Linux,

 make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM

would install stuff in /usr, while

 make GNUSTEP_INSTALLATION_DOMAIN=LOCAL

would install stuff in /usr/local.

How would that behavior be defined ... eg how do we specify whether the SYSTEM domain is /usr rather than /usr/GNUstep/System? Simply by a configure-time option to gnustep-make to define the filesystem layout make is to use?

We'd still keep GNUSTEP_INSTALLATION_DIR, but only in the situations that
used to work
(ie, GNUstep or Apple filesystem layout), and it would be discouraged to set
GNUSTEP_INSTALLATION_DIR inside GNUmakefiles themselves.

In general, GNUSTEP_INSTALLATION_DIR doesn't work well with the more
flexible directory layout.

Most of the times you want to set GNUSTEP_INSTALLATION_DIR to
GNUSTEP_SYSTEM_ROOT, for example,
but that variable is no longer defined until later inside the GNUmakefiles
(you're no longer
supposed to have sourced GNUstep.sh!), and moreover, it might not even
have much sense if the
filesystem is not the GNUstep one.

GNUSTEP_INSTALLATION_DOMAIN would let you do the same things, but could be
made to work in
more general contexts. :-)

I'm  not sure I understand ...
Your examples are setting the domain from the command line, but I would have thought that doing it inside the makefile would be common.

That is to say, most packages would want to be installed in the LOCAL domain, core packages in the SYSTEM domain, and new code that users par developing would probably want to be in the USER domain by default ... but you wouldn't want to have to remember to set a command-line option to control that every time you typed 'make'.

Is the idea that makefiles would contain code to set the domain if it had not already been set at the command line?
eg in the base library makefile something like

ifeq ($(GNUSTEP_INSTALLATION_DOMAIN),)
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM
endif

or perhaps
GNUSTEP_DEFAULT_INSTALLATION_DOMAIN=SYSTEM

?






reply via email to

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