Implemented GNUSTEP_INSTALLATION_DOMAIN, removed message suggesting usage of GNUSTEP_INSTALLATION_DIR

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@23836 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2006-10-10 12:49:39 +00:00
parent d79999f06f
commit 5b1a476533
3 changed files with 80 additions and 30 deletions

View file

@ -1,3 +1,13 @@
2006-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
To install software in a certain GNUstep domain, the recommended
way is now as in 'GNUSTEP_INSTALLATION_DOMAIN = SYSTEM'.
* common.make: Implemented new GNUSTEP_INSTALLATION_DOMAIN
variable.
* Master/rules.make (internal-check-install-permissions): Removed
help message that was suggesting to use GNUSTEP_INSTALLATION_DIR.
2006-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
* common.make: Add DESTDIR only on the very topmost invocation.

View file

@ -105,16 +105,6 @@ internal-all::
after-all::
# In case of problems, we print a message trying to educate the user
# about how to install elsewhere, except if the installation dir is
# GNUSTEP_SYSTEM_ROOT, in that case we don't want to suggest to
# install the software elsewhere, because it is likely to be system
# software like the gnustep-base library. NB: the check of
# GNUSTEP_INSTALLATION_DIR against GNUSTEP_SYSTEM_ROOT is not perfect
# as /usr/GNUstep/System/ might not match /usr/GNUstep/System (note
# the missing '/' at the end) but what we really want to catch is the
# GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT) command in the
# makefiles, and the check of course works with it.
internal-check-install-permissions:
@if [ -d "$(GNUSTEP_INSTALLATION_DIR)" \
-a ! -w "$(GNUSTEP_INSTALLATION_DIR)" ]; then \
@ -122,22 +112,6 @@ internal-check-install-permissions:
echo "but you do not have permissions to write in that directory:";\
echo "Aborting installation."; \
echo ""; \
if [ "$(GNUSTEP_INSTALLATION_DIR)" != "$(GNUSTEP_SYSTEM_ROOT)" ]; then \
echo "Suggestion: if you can't get permissions to install there, you can try";\
echo "to install the software in a different directory by setting";\
echo "GNUSTEP_INSTALLATION_DIR. For example, to install into";\
echo "$(GNUSTEP_USER_ROOT), which is your own GNUstep directory, just type"; \
echo ""; \
echo "make install GNUSTEP_INSTALLATION_DIR=\"$(GNUSTEP_USER_ROOT)\""; \
echo ""; \
echo "You should always be able to install into $(GNUSTEP_USER_ROOT),";\
echo "so this might be a good option. The other meaningful values for";\
echo "GNUSTEP_INSTALLATION_DIR on your system are:";\
echo "$(GNUSTEP_SYSTEM_ROOT) (the System directory)";\
echo "$(GNUSTEP_LOCAL_ROOT) (the Local directory)";\
echo "$(GNUSTEP_NETWORK_ROOT) (the Network directory)";\
echo "but you might need special permissions to install in those directories.";\
fi; \
exit 1; \
fi

View file

@ -156,11 +156,69 @@ endif
include $(GNUSTEP_MAKEFILES)/target.make
#
# GNUSTEP_INSTALLATION_DIR is the directory where all the things go. If you
# don't specify it defaults to GNUSTEP_LOCAL_ROOT.
# GNUSTEP_INSTALLATION_DOMAIN is the domain where all things go. This
# is the variable you should use to specify where you want things to
# be installed. Valid values are SYSTEM, LOCAL, NETWORK and USER,
# corresponding to the various domains. If you don't specify it, it
# defaults to LOCAL.
#
ifeq ($(GNUSTEP_INSTALLATION_DOMAIN), )
GNUSTEP_INSTALLATION_DOMAIN = LOCAL
endif
# Safety check. Very annoying when you mistype and you end up
# installing into /. ;-)
ifneq ($(GNUSTEP_INSTALLATION_DOMAIN), SYSTEM)
ifneq ($(GNUSTEP_INSTALLATION_DOMAIN), LOCAL)
ifneq ($(GNUSTEP_INSTALLATION_DOMAIN), NETWORK)
ifneq ($(GNUSTEP_INSTALLATION_DOMAIN), USER)
$(error "Invalid value '$(GNUSTEP_INSTALLATION_DOMAIN)' for GNUSTEP_INSTALLATION_DOMAIN. Valid values are SYSTEM, LOCAL, NETWORK and USER")
endif
endif
endif
endif
#
# GNUSTEP_INSTALLATION_DIR is an older mechanism for specifying
# where things should be installed. It is expected to be a
# fixed absolute path rather than a logical domain. You shouldn't
# normally use it, but might be handy if you need to force things.
#
# If GNUSTEP_INSTALLATION_DIR is set, we automatically install
# everything in the GNUstep filesystem domain structure in the
# specified directory. If the GNUstep filesystem structure is used,
# then GNUSTEP_INSTALLATION_DOMAIN = SYSTEM is the same as
# GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT).
#
# Please note that GNUSTEP_INSTALLATION_DIR overrides
# GNUSTEP_INSTALLATION_DOMAIN.
#
#
# This is a temporary implementation that only supports the GNUstep
# filesystem structure. So we just convert
# GNUSTEP_INSTALLATION_DOMAIN into a GNUSTEP_INSTALLATION_DIR, and
# then use GNUSTEP_INSTALLATION_DIR later on to define all the install
# locations.
#
# GNUSTEP_INSTALLATION_DIR overrides GNUSTEP_INSTALLATION_DOMAIN
ifeq ($(GNUSTEP_INSTALLATION_DIR),)
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_LOCAL_ROOT)
ifeq ($(GNUSTEP_INSTALLATION_DOMAIN), SYSTEM)
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)
endif
ifeq ($(GNUSTEP_INSTALLATION_DOMAIN), LOCAL)
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_LOCAL_ROOT)
endif
ifeq ($(GNUSTEP_INSTALLATION_DOMAIN), NETWORK)
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_NETWORK_ROOT)
endif
ifeq ($(GNUSTEP_INSTALLATION_DOMAIN), USER)
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_USER_ROOT)
endif
endif
#
@ -181,7 +239,15 @@ endif
export GNUSTEP_INSTALLATION_DIR
#
# Variables specifying the installation directory paths
# Variables specifying the installation directory paths.
#
# TODO: To support the 'native' filesystem structure, a list of such
# memorable directory locations will be stored in GNUstep.conf. This
# list might (FIXME) presumably follow the GNU Coding Standards for
# install locations (eg, bindir, etc) if it makes sense. Then we set
# the following variables by using the install locations from
# GNUstep.conf that are relevant to the domain where we are installing
# to.
#
GNUSTEP_APPS = $(GNUSTEP_INSTALLATION_DIR)/Applications
GNUSTEP_TOOLS = $(GNUSTEP_INSTALLATION_DIR)/Tools