-
Marcel Loose authored
LOFAR directory. They are now processed by LofarConfig.cmake.
Marcel Loose authoredLOFAR directory. They are now processed by LofarConfig.cmake.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
lofarinit.sh.in 5.06 KiB
#!/bin/echo Usage: .
#-----------------------------------------------------------------------------
# lofarinit.sh: Define the LOFAR environment for Bourne-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).
lfr_root=@prefix@
lfr_libdir=@libdir@
# CMake does not define libdir, so we need to do things differently
if test "$lfr_libdir" = ""; then
lfr_libdir=@CMAKE_INSTALL_PREFIX@/@LOFAR_LIBDIR@
fi
# Use only the basename of the the lib
lfr_libdir=`basename $lfr_libdir`
# Get python version.
lfr_pyv=`python -V 2>&1`
lfr_pyvv=`echo $lfr_pyv | sed -e "s/Python \([0-9]\.[0-9]\).*/\1/"`
# Fall-back: if python cannot be found assume Python 2.4
if test "$lfr_pyv" = "$lfr_pyvv"; then
lfr_pyvv=2.4
fi
# First strip the current LOFARROOT from PATH, LD_LIBRARY_PATH, and PYTHONPATH.
# Take care that a possible . is preceeded by a backslash (for the later sed).
if [ "$LOFARROOT" != "" ]; then
lfr_path=`echo $LOFARROOT | sed -e 's/\./\\\./g'`
for lfr_bin in bin sbin
do
lfr_bin="$lfr_path/$lfr_bin"
PATH=`echo $PATH | sed -e "s%:$lfr_bin:%:%g" -e "s%^$lfr_bin:%%" -e "s%:$lfr_bin$%%" -e "s%^$lfr_bin$%%"`
export PATH
done
lfr_lib="$lfr_path/$lfr_libdir"
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$%%"`
export LD_LIBRARY_PATH
lfr_pyt="$lfr_path/$lfr_libdir/python$lfr_pyvv/site-packages"
PYTHONPATH=`echo $PYTHONPATH | sed -e "s%:$lfr_pyt:%:%g" -e "s%^$lfr_pyt:%%" -e "s%:$lfr_pyt$%%" -e "s%^$lfr_pyt$%%"`
export PYTHONPATH
fi
# Now define the new LOFARROOT (if possible)
# Do it only if the bin directory exists.
lfr_nroot=`cd $lfr_root > /dev/null; pwd` # make path absolute
if [ "$lfr_nroot" = "" -o ! -d $lfr_nroot/bin ]; then
echo "LOFAR root directory $lfr_nroot/bin does not exist; keeping old LOFARROOT $LOFARROOT"
else
LOFARROOT=$lfr_nroot
export LOFARROOT
# Also strip root from the current paths (in case it is contained).
lfr_path=`echo $LOFARROOT | sed -e 's/\./\\\./g'`
for lfr_bin in bin sbin
do
lfr_bin="$lfr_path/$lfr_bin"
PATH=`echo $PATH | sed -e "s%:$lfr_bin:%:%g" -e "s%^$lfr_bin:%%" -e "s%:$lfr_bin$%%" -e "s%^$lfr_bin$%%"`
export PATH
done
lfr_lib="$lfr_path/$lfr_libdir"
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$%%"`
export LD_LIBRARY_PATH
lfr_pyt="$lfr_path/$lfr_libdir/python$lfr_pyvv/site-packages"
PYTHONPATH=`echo $PYTHONPATH | sed -e "s%:$lfr_pyt:%:%g" -e "s%^$lfr_pyt:%%" -e "s%:$lfr_pyt$%%" -e "s%^$lfr_pyt$%%"`
export PYTHONPATH
fi
# Add to the paths if the bin directory exists.
if [ "$LOFARROOT" = "" -o ! -d $LOFARROOT/bin ]; then
echo "No LOFARROOT defined"
else
# Add the path to the standard paths.
if [ "$PATH" = "" ]; then
PATH=$LOFARROOT/bin:$LOFARROOT/sbin
else
PATH=$LOFARROOT/bin:$LOFARROOT/sbin:$PATH
fi
export PATH
if [ "$LD_LIBRARY_PATH" = "" ]; then
LD_LIBRARY_PATH=$LOFARROOT/$lfr_libdir
else
LD_LIBRARY_PATH=$LOFARROOT/$lfr_libdir:$LD_LIBRARY_PATH
fi
export LD_LIBRARY_PATH
lfr_pyt=$LOFARROOT/$lfr_libdir/python$lfr_pyvv/site-packages
if [ "$PYTHONPATH" = "" ]; then
PYTHONPATH=$lfr_pyt
else
PYTHONPATH=$lfr_pyt:$PYTHONPATH
fi
export PYTHONPATH
fi
# Now define the new LOFARDATAROOT (if possible).
# First try as data directory of the LOFAR install directory.
lfr_path=`echo $LOFARROOT | sed -e 's%/installed.*%%'`
if [ "$lfr_path" != "" -a -d $lfr_path/data ]; then
LOFARDATAROOT=$lfr_path/data
export LOFARDATAROOT
else
# Try it as the LOFARDATA directory (part of the source tree).
lfr_path=`echo $LOFARROOT | sed -e 's%/LOFAR/.*%/LOFAR%'`
if [ "$lfr_path" != "" -a -d ${lfr_path}DATA ]; then
LOFARDATAROOT=${lfr_path}DATA
export LOFARDATAROOT
else
LOFARDATAROOT=/opt/lofar/data
export LOFARDATAROOT
fi
fi
# Clean up
unset lfr_root lfr_nroot lfr_bin lfr_libdir lfr_lib lfr_pyt lfr_pyv lfr_pyvv lfr_path