csh: don't require SPACK_ROOT for sourcing setup-env.csh (#18225)
Don't require SPACK_ROOT for sourcing setup-env.csh and make output more consistent
This commit is contained in:
@@ -12,17 +12,26 @@
|
||||
# otherwise append to that variable.
|
||||
set _pa_varname = PATH;
|
||||
set _pa_new_path = $_pa_args[1];
|
||||
[ $#_pa_args -gt 1 ] && set _pa_varname = $_pa_args[1] && set _pa_new_path = $_pa_args[2];
|
||||
|
||||
if ($#_pa_args > 1) then
|
||||
set _pa_varname = $_pa_args[1]
|
||||
set _pa_new_path = $_pa_args[2]
|
||||
endif
|
||||
|
||||
# Check whether the variable is set yet.
|
||||
set _pa_old_value = ""
|
||||
eval set _pa_set = '$?'$_pa_varname
|
||||
[ $_pa_set -eq 1 ] && eval set _pa_old_value='$'$_pa_varname;
|
||||
if ($_pa_set == 1) then
|
||||
eval set _pa_old_value='$'$_pa_varname
|
||||
endif
|
||||
|
||||
# Do the actual prepending here, if it is a dir and not already in the path
|
||||
if ( -d $_pa_new_path && \:$_pa_old_value\: !~ *\:$_pa_new_path\:* ) then
|
||||
[ -n "$_pa_old_value" ] && setenv $_pa_varname $_pa_new_path\:$_pa_old_value
|
||||
[ -z "$_pa_old_value" ] && setenv $_pa_varname $_pa_new_path
|
||||
if ("x$_pa_old_value" == "x") then
|
||||
setenv $_pa_varname $_pa_new_path
|
||||
else
|
||||
setenv $_pa_varname $_pa_new_path\:$_pa_old_value
|
||||
endif
|
||||
endif
|
||||
|
||||
unset _pa_args _pa_new_path _pa_old_value _pa_set _pa_varname
|
||||
|
@@ -57,8 +57,12 @@ endif
|
||||
# Set up args -- we want a subcommand and a spec.
|
||||
set _sp_subcommand=""
|
||||
set _sp_spec=""
|
||||
[ $#_sp_args -gt 0 ] && set _sp_subcommand = ($_sp_args[1])
|
||||
[ $#_sp_args -gt 1 ] && set _sp_spec = ($_sp_args[2-])
|
||||
if ($#_sp_args > 0) then
|
||||
set _sp_subcommand = ($_sp_args[1])
|
||||
endif
|
||||
if ($#_sp_args > 1) then
|
||||
set _sp_spec = ($_sp_args[2-])
|
||||
endif
|
||||
|
||||
# Run subcommand
|
||||
switch ($_sp_subcommand)
|
||||
@@ -66,7 +70,9 @@ case cd:
|
||||
shift _sp_args # get rid of 'cd'
|
||||
|
||||
set _sp_arg=""
|
||||
[ $#_sp_args -gt 0 ] && set _sp_arg = ($_sp_args[1])
|
||||
if ($#_sp_args > 0) then
|
||||
set _sp_arg = ($_sp_args[1])
|
||||
endif
|
||||
shift _sp_args
|
||||
|
||||
if ( "$_sp_arg" == "-h" || "$_sp_args" == "--help" ) then
|
||||
@@ -79,7 +85,9 @@ case env:
|
||||
shift _sp_args # get rid of 'env'
|
||||
|
||||
set _sp_arg=""
|
||||
[ $#_sp_args -gt 0 ] && set _sp_arg = ($_sp_args[1])
|
||||
if ($#_sp_args > 0) then
|
||||
set _sp_arg = ($_sp_args[1])
|
||||
endif
|
||||
|
||||
if ( "$_sp_arg" == "-h" || "$_sp_arg" == "--help" ) then
|
||||
\spack env -h
|
||||
@@ -87,7 +95,9 @@ case env:
|
||||
switch ($_sp_arg)
|
||||
case activate:
|
||||
set _sp_env_arg=""
|
||||
[ $#_sp_args -gt 1 ] && set _sp_env_arg = ($_sp_args[2])
|
||||
if ($#_sp_args > 1) then
|
||||
set _sp_env_arg = ($_sp_args[2])
|
||||
endif
|
||||
|
||||
# Space needed here to differentiate between `-h`
|
||||
# argument and environments with "-h" in the name.
|
||||
@@ -106,7 +116,9 @@ case env:
|
||||
breaksw
|
||||
case deactivate:
|
||||
set _sp_env_arg=""
|
||||
[ $#_sp_args -gt 1 ] && set _sp_env_arg = ($_sp_args[2])
|
||||
if ($#_sp_args > 1) then
|
||||
set _sp_env_arg = ($_sp_args[2])
|
||||
endif
|
||||
|
||||
# Space needed here to differentiate between `--sh`
|
||||
# argument and environments with "--sh" in the name.
|
||||
|
Reference in New Issue
Block a user