Start to update the shell scripts for the new filesystem support. Work in progress, but everything should still work as usual

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@24525 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2007-02-13 14:19:37 +00:00
parent 1fa4b4c868
commit 7d76d18ac2
6 changed files with 252 additions and 0 deletions

View file

@ -1,3 +1,13 @@
2007-02-13 Nicola Pero <nicola.pero@meta-innovation.com>
* filesystem.sh: New file.
* GNUmakefile.in: Install the new file.
* GNUstep.sh.in: Source the new file. At the end, export all of
the new filesystem variables if GNUSTEP_SH_EXPORT_ALL_VARIABLES is
set, or unset them all in the normal situation.
* gnustep-config.in: Use GNUSTEP_SH_EXPORT_ALL_VARIABLES to access
the filesystem variables too.
2007-02-13 Nicola Pero <nicola.pero@meta-innovation.com>
* filesystem.make: Fixed standard subdirectories of Library to

View file

@ -155,6 +155,7 @@ install: generated-files
$(EC)($(INSTALL_PROGRAM) -m 755 GNUstep.sh $(makedir); \
$(INSTALL_PROGRAM) -m 755 GNUstep.csh $(makedir); \
$(INSTALL_PROGRAM) -m 755 fixpath.sh $(makedir); \
$(INSTALL_PROGRAM) -m 755 filesystem.sh $(makedir); \
$(INSTALL_PROGRAM) -m 755 openapp $(tooldir); \
$(INSTALL_PROGRAM) -m 755 opentool $(tooldir); \
$(INSTALL_PROGRAM) -m 755 gnustep-config $(tooldir))

View file

@ -93,6 +93,50 @@ reset_path PATH /Tools
# want to pollute the environment with it.
unset -f reset_path
unset GNUSTEP_SYSTEM_APPS
unset GNUSTEP_SYSTEM_TOOLS
unset GNUSTEP_SYSTEM_LIBRARY
unset GNUSTEP_SYSTEM_HEADERS
unset GNUSTEP_SYSTEM_LIBRARIES
unset GNUSTEP_SYSTEM_RESOURCES
unset GNUSTEP_SYSTEM_JAVA
unset GNUSTEP_SYSTEM_DOCUMENTATION
unset GNUSTEP_SYSTEM_DOCUMENTATION_MAN
unset GNUSTEP_SYSTEM_DOCUMENTATION_INFO
unset GNUSTEP_LOCAL_APPS
unset GNUSTEP_LOCAL_TOOLS
unset GNUSTEP_LOCAL_LIBRARY
unset GNUSTEP_LOCAL_HEADERS
unset GNUSTEP_LOCAL_LIBRARIES
unset GNUSTEP_LOCAL_RESOURCES
unset GNUSTEP_LOCAL_JAVA
unset GNUSTEP_LOCAL_DOCUMENTATION
unset GNUSTEP_LOCAL_DOCUMENTATION_MAN
unset GNUSTEP_LOCAL_DOCUMENTATION_INFO
unset GNUSTEP_NETWORK_APPS
unset GNUSTEP_NETWORK_TOOLS
unset GNUSTEP_NETWORK_LIBRARY
unset GNUSTEP_NETWORK_HEADERS
unset GNUSTEP_NETWORK_LIBRARIES
unset GNUSTEP_NETWORK_RESOURCES
unset GNUSTEP_NETWORK_JAVA
unset GNUSTEP_NETWORK_DOCUMENTATION
unset GNUSTEP_NETWORK_DOCUMENTATION_MAN
unset GNUSTEP_NETWORK_DOCUMENTATION_INFO
unset GNUSTEP_USER_APPS
unset GNUSTEP_USER_TOOLS
unset GNUSTEP_USER_LIBRARY
unset GNUSTEP_USER_HEADERS
unset GNUSTEP_USER_LIBRARIES
unset GNUSTEP_USER_RESOURCES
unset GNUSTEP_USER_JAVA
unset GNUSTEP_USER_DOCUMENTATION
unset GNUSTEP_USER_DOCUMENTATION_MAN
unset GNUSTEP_USER_DOCUMENTATION_INFO
unset GNUSTEP_PATHLIST
unset GNUSTEP_USER_ROOT
unset GNUSTEP_HOST_OS
@ -112,3 +156,4 @@ unset GNUSTEP_CONFIG_FILE
unset GNUSTEP_USER_CONFIG_FILE
unset GNUSTEP_USER_DIR
unset GNUSTEP_USER_DEFAULTS_DIR

View file

@ -204,11 +204,22 @@ fi
export GNUSTEP_HOST GNUSTEP_HOST_CPU GNUSTEP_HOST_VENDOR GNUSTEP_HOST_OS
# Now load in all the remaining paths
. $GNUSTEP_MAKEFILES/filesystem.sh
#
# TODO: From here on, we need to update all code to use the new filesystem
# variables rather than using hardcoded library/java/info/etc locations
#
#
# GNUSTEP_PATHLIST is like an abstract path-like shell
# variable, which can be used to search the gnustep directories - and
# in these scripts, it is also used to set up other shell variables
#
# TODO: GNUSTEP_PATHLIST will be deprecated - maybe we ought have
# separate pathlists for Library/Headers/Tools/Libraries/xxx directories
# though so that people can use them.
if [ -z "$GNUSTEP_PATHLIST" ]; then
# If we need to convert win32 paths, this is the time!
@ -397,6 +408,74 @@ if [ -f "$GNUSTEP_USER_ROOT/GNUstep.sh" ]; then
. "$GNUSTEP_USER_ROOT/GNUstep.sh"
fi
#
# Clean up the environment by removing the filesystem variables. Do
# it unless we were explicitly requirested not to clean it up! Mostly
# gnustep-config will request that the environment is not cleaned up,
# so it can print out all of the GNUstep variables.
#
if [ -n "$GNUSTEP_SH_EXPORT_ALL_VARIABLES" ]; then
export GNUSTEP_SYSTEM_APPS GNUSTEP_SYSTEM_TOOLS GNUSTEP_SYSTEM_LIBRARY
export GNUSTEP_SYSTEM_HEADERS GNUSTEP_SYSTEM_LIBRARIES GNUSTEP_SYSTEM_RESOURCES GNUSTEP_SYSTEM_JAVA
export GNUSTEP_SYSTEM_DOCUMENTATION GNUSTEP_SYSTEM_DOCUMENTATION_MAN GNUSTEP_SYSTEM_DOCUMENTATION_INFO
export GNUSTEP_LOCAL_APPS GNUSTEP_LOCAL_TOOLS GNUSTEP_LOCAL_LIBRARY
export GNUSTEP_LOCAL_HEADERS GNUSTEP_LOCAL_LIBRARIES GNUSTEP_LOCAL_RESOURCES GNUSTEP_LOCAL_JAVA
export GNUSTEP_LOCAL_DOCUMENTATION GNUSTEP_LOCAL_DOCUMENTATION_MAN GNUSTEP_LOCAL_DOCUMENTATION_INFO
export GNUSTEP_NETWORK_APPS GNUSTEP_NETWORK_TOOLS GNUSTEP_NETWORK_LIBRARY
export GNUSTEP_NETWORK_HEADERS GNUSTEP_NETWORK_LIBRARIES GNUSTEP_NETWORK_RESOURCES GNUSTEP_NETWORK_JAVA
export GNUSTEP_NETWORK_DOCUMENTATION GNUSTEP_NETWORK_DOCUMENTATION_MAN GNUSTEP_NETWORK_DOCUMENTATION_INFO
export GNUSTEP_USER_APPS GNUSTEP_USER_TOOLS GNUSTEP_USER_LIBRARY
export GNUSTEP_USER_HEADERS GNUSTEP_USER_LIBRARIES GNUSTEP_USER_RESOURCES GNUSTEP_USER_JAVA
export GNUSTEP_USER_DOCUMENTATION GNUSTEP_USER_DOCUMENTATION_MAN GNUSTEP_USER_DOCUMENTATION_INFO
else
unset GNUSTEP_SYSTEM_APPS
unset GNUSTEP_SYSTEM_TOOLS
unset GNUSTEP_SYSTEM_LIBRARY
unset GNUSTEP_SYSTEM_HEADERS
unset GNUSTEP_SYSTEM_LIBRARIES
unset GNUSTEP_SYSTEM_RESOURCES
unset GNUSTEP_SYSTEM_JAVA
unset GNUSTEP_SYSTEM_DOCUMENTATION
unset GNUSTEP_SYSTEM_DOCUMENTATION_MAN
unset GNUSTEP_SYSTEM_DOCUMENTATION_INFO
unset GNUSTEP_LOCAL_APPS
unset GNUSTEP_LOCAL_TOOLS
unset GNUSTEP_LOCAL_LIBRARY
unset GNUSTEP_LOCAL_HEADERS
unset GNUSTEP_LOCAL_LIBRARIES
unset GNUSTEP_LOCAL_RESOURCES
unset GNUSTEP_LOCAL_JAVA
unset GNUSTEP_LOCAL_DOCUMENTATION
unset GNUSTEP_LOCAL_DOCUMENTATION_MAN
unset GNUSTEP_LOCAL_DOCUMENTATION_INFO
unset GNUSTEP_NETWORK_APPS
unset GNUSTEP_NETWORK_TOOLS
unset GNUSTEP_NETWORK_LIBRARY
unset GNUSTEP_NETWORK_HEADERS
unset GNUSTEP_NETWORK_LIBRARIES
unset GNUSTEP_NETWORK_RESOURCES
unset GNUSTEP_NETWORK_JAVA
unset GNUSTEP_NETWORK_DOCUMENTATION
unset GNUSTEP_NETWORK_DOCUMENTATION_MAN
unset GNUSTEP_NETWORK_DOCUMENTATION_INFO
unset GNUSTEP_USER_APPS
unset GNUSTEP_USER_TOOLS
unset GNUSTEP_USER_LIBRARY
unset GNUSTEP_USER_HEADERS
unset GNUSTEP_USER_LIBRARIES
unset GNUSTEP_USER_RESOURCES
unset GNUSTEP_USER_JAVA
unset GNUSTEP_USER_DOCUMENTATION
unset GNUSTEP_USER_DOCUMENTATION_MAN
unset GNUSTEP_USER_DOCUMENTATION_INFO
fi
if [ -n "$GS_ZSH_NEED_TO_RESTORE_SET" ]; then
set +y
fi

115
filesystem.sh Normal file
View file

@ -0,0 +1,115 @@
#! /bin/echo This file must be sourced inside (ba)sh using: .
# filesystem.sh
#
# Sets up the GNUstep filesystem paths for shell scripts
#
# Copyright (C) 2007 Free Software Foundation, Inc.
#
# Author: Nicola Pero <nicola.pero@meta-innovation.com>,
#
# Date: February 2007
#
# This file is part of the GNUstep Makefile Package.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# You should have received a copy of the GNU General Public
# License along with this library; see the file COPYING.LIB.
# If not, write to the Free Software Foundation,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# This does the same that filesystem.make does, but for GNUstep.sh.
# Include this file after reading your config to make sure that all
# the paths are available.
#
# PS: If you change this list, make sure that top update the list of
# paths used in all other filesystem.*, and in common.make when
# GNUSTEP_INSTALLATION_DIR is set.
#
# PS: We don't want to define these variables to avoid extreme
# environment pollution. :-) They are fixed subdirs of LIBRARY if you
# need them.
#GNUSTEP_SYSTEM_APPLICATION_SUPPORT = $GNUSTEP_SYSTEM_LIBRARY/ApplicationSupport
#GNUSTEP_SYSTEM_BUNDLES = $GNUSTEP_SYSTEM_LIBRARY/Bundles
#GNUSTEP_SYSTEM_FRAMEWORKS = $GNUSTEP_SYSTEM_LIBRARY/Frameworks
#GNUSTEP_SYSTEM_PALETTES = $GNUSTEP_SYSTEM_LIBRARY/ApplicationSupport/Palettes
#GNUSTEP_SYSTEM_SERVICES = $GNUSTEP_SYSTEM_LIBRARY/Services
#
# SYSTEM domain
#
if [ -z "$GNUSTEP_SYSTEM_APPS" ]; then GNUSTEP_SYSTEM_APPS="$GNUSTEP_SYSTEM_ROOT/Applications"; fi
if [ -z "$GNUSTEP_SYSTEM_TOOLS" ]; then GNUSTEP_SYSTEM_TOOLS="$GNUSTEP_SYSTEM_ROOT/Tools"; fi
if [ -z "$GNUSTEP_SYSTEM_LIBRARY" ]; then GNUSTEP_SYSTEM_LIBRARY="$GNUSTEP_SYSTEM_ROOT/Library"; fi
if [ "$GNUSTEP_IS_FLATTENED" = "yes" ]; then
if [ -z "$GNUSTEP_SYSTEM_HEADERS" ]; then GNUSTEP_SYSTEM_HEADERS="$GNUSTEP_SYSTEM_ROOT/Library/Headers"; fi
else
if [ -z "$GNUSTEP_SYSTEM_HEADERS" ]; then GNUSTEP_SYSTEM_HEADERS="$GNUSTEP_SYSTEM_ROOT/Library/Headers/$LIBRARY_COMBO"; fi
fi
if [ -z "$GNUSTEP_SYSTEM_LIBRARIES" ]; then GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_LIBRARY/Libraries/"; fi
if [ -z "$GNUSTEP_SYSTEM_RESOURCES" ]; then GNUSTEP_SYSTEM_RESOURCES="$GNUSTEP_SYSTEM_LIBRARY/Libraries/Resources"; fi
if [ -z "$GNUSTEP_SYSTEM_JAVA" ]; then GNUSTEP_SYSTEM_JAVA="$GNUSTEP_SYSTEM_LIBRARY/Libraries/Java"; fi
if [ -z "$GNUSTEP_SYSTEM_DOCUMENTATION" ]; then GNUSTEP_SYSTEM_DOCUMENTATION="$GNUSTEP_SYSTEM_LIBRARY/Documentation"; fi
if [ -z "$GNUSTEP_SYSTEM_DOCUMENTATION_MAN" ]; then GNUSTEP_SYSTEM_DOCUMENTATION_MAN="$GNUSTEP_SYSTEM_DOCUMENTATION/man"; fi
if [ -z "$GNUSTEP_SYSTEM_DOCUMENTATION_INFO" ]; then GNUSTEP_SYSTEM_DOCUMENTATION_INFO="$GNUSTEP_SYSTEM_DOCUMENTATION/info"; fi
#
# LOCAL domain
#
if [ -z "$GNUSTEP_LOCAL_APPS" ]; then GNUSTEP_LOCAL_APPS="$GNUSTEP_LOCAL_ROOT/Applications"; fi
if [ -z "$GNUSTEP_LOCAL_TOOLS" ]; then GNUSTEP_LOCAL_TOOLS="$GNUSTEP_LOCAL_ROOT/Tools"; fi
if [ -z "$GNUSTEP_LOCAL_LIBRARY" ]; then GNUSTEP_LOCAL_LIBRARY="$GNUSTEP_LOCAL_ROOT/Library"; fi
if [ "$GNUSTEP_IS_FLATTENED" = "yes" ]; then
if [ -z "$GNUSTEP_LOCAL_HEADERS" ]; then GNUSTEP_LOCAL_HEADERS="$GNUSTEP_LOCAL_ROOT/Library/Headers"; fi
else
if [ -z "$GNUSTEP_LOCAL_HEADERS" ]; then GNUSTEP_LOCAL_HEADERS="$GNUSTEP_LOCAL_ROOT/Library/Headers/$LIBRARY_COMBO"; fi
fi
if [ -z "$GNUSTEP_LOCAL_LIBRARIES" ]; then GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_LIBRARY/Libraries/"; fi
if [ -z "$GNUSTEP_LOCAL_RESOURCES" ]; then GNUSTEP_LOCAL_RESOURCES="$GNUSTEP_LOCAL_LIBRARY/Libraries/Resources"; fi
if [ -z "$GNUSTEP_LOCAL_JAVA" ]; then GNUSTEP_LOCAL_JAVA="$GNUSTEP_LOCAL_LIBRARY/Libraries/Java"; fi
if [ -z "$GNUSTEP_LOCAL_DOCUMENTATION" ]; then GNUSTEP_LOCAL_DOCUMENTATION="$GNUSTEP_LOCAL_LIBRARY/Documentation"; fi
if [ -z "$GNUSTEP_LOCAL_DOCUMENTATION_MAN" ]; then GNUSTEP_LOCAL_DOCUMENTATION_MAN="$GNUSTEP_LOCAL_DOCUMENTATION/man"; fi
if [ -z "$GNUSTEP_LOCAL_DOCUMENTATION_INFO" ]; then GNUSTEP_LOCAL_DOCUMENTATION_INFO="$GNUSTEP_LOCAL_DOCUMENTATION/info"; fi
#
# NETWORK domain
#
if [ -z "$GNUSTEP_NETWORK_APPS" ]; then GNUSTEP_NETWORK_APPS="$GNUSTEP_NETWORK_ROOT/Applications"; fi
if [ -z "$GNUSTEP_NETWORK_TOOLS" ]; then GNUSTEP_NETWORK_TOOLS="$GNUSTEP_NETWORK_ROOT/Tools"; fi
if [ -z "$GNUSTEP_NETWORK_LIBRARY" ]; then GNUSTEP_NETWORK_LIBRARY="$GNUSTEP_NETWORK_ROOT/Library"; fi
if [ "$GNUSTEP_IS_FLATTENED" = "yes" ]; then
if [ -z "$GNUSTEP_NETWORK_HEADERS" ]; then GNUSTEP_NETWORK_HEADERS="$GNUSTEP_NETWORK_ROOT/Library/Headers"; fi
else
if [ -z "$GNUSTEP_NETWORK_HEADERS" ]; then GNUSTEP_NETWORK_HEADERS="$GNUSTEP_NETWORK_ROOT/Library/Headers/$LIBRARY_COMBO"; fi
fi
if [ -z "$GNUSTEP_NETWORK_LIBRARIES" ]; then GNUSTEP_NETWORK_LIBRARIES="$GNUSTEP_NETWORK_LIBRARY/Libraries/"; fi
if [ -z "$GNUSTEP_NETWORK_RESOURCES" ]; then GNUSTEP_NETWORK_RESOURCES="$GNUSTEP_NETWORK_LIBRARY/Libraries/Resources"; fi
if [ -z "$GNUSTEP_NETWORK_JAVA" ]; then GNUSTEP_NETWORK_JAVA="$GNUSTEP_NETWORK_LIBRARY/Libraries/Java"; fi
if [ -z "$GNUSTEP_NETWORK_DOCUMENTATION" ]; then GNUSTEP_NETWORK_DOCUMENTATION="$GNUSTEP_NETWORK_LIBRARY/Documentation"; fi
if [ -z "$GNUSTEP_NETWORK_DOCUMENTATION_MAN" ]; then GNUSTEP_NETWORK_DOCUMENTATION_MAN="$GNUSTEP_NETWORK_DOCUMENTATION/man"; fi
if [ -z "$GNUSTEP_NETWORK_DOCUMENTATION_INFO" ]; then GNUSTEP_NETWORK_DOCUMENTATION_INFO="$GNUSTEP_NETWORK_DOCUMENTATION/info"; fi
#
# USER domain
#
if [ -z "$GNUSTEP_USER_APPS" ]; then GNUSTEP_USER_APPS="$GNUSTEP_USER_ROOT/Applications"; fi
if [ -z "$GNUSTEP_USER_TOOLS" ]; then GNUSTEP_USER_TOOLS="$GNUSTEP_USER_ROOT/Tools"; fi
if [ -z "$GNUSTEP_USER_LIBRARY" ]; then GNUSTEP_USER_LIBRARY="$GNUSTEP_USER_ROOT/Library"; fi
if [ "$GNUSTEP_IS_FLATTENED" = "yes" ]; then
if [ -z "$GNUSTEP_USER_HEADERS" ]; then GNUSTEP_USER_HEADERS="$GNUSTEP_USER_ROOT/Library/Headers"; fi
else
if [ -z "$GNUSTEP_USER_HEADERS" ]; then GNUSTEP_USER_HEADERS="$GNUSTEP_USER_ROOT/Library/Headers/$LIBRARY_COMBO"; fi
fi
if [ -z "$GNUSTEP_USER_LIBRARIES" ]; then GNUSTEP_USER_LIBRARIES="$GNUSTEP_USER_LIBRARY/Libraries/"; fi
if [ -z "$GNUSTEP_USER_RESOURCES" ]; then GNUSTEP_USER_RESOURCES="$GNUSTEP_USER_LIBRARY/Libraries/Resources"; fi
if [ -z "$GNUSTEP_USER_JAVA" ]; then GNUSTEP_USER_JAVA="$GNUSTEP_USER_LIBRARY/Libraries/Java"; fi
if [ -z "$GNUSTEP_USER_DOCUMENTATION" ]; then GNUSTEP_USER_DOCUMENTATION="$GNUSTEP_USER_LIBRARY/Documentation"; fi
if [ -z "$GNUSTEP_USER_DOCUMENTATION_MAN" ]; then GNUSTEP_USER_DOCUMENTATION_MAN="$GNUSTEP_USER_DOCUMENTATION/man"; fi
if [ -z "$GNUSTEP_USER_DOCUMENTATION_INFO" ]; then GNUSTEP_USER_DOCUMENTATION_INFO="$GNUSTEP_USER_DOCUMENTATION/info"; fi

View file

@ -113,7 +113,9 @@ fi
#
# Else, now read all the standard GNUstep config
#
GNUSTEP_SH_EXPORT_ALL_VARIABLES=yes
. $GNUSTEP_MAKEFILES/GNUstep.sh
unset GNUSTEP_SH_EXPORT_ALL_VARIABLES
#
# Now print whatever variable they asked for