More work on filesystem support

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@24545 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2007-02-14 05:47:05 +00:00
parent 24fccfa548
commit 19148d443d
7 changed files with 239 additions and 171 deletions

View file

@ -1,3 +1,15 @@
2007-02-14 Nicola Pero <nicola.pero@meta-innovation.com>
* filesystem.sh.in: Unset all GNUSTEP_USER_DIR_* variables
after using them.
* GNUmakefile.in: Install print_unique_pathlist.sh.
* print_unique_pathlist.sh: New file.
* GNUstep.sh.in: Updated for new filesystem support.
* GNUstep.csh.in: Updated for new filesystem support. Use
unsetenv consistently for all the filesystem variables.
* filesystem.csh.in: Use setenv/unsetenv for all variables for
consistency with the config files.
2007-02-14 Nicola Pero <nicola.pero@meta-innovation.com>
* common.make: Moved top-level PATH sanity check at the end of the

View file

@ -146,7 +146,7 @@ install: generated-files
$(EC)(echo "Installing gnustep-make support software")
$(EC)(for f in config.guess config.sub install-sh mkinstalldirs \
clean_cpu.sh clean_os.sh \
clean_vendor.sh cpu.sh os.sh vendor.sh \
clean_vendor.sh cpu.sh os.sh vendor.sh print_unique_pathlist.sh \
relative_path.sh strip_makefiles.sh debugapp; do \
$(INSTALL_PROGRAM) -m 755 $(srcdir)/$$f $(makedir); \
done)

View file

@ -173,20 +173,27 @@ source "${GNUSTEP_MAKEFILES}/filesystem.csh"
# No longer needed
unset GNUSTEP_HOME
# Determine if the paths look like Windows paths that need fixing
set fixup_paths=no
if ( `echo $GNUSTEP_MAKEFILES | sed 's|^[a-zA-Z]:/.*$||'` == "" ) then
set fixup_paths=yes
endif
#
# Add the GNUstep tools directories to the path
#
if ( ! ${?GNUSTEP_PATHLIST} ) then
setenv GNUSTEP_PATHLIST \
"${GNUSTEP_USER_ROOT}:${GNUSTEP_LOCAL_ROOT}:${GNUSTEP_NETWORK_ROOT}:${GNUSTEP_SYSTEM_ROOT}"
setenv GNUSTEP_PATHLIST `$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_ROOT" "$GNUSTEP_LOCAL_ROOT" "$GNUSTEP_NETWORK_ROOT" "$GNUSTEP_SYSTEM_ROOT" $fixup_paths`
endif
set GNUSTEP_TOOLS_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_TOOLS" "$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_SYSTEM_TOOLS" $fixup_paths`
set temp_path = ""
foreach dir ( `/bin/sh -c 'IFS=:; for i in ${GNUSTEP_PATHLIST}; do echo $i; done'` )
set temp_path="${temp_path}${dir}/Tools:"
foreach dir ( `/bin/sh -c 'IFS=:; for i in ${GNUSTEP_TOOLS_PATHLIST}; do echo $i; done'` )
set temp_path="${temp_path}${dir}:"
if ( "${GNUSTEP_IS_FLATTENED}" == "no" ) then
set temp_path="${temp_path}${dir}/Tools/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}/${LIBRARY_COMBO}:"
set temp_path="${temp_path}${dir}/Tools/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}:"
set temp_path="${temp_path}${dir}/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}/${LIBRARY_COMBO}:"
set temp_path="${temp_path}${dir}/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}:"
endif
end
@ -196,11 +203,11 @@ else if ( { (echo "$PATH" | fgrep -v "$temp_path" >/dev/null) } ) then
setenv PATH "${temp_path}${PATH}"
endif
unset temp_path dir
unset GNUSTEP_TOOLS_PATHLIST
source "${GNUSTEP_MAKEFILES}/ld_lib_path.csh"
# FIXME/TODO - use GNUSTEP_PATHLIST here
set gnustep_class_path="${GNUSTEP_USER_ROOT}/Library/Libraries/Java:${GNUSTEP_LOCAL_ROOT}/Library/Libraries/Java:${GNUSTEP_NETWORK_ROOT}/Library/Libraries/Java:${GNUSTEP_SYSTEM_ROOT}/Library/Libraries/Java"
set gnustep_class_path=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_LIBRARY/Libraries/Java" "$GNUSTEP_LOCAL_LIBRARY/Libraries/Java" "$GNUSTEP_NETWORK_LIBRARY/Libraries/Java" "$GNUSTEP_SYSTEM_LIBRARY/Libraries/Java" $fixup_paths`
if ( ! ${?CLASSPATH} ) then
setenv CLASSPATH "${gnustep_class_path}"
@ -210,7 +217,7 @@ endif
unset gnustep_class_path
set gnustep_guile_path="${GNUSTEP_USER_ROOT}/Library/Libraries/Guile:${GNUSTEP_LOCAL_ROOT}/Library/Libraries/Guile:${GNUSTEP_NETWORK_ROOT}/Library/Libraries/Guile:${GNUSTEP_SYSTEM_ROOT}/Library/Libraries/Guile"
set gnustep_guile_path=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_LIBRARY/Libraries/Guile" "$GNUSTEP_LOCAL_LIBRARY/Libraries/Guile" "$GNUSTEP_NETWORK_LIBRARY/Libraries/Guile" "$GNUSTEP_SYSTEM_LIBRARY/Libraries/Guile" $fixup_paths`
if ( ! ${?GUILE_LOAD_PATH} ) then
setenv GUILE_LOAD_PATH "${gnustep_guile_path}"
@ -220,7 +227,7 @@ endif
unset gnustep_guile_path
set gnustep_info_path="${GNUSTEP_USER_ROOT}/Library/Documentation/info:${GNUSTEP_LOCAL_ROOT}/Library/Documentation/info:${GNUSTEP_NETWORK_ROOT}/Library/Documentation/info:${GNUSTEP_SYSTEM_ROOT}/Library/Documentation/info"
set gnustep_info_path=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_DOCUMENTATION_INFO" "$GNUSTEP_LOCAL_DOCUMENTATION_INFO" "$GNUSTEP_NETWORK_DOCUMENTATION_INFO" "$GNUSTEP_SYSTEM_DOCUMENTATION_INFO" $fixup_paths`
if ( ! ${?INFOPATH} ) then
setenv INFOPATH "${gnustep_info_path}:"
@ -237,38 +244,38 @@ if ( -e "$GNUSTEP_USER_ROOT/GNUstep.csh" ) then
source "$GNUSTEP_USER_ROOT/GNUstep.csh"
endif
unset GNUSTEP_SYSTEM_APPS
unset GNUSTEP_SYSTEM_TOOLS
unset GNUSTEP_SYSTEM_LIBRARY
unset GNUSTEP_SYSTEM_HEADERS
unset GNUSTEP_SYSTEM_LIBRARIES
unset GNUSTEP_SYSTEM_DOCUMENTATION
unset GNUSTEP_SYSTEM_DOCUMENTATION_MAN
unset GNUSTEP_SYSTEM_DOCUMENTATION_INFO
unsetenv GNUSTEP_SYSTEM_APPS
unsetenv GNUSTEP_SYSTEM_TOOLS
unsetenv GNUSTEP_SYSTEM_LIBRARY
unsetenv GNUSTEP_SYSTEM_HEADERS
unsetenv GNUSTEP_SYSTEM_LIBRARIES
unsetenv GNUSTEP_SYSTEM_DOCUMENTATION
unsetenv GNUSTEP_SYSTEM_DOCUMENTATION_MAN
unsetenv 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_DOCUMENTATION
unset GNUSTEP_LOCAL_DOCUMENTATION_MAN
unset GNUSTEP_LOCAL_DOCUMENTATION_INFO
unsetenv GNUSTEP_LOCAL_APPS
unsetenv GNUSTEP_LOCAL_TOOLS
unsetenv GNUSTEP_LOCAL_LIBRARY
unsetenv GNUSTEP_LOCAL_HEADERS
unsetenv GNUSTEP_LOCAL_LIBRARIES
unsetenv GNUSTEP_LOCAL_DOCUMENTATION
unsetenv GNUSTEP_LOCAL_DOCUMENTATION_MAN
unsetenv 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_DOCUMENTATION
unset GNUSTEP_NETWORK_DOCUMENTATION_MAN
unset GNUSTEP_NETWORK_DOCUMENTATION_INFO
unsetenv GNUSTEP_NETWORK_APPS
unsetenv GNUSTEP_NETWORK_TOOLS
unsetenv GNUSTEP_NETWORK_LIBRARY
unsetenv GNUSTEP_NETWORK_HEADERS
unsetenv GNUSTEP_NETWORK_LIBRARIES
unsetenv GNUSTEP_NETWORK_DOCUMENTATION
unsetenv GNUSTEP_NETWORK_DOCUMENTATION_MAN
unsetenv 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_DOCUMENTATION
unset GNUSTEP_USER_DOCUMENTATION_MAN
unset GNUSTEP_USER_DOCUMENTATION_INFO
unsetenv GNUSTEP_USER_APPS
unsetenv GNUSTEP_USER_TOOLS
unsetenv GNUSTEP_USER_LIBRARY
unsetenv GNUSTEP_USER_HEADERS
unsetenv GNUSTEP_USER_LIBRARIES
unsetenv GNUSTEP_USER_DOCUMENTATION
unsetenv GNUSTEP_USER_DOCUMENTATION_MAN
unsetenv GNUSTEP_USER_DOCUMENTATION_INFO

View file

@ -212,82 +212,39 @@ export GNUSTEP_HOST GNUSTEP_HOST_CPU GNUSTEP_HOST_VENDOR GNUSTEP_HOST_OS
# No longer needed
unset GNUSTEP_HOME
#
# 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
#
# Determine if the paths look like Windows paths that need fixing
fixup_paths=no
if [ -z "`echo $GNUSTEP_MAKEFILES | sed 's|^[a-zA-Z]:/.*$||'`" ]; then
fixup_paths=yes
fi
# GNUSTEP_PATHLIST is deprecated and will be removed.
#
# 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
# 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!
if [ -z "`echo $GNUSTEP_SYSTEM_ROOT | sed 's|^[a-zA-Z]:/.*$||'`" ]; then
G_U_R=`$GNUSTEP_MAKEFILES/fixpath.sh -u "$GNUSTEP_USER_ROOT"`
G_L_R=`$GNUSTEP_MAKEFILES/fixpath.sh -u "$GNUSTEP_LOCAL_ROOT"`
G_N_R=`$GNUSTEP_MAKEFILES/fixpath.sh -u "$GNUSTEP_NETWORK_ROOT"`
G_S_R=`$GNUSTEP_MAKEFILES/fixpath.sh -u "$GNUSTEP_SYSTEM_ROOT"`
else
G_U_R="$GNUSTEP_USER_ROOT"
G_L_R="$GNUSTEP_LOCAL_ROOT"
G_N_R="$GNUSTEP_NETWORK_ROOT"
G_S_R="$GNUSTEP_SYSTEM_ROOT"
fi
# Now we basically want to build
# GNUSTEP_PATHLIST="$G_U_R:$G_L_R:$G_N_R:$G_S_R"
# but we want to remove duplicates.
# Start with $G_U_R:$G_L_R - or $G_U_R if they are the same
if [ "$G_L_R" != "$G_U_R" ]; then
GNUSTEP_PATHLIST="$G_U_R:$G_L_R"
else
GNUSTEP_PATHLIST="$G_U_R"
fi
# Now append $G_N_R but only if different from what already there
if [ "$G_N_R" != "$G_U_R" ]; then
if [ "$G_N_R" != "$G_L_R" ]; then
GNUSTEP_PATHLIST="$GNUSTEP_PATHLIST:$G_N_R"
fi
fi
# Now append $G_S_R but only if different from what already there
if [ "$G_S_R" != "$G_U_R" ]; then
if [ "$G_S_R" != "$G_L_R" ]; then
if [ "$G_S_R" != "$G_N_R" ]; then
GNUSTEP_PATHLIST="$GNUSTEP_PATHLIST:$G_S_R"
fi
fi
fi
unset G_U_R
unset G_L_R
unset G_N_R
unset G_S_R
export GNUSTEP_PATHLIST
GNUSTEP_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_ROOT" "$GNUSTEP_LOCAL_ROOT" "$GNUSTEP_NETWORK_ROOT" "$GNUSTEP_SYSTEM_ROOT" $fixup_paths`
export GNUSTEP_PATHLIST
fi
#
# Add path to Tools to PATH
#
GNUSTEP_TOOLS_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_TOOLS" "$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_SYSTEM_TOOLS" $fixup_paths`
old_IFS="$IFS"
IFS=:
temp_path=
for dir in $GNUSTEP_PATHLIST; do
for dir in $GNUSTEP_TOOLS_PATHLIST; do
# Prepare the path_fragment
if [ "$GNUSTEP_IS_FLATTENED" = "no" ]; then
path_fragment="$dir/Tools:$dir/Tools/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}/${LIBRARY_COMBO}:$dir/Tools/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}"
path_fragment="$dir:$dir/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}/${LIBRARY_COMBO}:$dir/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}"
else
path_fragment="$dir/Tools"
path_fragment="$dir"
fi
# Add it to temp_path
@ -311,19 +268,22 @@ else
fi
fi
unset temp_path
unset GNUSTEP_TOOLS_PATHLIST
export PATH
. $GNUSTEP_MAKEFILES/ld_lib_path.sh
GNUSTEP_LIBRARY_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_LIBRARY" "$GNUSTEP_LOCAL_LIBRARY" "$GNUSTEP_NETWORK_LIBRARY" "$GNUSTEP_SYSTEM_LIBRARY" $fixup_paths`
old_IFS="$IFS"
IFS=:
gnustep_class_path=
for dir in $GNUSTEP_PATHLIST; do
for dir in $GNUSTEP_LIBRARY_PATHLIST; do
if [ -z "$gnustep_class_path" ]; then
gnustep_class_path="$dir/Library/Libraries/Java"
gnustep_class_path="$dir/Libraries/Java"
else
gnustep_class_path="$gnustep_class_path:$dir/Library/Libraries/Java"
gnustep_class_path="$gnustep_class_path:$dir/Libraries/Java"
fi
done
@ -348,12 +308,12 @@ export CLASSPATH
old_IFS="$IFS"
IFS=:
guile_paths=
for dir in $GNUSTEP_PATHLIST; do
for dir in $GNUSTEP_LIBRARY_PATHLIST; do
if [ -z "$guile_paths" ]; then
guile_paths="$dir/Library/Libraries/Guile"
guile_paths="$dir/Libraries/Guile"
else
guile_paths="$guile_paths:$dir/Library/Libraries/Guile"
guile_paths="$guile_paths:$dir/Libraries/Guile"
fi
done
@ -370,22 +330,23 @@ else
fi
export GUILE_LOAD_PATH
unset guile_paths
unset GNUSTEP_LIBRARY_PATHLIST
#
# Make sure info files, that we install by default into
# xxx/Library/Documentation/info, are found by the info browsing
# programs. To get this effect, we add those paths to INFOPATH.
#
GNUSTEP_INFO_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_DOCUMENTATION_INFO" "$GNUSTEP_LOCAL_DOCUMENTATION_INFO" "$GNUSTEP_NETWORK_DOCUMENTATION_INFO" "$GNUSTEP_SYSTEM_DOCUMENTATION_INFO" $fixup_paths`
old_IFS="$IFS"
IFS=:
gnustep_info_path=
for dir in $GNUSTEP_PATHLIST; do
for dir in $GNUSTEP_INFO_PATHLIST; do
if [ -z "$gnustep_info_path" ]; then
gnustep_info_path="$dir/Library/Documentation/info"
gnustep_info_path="$dir"
else
gnustep_info_path="$gnustep_info_path:$dir/Library/Documentation/info"
gnustep_info_path="$gnustep_info_path:$dir"
fi
done
@ -405,6 +366,7 @@ fi
unset gnustep_info_path
export INFOPATH
unset GNUSTEP_INFO_PATHLIST
#
# Perform any user initialization

View file

@ -26,198 +26,195 @@
# This does the same as filesystem.sh, but for csh.
#
# We use 'set' (and not 'setenv') because we consider these temporary
# variables that we 'unset' at the end.
#
# SYSTEM domain
#
if ( ! ${?GNUSTEP_SYSTEM_ROOT} ) then
set GNUSTEP_SYSTEM_APPS="@GNUSTEP_SYSTEM_APPS@"
setenv GNUSTEP_SYSTEM_APPS "@GNUSTEP_SYSTEM_APPS@"
endif
if ( ! ${?GNUSTEP_SYSTEM_TOOLS} ) then
set GNUSTEP_SYSTEM_TOOLS="@GNUSTEP_SYSTEM_TOOLS@"
setenv GNUSTEP_SYSTEM_TOOLS "@GNUSTEP_SYSTEM_TOOLS@"
endif
if ( ! ${?GNUSTEP_SYSTEM_LIBRARY} ) then
set GNUSTEP_SYSTEM_LIBRARY="@GNUSTEP_SYSTEM_LIBRARY@"
setenv GNUSTEP_SYSTEM_LIBRARY "@GNUSTEP_SYSTEM_LIBRARY@"
endif
if ( ! ${?GNUSTEP_SYSTEM_HEADERS} ) then
set GNUSTEP_SYSTEM_HEADERS="@GNUSTEP_SYSTEM_HEADERS@"
setenv GNUSTEP_SYSTEM_HEADERS "@GNUSTEP_SYSTEM_HEADERS@"
endif
if ( ! ${?GNUSTEP_SYSTEM_LIBRARIES} ) then
set GNUSTEP_SYSTEM_LIBRARIES="@GNUSTEP_SYSTEM_LIBRARIES@"
setenv GNUSTEP_SYSTEM_LIBRARIES "@GNUSTEP_SYSTEM_LIBRARIES@"
endif
if ( ! ${?GNUSTEP_SYSTEM_DOCUMENTATION} ) then
set GNUSTEP_SYSTEM_DOCUMENTATION="@GNUSTEP_SYSTEM_DOCUMENTATION@"
setenv GNUSTEP_SYSTEM_DOCUMENTATION "@GNUSTEP_SYSTEM_DOCUMENTATION@"
endif
if ( ! ${?GNUSTEP_SYSTEM_DOCUMENTATION_MAN} ) then
set GNUSTEP_SYSTEM_DOCUMENTATION_MAN="@GNUSTEP_SYSTEM_DOCUMENTATION_MAN@"
setenv GNUSTEP_SYSTEM_DOCUMENTATION_MAN "@GNUSTEP_SYSTEM_DOCUMENTATION_MAN@"
endif
if ( ! ${?GNUSTEP_SYSTEM_DOCUMENTATION_INFO} ) then
set GNUSTEP_SYSTEM_DOCUMENTATION_INFO="@GNUSTEP_SYSTEM_DOCUMENTATION_INFO@"
setenv GNUSTEP_SYSTEM_DOCUMENTATION_INFO "@GNUSTEP_SYSTEM_DOCUMENTATION_INFO@"
endif
#
# LOCAL domain
#
if ( ! ${?GNUSTEP_LOCAL_APPS} ) then
set GNUSTEP_LOCAL_APPS="@GNUSTEP_LOCAL_APPS@"
setenv GNUSTEP_LOCAL_APPS "@GNUSTEP_LOCAL_APPS@"
endif
if ( ! ${?GNUSTEP_LOCAL_TOOLS} ) then
set GNUSTEP_LOCAL_TOOLS="@GNUSTEP_LOCAL_TOOLS@"
setenv GNUSTEP_LOCAL_TOOLS "@GNUSTEP_LOCAL_TOOLS@"
endif
if ( ! ${?GNUSTEP_LOCAL_LIBRARY} ) then
set GNUSTEP_LOCAL_LIBRARY="@GNUSTEP_LOCAL_LIBRARY@"
setenv GNUSTEP_LOCAL_LIBRARY "@GNUSTEP_LOCAL_LIBRARY@"
endif
if ( ! ${?GNUSTEP_LOCAL_HEADERS} ) then
set GNUSTEP_LOCAL_HEADERS="@GNUSTEP_LOCAL_HEADERS@"
setenv GNUSTEP_LOCAL_HEADERS "@GNUSTEP_LOCAL_HEADERS@"
endif
if ( ! ${?GNUSTEP_LOCAL_LIBRARIES} ) then
set GNUSTEP_LOCAL_LIBRARIES="@GNUSTEP_LOCAL_LIBRARIES@"
setenv GNUSTEP_LOCAL_LIBRARIES "@GNUSTEP_LOCAL_LIBRARIES@"
endif
if ( ! ${?GNUSTEP_LOCAL_DOCUMENTATION} ) then
set GNUSTEP_LOCAL_DOCUMENTATION="@GNUSTEP_LOCAL_DOCUMENTATION@"
setenv GNUSTEP_LOCAL_DOCUMENTATION "@GNUSTEP_LOCAL_DOCUMENTATION@"
endif
if ( ! ${?GNUSTEP_LOCAL_DOCUMENTATION_MAN} ) then
set GNUSTEP_LOCAL_DOCUMENTATION_MAN="@GNUSTEP_LOCAL_DOCUMENTATION_MAN@"
setenv GNUSTEP_LOCAL_DOCUMENTATION_MAN "@GNUSTEP_LOCAL_DOCUMENTATION_MAN@"
endif
if ( ! ${?GNUSTEP_LOCAL_DOCUMENTATION_INFO} ) then
set GNUSTEP_LOCAL_DOCUMENTATION_INFO="@GNUSTEP_LOCAL_DOCUMENTATION_INFO@"
setenv GNUSTEP_LOCAL_DOCUMENTATION_INFO "@GNUSTEP_LOCAL_DOCUMENTATION_INFO@"
endif
#
# NETWORK domain
#
if ( ! ${?GNUSTEP_NETWORK_APPS} ) then
set GNUSTEP_NETWORK_APPS="@GNUSTEP_NETWORK_APPS@"
setenv GNUSTEP_NETWORK_APPS "@GNUSTEP_NETWORK_APPS@"
endif
if ( ! ${?GNUSTEP_NETWORK_TOOLS} ) then
set GNUSTEP_NETWORK_TOOLS="@GNUSTEP_NETWORK_TOOLS@"
setenv GNUSTEP_NETWORK_TOOLS "@GNUSTEP_NETWORK_TOOLS@"
endif
if ( ! ${?GNUSTEP_NETWORK_LIBRARY} ) then
set GNUSTEP_NETWORK_LIBRARY="@GNUSTEP_NETWORK_LIBRARY@"
setenv GNUSTEP_NETWORK_LIBRARY "@GNUSTEP_NETWORK_LIBRARY@"
endif
if ( ! ${?GNUSTEP_NETWORK_HEADERS} ) then
set GNUSTEP_NETWORK_HEADERS="@GNUSTEP_NETWORK_HEADERS@"
setenv GNUSTEP_NETWORK_HEADERS "@GNUSTEP_NETWORK_HEADERS@"
endif
if ( ! ${?GNUSTEP_NETWORK_LIBRARIES} ) then
set GNUSTEP_NETWORK_LIBRARIES="@GNUSTEP_NETWORK_LIBRARIES@"
setenv GNUSTEP_NETWORK_LIBRARIES "@GNUSTEP_NETWORK_LIBRARIES@"
endif
if ( ! ${?GNUSTEP_NETWORK_DOCUMENTATION} ) then
set GNUSTEP_NETWORK_DOCUMENTATION="@GNUSTEP_NETWORK_DOCUMENTATION@"
setenv GNUSTEP_NETWORK_DOCUMENTATION "@GNUSTEP_NETWORK_DOCUMENTATION@"
endif
if ( ! ${?GNUSTEP_NETWORK_DOCUMENTATION_MAN} ) then
set GNUSTEP_NETWORK_DOCUMENTATION_MAN="@GNUSTEP_NETWORK_DOCUMENTATION_MAN@"
setenv GNUSTEP_NETWORK_DOCUMENTATION_MAN "@GNUSTEP_NETWORK_DOCUMENTATION_MAN@"
endif
if ( ! ${?GNUSTEP_NETWORK_DOCUMENTATION_INFO} ) then
set GNUSTEP_NETWORK_DOCUMENTATION_INFO="@GNUSTEP_NETWORK_DOCUMENTATION_INFO@"
setenv GNUSTEP_NETWORK_DOCUMENTATION_INFO "@GNUSTEP_NETWORK_DOCUMENTATION_INFO@"
endif
#
# USER domain
#
if ( ! ${?GNUSTEP_USER_DIR_APPS} ) then
set GNUSTEP_USER_DIR_APPS="@GNUSTEP_USER_DIR_APPS@"
setenv GNUSTEP_USER_DIR_APPS "@GNUSTEP_USER_DIR_APPS@"
endif
if ( ! ${?GNUSTEP_USER_DIR_TOOLS} ) then
set GNUSTEP_USER_DIR_TOOLS="@GNUSTEP_USER_DIR_TOOLS@"
setenv GNUSTEP_USER_DIR_TOOLS "@GNUSTEP_USER_DIR_TOOLS@"
endif
if ( ! ${?GNUSTEP_USER_DIR_LIBRARY} ) then
set GNUSTEP_USER_DIR_LIBRARY="@GNUSTEP_USER_DIR_LIBRARY@"
setenv GNUSTEP_USER_DIR_LIBRARY "@GNUSTEP_USER_DIR_LIBRARY@"
endif
if ( ! ${?GNUSTEP_USER_DIR_HEADERS} ) then
set GNUSTEP_USER_DIR_HEADERS="@GNUSTEP_USER_DIR_HEADERS@"
setenv GNUSTEP_USER_DIR_HEADERS "@GNUSTEP_USER_DIR_HEADERS@"
endif
if ( ! ${?GNUSTEP_USER_DIR_LIBRARIES} ) then
set GNUSTEP_USER_DIR_LIBRARIES="@GNUSTEP_USER_DIR_LIBRARIES@"
setenv GNUSTEP_USER_DIR_LIBRARIES "@GNUSTEP_USER_DIR_LIBRARIES@"
endif
if ( ! ${?GNUSTEP_USER_DIR_DOCUMENTATION} ) then
set GNUSTEP_USER_DIR_DOCUMENTATION="@GNUSTEP_USER_DIR_DOCUMENTATION@"
setenv GNUSTEP_USER_DIR_DOCUMENTATION "@GNUSTEP_USER_DIR_DOCUMENTATION@"
endif
if ( ! ${?GNUSTEP_USER_DIR_DOCUMENTATION_MAN} ) then
set GNUSTEP_USER_DIR_DOCUMENTATION_MAN="@GNUSTEP_USER_DIR_DOCUMENTATION_MAN@"
setenv GNUSTEP_USER_DIR_DOCUMENTATION_MAN "@GNUSTEP_USER_DIR_DOCUMENTATION_MAN@"
endif
if ( ! ${?GNUSTEP_USER_DIR_DOCUMENTATION_INFO} ) then
set GNUSTEP_USER_DIR_DOCUMENTATION_INFO="@GNUSTEP_USER_DIR_DOCUMENTATION_INFO@"
setenv GNUSTEP_USER_DIR_DOCUMENTATION_INFO "@GNUSTEP_USER_DIR_DOCUMENTATION_INFO@"
endif
switch ("${GNUSTEP_USER_DIR_APPS}")
case /*: # An absolute path
set GNUSTEP_USER_APPS="${GNUSTEP_USER_DIR_APPS}"
setenv GNUSTEP_USER_APPS "${GNUSTEP_USER_DIR_APPS}"
breaksw
default: # Something else
set GNUSTEP_USER_APPS="${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_APPS}"
setenv GNUSTEP_USER_APPS "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_APPS}"
breaksw
endsw
switch ("${GNUSTEP_USER_DIR_TOOLS}")
case /*:
set GNUSTEP_USER_TOOLS="${GNUSTEP_USER_DIR_TOOLS}"
setenv GNUSTEP_USER_TOOLS "${GNUSTEP_USER_DIR_TOOLS}"
breaksw
default:
set GNUSTEP_USER_TOOLS="${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_TOOLS}"
setenv GNUSTEP_USER_TOOLS "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_TOOLS}"
breaksw
endsw
switch ("${GNUSTEP_USER_DIR_LIBRARY}")
case /*:
set GNUSTEP_USER_LIBRARY="${GNUSTEP_USER_DIR_LIBRARY}"
setenv GNUSTEP_USER_LIBRARY "${GNUSTEP_USER_DIR_LIBRARY}"
breaksw
default:
set GNUSTEP_USER_LIBRARY="${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_LIBRARY}"
setenv GNUSTEP_USER_LIBRARY "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_LIBRARY}"
breaksw
endsw
switch ("${GNUSTEP_USER_DIR_HEADERS}")
case /*:
set GNUSTEP_USER_HEADERS="${GNUSTEP_USER_DIR_HEADERS}"
setenv GNUSTEP_USER_HEADERS "${GNUSTEP_USER_DIR_HEADERS}"
breaksw
default:
set GNUSTEP_USER_HEADERS="${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_HEADERS}"
setenv GNUSTEP_USER_HEADERS "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_HEADERS}"
breaksw
endsw
switch ("${GNUSTEP_USER_DIR_LIBRARIES}")
case /*:
set GNUSTEP_USER_LIBRARIES="${GNUSTEP_USER_DIR_LIBRARIES}"
setenv GNUSTEP_USER_LIBRARIES "${GNUSTEP_USER_DIR_LIBRARIES}"
breaksw
default:
set GNUSTEP_USER_LIBRARIES="${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_LIBRARIES}"
setenv GNUSTEP_USER_LIBRARIES "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_LIBRARIES}"
breaksw
endsw
switch ("${GNUSTEP_USER_DIR_DOCUMENTATION}")
case /*:
set GNUSTEP_USER_DOCUMENTATION="${GNUSTEP_USER_DIR_DOCUMENTATION}"
setenv GNUSTEP_USER_DOCUMENTATION "${GNUSTEP_USER_DIR_DOCUMENTATION}"
breaksw
default:
set GNUSTEP_USER_DOCUMENTATION="${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION}"
setenv GNUSTEP_USER_DOCUMENTATION "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION}"
breaksw
endsw
switch ("${GNUSTEP_USER_DIR_DOCUMENTATION_MAN}")
case /*:
set GNUSTEP_USER_DOCUMENTATION_MAN="${GNUSTEP_USER_DIR_DOCUMENTATION_MAN}"
setenv GNUSTEP_USER_DOCUMENTATION_MAN "${GNUSTEP_USER_DIR_DOCUMENTATION_MAN}"
breaksw
default:
set GNUSTEP_USER_DOCUMENTATION_MAN="${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION_MAN}"
setenv GNUSTEP_USER_DOCUMENTATION_MAN "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION_MAN}"
breaksw
endsw
switch ("${GNUSTEP_USER_DIR_DOCUMENTATION_INFO}")
case /*:
set GNUSTEP_USER_DOCUMENTATION_INFO="${GNUSTEP_USER_DIR_DOCUMENTATION_INFO}"
setenv GNUSTEP_USER_DOCUMENTATION_INFO "${GNUSTEP_USER_DIR_DOCUMENTATION_INFO}"
breaksw
default:
set GNUSTEP_USER_DOCUMENTATION_INFO="${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION_INFO}"
setenv GNUSTEP_USER_DOCUMENTATION_INFO "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION_INFO}"
breaksw
endsw
unset GNUSTEP_USER_DIR_APPS
unset GNUSTEP_USER_DIR_TOOLS
unset GNUSTEP_USER_DIR_LIBRARY
unset GNUSTEP_USER_DIR_HEADERS
unset GNUSTEP_USER_DIR_LIBRARIES
unset GNUSTEP_USER_DIR_DOCUMENTATION
unset GNUSTEP_USER_DIR_DOCUMENTATION_MAN
unset GNUSTEP_USER_DIR_DOCUMENTATION_INFO
unsetenv GNUSTEP_USER_DIR_APPS
unsetenv GNUSTEP_USER_DIR_TOOLS
unsetenv GNUSTEP_USER_DIR_LIBRARY
unsetenv GNUSTEP_USER_DIR_HEADERS
unsetenv GNUSTEP_USER_DIR_LIBRARIES
unsetenv GNUSTEP_USER_DIR_DOCUMENTATION
unsetenv GNUSTEP_USER_DIR_DOCUMENTATION_MAN
unsetenv GNUSTEP_USER_DIR_DOCUMENTATION_INFO

View file

@ -166,38 +166,46 @@ case "$GNUSTEP_USER_DIR_APPS" in
*) # Something else
GNUSTEP_USER_APPS="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_APPS";;
esac
unset GNUSTEP_USER_DIR_APPS
case "$GNUSTEP_USER_DIR_TOOLS" in
/*) GNUSTEP_USER_TOOLS="$GNUSTEP_USER_DIR_TOOLS";;
*) GNUSTEP_USER_TOOLS="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_TOOLS";;
esac
unset GNUSTEP_USER_DIR_TOOLS
case "$GNUSTEP_USER_DIR_LIBRARY" in
/*) GNUSTEP_USER_LIBRARY="$GNUSTEP_USER_DIR_LIBRARY";;
*) GNUSTEP_USER_LIBRARY="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_LIBRARY";;
esac
unset GNUSTEP_USER_DIR_LIBRARY
case "$GNUSTEP_USER_DIR_HEADERS" in
/*) GNUSTEP_USER_HEADERS="$GNUSTEP_USER_DIR_HEADERS";;
*) GNUSTEP_USER_HEADERS="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_HEADERS";;
esac
unset GNUSTEP_USER_DIR_HEADERS
case "$GNUSTEP_USER_DIR_LIBRARIES" in
/*) GNUSTEP_USER_LIBRARIES="$GNUSTEP_USER_DIR_LIBRARIES";;
*) GNUSTEP_USER_LIBRARIES="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_LIBRARIES";;
esac
unset GNUSTEP_USER_DIR_LIBRARIES
case "$GNUSTEP_USER_DIR_DOCUMENTATION" in
/*) GNUSTEP_USER_DOCUMENTATION="$GNUSTEP_USER_DIR_DOCUMENTATION";;
*) GNUSTEP_USER_DOCUMENTATION="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_DOCUMENTATION";;
esac
unset GNUSTEP_USER_DIR_DOCUMENTATION
case "$GNUSTEP_USER_DIR_DOCUMENTATION_MAN" in
/*) GNUSTEP_USER_DOCUMENTATION_MAN="$GNUSTEP_USER_DIR_DOCUMENTATION_MAN";;
*) GNUSTEP_USER_DOCUMENTATION_MAN="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_DOCUMENTATION_MAN";;
esac
unset GNUSTEP_USER_DIR_DOCUMENTATION_MAN
case "$GNUSTEP_USER_DIR_DOCUMENTATION_INFO" in
/*) GNUSTEP_USER_DOCUMENTATION_INFO="$GNUSTEP_USER_DIR_DOCUMENTATION_INFO";;
*) GNUSTEP_USER_DOCUMENTATION_INFO="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_DOCUMENTATION_INFO";;
esac
unset GNUSTEP_USER_DIR_DOCUMENTATION_INFO

82
print_unique_pathlist.sh Executable file
View file

@ -0,0 +1,82 @@
#! /bin/sh
#
# print_unique_path_list.sh
#
# Script for creating unique lists of paths
#
# Copyright (C) 2007 Free Software Foundation, Inc.
#
# Author: Nicola Pero <nicola.pero@meta-innovation.com
#
# 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.
# If we knew the shell is bash, we could easily put this code into a
# function. (FIXME: check if there is a portable way of doing that)
# This is a shell script that takes 5 arguments (a list of 4 paths,
# followed by "yes" if it needs to automatically convert the paths
# from Win32 to Unix style), and prints the 4 paths separated by ':',
# removing duplicates.
# GNUSTEP_MAKEFILES needs to be defined when you execute this script.
if [ ! $# -eq 5 ]; then
echo "Usage: $0 path1 path2 path3 path4 windowsToUnixConversion"
echo " prints out path1:path2:path3:path4 removing duplicates"
echo " and converting paths from windows to unix if windowsToUnixConversion"
echo " is 'yes'"
exit 1
fi
GS_MAKE_RESULT=""
if [ "$5" = "yes" ]; then
GS_MAKE_PATH_1=`$GNUSTEP_MAKEFILES/fixpath.sh -u "$1"`
GS_MAKE_PATH_2=`$GNUSTEP_MAKEFILES/fixpath.sh -u "$2"`
GS_MAKE_PATH_3=`$GNUSTEP_MAKEFILES/fixpath.sh -u "$3"`
GS_MAKE_PATH_4=`$GNUSTEP_MAKEFILES/fixpath.sh -u "$4"`
else
GS_MAKE_PATH_1="$1"
GS_MAKE_PATH_2="$2"
GS_MAKE_PATH_3="$3"
GS_MAKE_PATH_4="$4"
fi
# Now we basically want to build
# GS_MAKE_RESULT="$GS_MAKE_PATH_1:$GS_MAKE_PATH_2:$GS_MAKE_PATH_3:$GS_MAKE_PATH_4"
# but we want to remove duplicates.
# Start with $GS_MAKE_PATH_1:$GS_MAKE_PATH_2 - or $GS_MAKE_PATH_1 if they are the same
if [ "$GS_MAKE_PATH_2" != "$GS_MAKE_PATH_1" ]; then
GS_MAKE_RESULT="$GS_MAKE_PATH_1:$GS_MAKE_PATH_2"
else
GS_MAKE_RESULT="$GS_MAKE_PATH_1"
fi
# Now append $GS_MAKE_PATH_3 but only if different from what already there
if [ "$GS_MAKE_PATH_3" != "$GS_MAKE_PATH_1" ]; then
if [ "$GS_MAKE_PATH_3" != "$GS_MAKE_PATH_2" ]; then
GS_MAKE_RESULT="$GS_MAKE_RESULT:$GS_MAKE_PATH_3"
fi
fi
# Now append $GS_MAKE_PATH_4 but only if different from what already there
if [ "$GS_MAKE_PATH_4" != "$GS_MAKE_PATH_1" ]; then
if [ "$GS_MAKE_PATH_4" != "$GS_MAKE_PATH_2" ]; then
if [ "$GS_MAKE_PATH_4" != "$GS_MAKE_PATH_3" ]; then
GS_MAKE_RESULT="$GS_MAKE_RESULT:$GS_MAKE_PATH_4"
fi
fi
fi
echo "$GS_MAKE_RESULT"