-
Marcel Loose authored
Task #7727: The order of directories in PATH should be $LOFARROOT/sbin:$LOFARROOT/bin; i.e. sbin should appear before bin.
Marcel Loose authoredTask #7727: The order of directories in PATH should be $LOFARROOT/sbin:$LOFARROOT/bin; i.e. sbin should appear before bin.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
lofarinit.csh.in 5.29 KiB
#!/bin/echo Usage: source
#-----------------------------------------------------------------------------
# lofarinit.csh: Define the LOFAR environment for C-like shells
#-----------------------------------------------------------------------------
#
# Copyright (C) 2005
# ASTRON (Netherlands Institute for Radio Astronomy)
# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
#
# This file is part of the LOFAR software suite.
# The LOFAR software suite 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 3 of the License, or
# (at your option) any later version.
#
# The LOFAR software suite is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>.
#
# $Id$
# Define root here.
# This is a placeholder, so do NOT change the line.
# The actual value is filled in by make install (see Makefile.am).
set lfr_root=@prefix@
set lfr_libdir=@libdir@
# CMake does not define libdir, so we need to do things differently
if ("$lfr_libdir" == "") then
set lfr_libdir=@CMAKE_INSTALL_PREFIX@/@LOFAR_LIBDIR@
endif
# Use only the basename of the the lib
set lfr_libdir=`basename $lfr_libdir`
# Get directory for Python modules relative to install prefix
set lfr_pylibdir=@PYTHON_INSTALL_DIR@
set lfr_pylibdir=`echo $lfr_pylibdir | sed 's,^@CMAKE_INSTALL_PREFIX@/,,'`
if ("$lfr_pylibdir" == "") then
unset lfr_pylibdir
endif
# Only modify path variables if $lfr_root is an existing directory.
if (! (-d $lfr_root) ) then
echo "LOFAR root directory $lfr_root does not exist"
else
# First strip the current LOFARROOT from PATH, LD_LIBRARY_PATH, PYTHONPATH.
# Take care that a possible . is preceeded by a backslash.
if ($?LOFARROOT) then
set lfr_path = `echo $LOFARROOT | sed -e 's/\./\\\./g'`
if ($?PATH) then
foreach lfr_bin (bin sbin)
set lfr_bin = "$lfr_path/$lfr_bin"
setenv PATH `echo $PATH | sed -e "s%:${lfr_bin}:%:%g" -e "s%^${lfr_bin}:%%" -e "s%:${lfr_bin}"'$%%' -e "s%^${lfr_bin}"'$%%'`
end
endif
if ($?LD_LIBRARY_PATH) then
set lfr_lib = "$lfr_path/$lfr_libdir"
setenv LD_LIBRARY_PATH `echo $LD_LIBRARY_PATH | sed -e "s%:${lfr_lib}:%:%g" -e "s%^${lfr_lib}:%%" -e "s%:${lfr_lib}"'$%%' -e "s%^${lfr_lib}"'$%%'`
endif
if ($?PYTHONPATH && $?lfr_pylibdir) then
set lfr_pyt = "$lfr_path/$lfr_pylibdir"
setenv PYTHONPATH `echo $PYTHONPATH | sed -e "s%:${lfr_pyt}:%:%g" -e "s%^${lfr_pyt}:%%" -e "s%:${lfr_pyt}"'$%%' -e "s%^${lfr_pyt}"'$%%'`
endif
endif
# Now define the new LOFARROOT
# If not needed, do not do cd;pwd because that resolves symlinks.
if ( $lfr_root =~ /* ) then
setenv LOFARROOT $lfr_root
else
setenv LOFARROOT `cd >/dev/null $lfr_root; pwd` # make path absolute
endif
# Also strip this path from the current paths (in case it is contained in
# it).
set lfr_path = `echo $LOFARROOT | sed -e 's/\./\\\./g'`
if ($?PATH) then
foreach lfr_bin (bin sbin)
set lfr_bin = "$lfr_path/$lfr_bin"
setenv PATH `echo $PATH | sed -e "s%:${lfr_bin}:%:%g" -e "s%^${lfr_bin}:%%" -e "s%:${lfr_bin}"'$%%' -e "s%^${lfr_bin}"'$%%'`
end
endif
if ($?LD_LIBRARY_PATH) then
set lfr_lib = "$lfr_path/$lfr_libdir"
setenv LD_LIBRARY_PATH `echo $LD_LIBRARY_PATH | sed -e "s%:${lfr_lib}:%:%g" -e "s%^${lfr_lib}:%%" -e "s%:${lfr_lib}"'$%%' -e "s%^${lfr_lib}"'$%%'`
endif
if ($?PYTHONPATH && $?lfr_pylibdir) then
set lfr_pyt = "$lfr_path/$lfr_pylibdir"
setenv PYTHONPATH `echo $PYTHONPATH | sed -e "s%:${lfr_pyt}:%:%g" -e "s%^${lfr_pyt}:%%" -e "s%:${lfr_pyt}"'$%%' -e "s%^${lfr_pyt}"'$%%'`
endif
# Add the path to the standard paths.
if (! $?PATH) then
setenv PATH $LOFARROOT/sbin:$LOFARROOT/bin
else
setenv PATH $LOFARROOT/sbin:$LOFARROOT/bin:$PATH
endif
if (! $?LD_LIBRARY_PATH) then
setenv LD_LIBRARY_PATH $LOFARROOT/$lfr_libdir
else
setenv LD_LIBRARY_PATH $LOFARROOT/${lfr_libdir}:$LD_LIBRARY_PATH
endif
if ($?lfr_pylibdir) then
set lfr_pyt = "$LOFARROOT/$lfr_pylibdir"
if (! $?PYTHONPATH) then
setenv PYTHONPATH $lfr_pyt
else
setenv PYTHONPATH ${lfr_pyt}:$PYTHONPATH
endif
endif
# Now define the new LOFARDATAROOT (if possible).
# First try as data directory of the LOFAR install directory.
set lfr_path = `echo $LOFARROOT | sed -e 's%/installed.*%%'`
if ( "$lfr_path" != "" && -d $lfr_path/data ) then
setenv LOFARDATAROOT $lfr_path/data
else
# Try it as the LOFARDATA directory (part of the source tree).
set lfr_path = `echo $LOFARROOT | sed -e 's%/LOFAR/.*%/LOFAR%'`
if ( "$lfr_path" != "" && -d ${lfr_path}DATA ) then
setenv LOFARDATAROOT ${lfr_path}DATA
else
setenv LOFARDATAROOT /opt/lofar/data
endif
endif
endif
unset lfr_root lfr_bin lfr_libdir lfr_lib lfr_pylibdir lfr_pyt lfr_path