Skip to content
Snippets Groups Projects
lofarinit.sh 3.99 KiB
Newer Older
Ger van Diepen's avatar
Ger van Diepen committed
#!/bin/echo Usage: .
#-----------------------------------------------------------------------------
# lofarinit.sh: Define the LOFAR environment for Bourne-like shells
#-----------------------------------------------------------------------------
#
# Copyright (C) 2005
# ASTRON (Netherlands Foundation for Research in Astronomy)
# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands, seg@astron.nl
#
# This program 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.
#
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# $Id$

Ger van Diepen's avatar
Ger van Diepen committed
# 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).
Ger van Diepen's avatar
Ger van Diepen committed
lfr_root=. #filled in by install
Ger van Diepen's avatar
Ger van Diepen committed

Ger van Diepen's avatar
Ger van Diepen committed
# First strip the current LOFARROOT from PATH and LD_LIBRARY_PATH
Ger van Diepen's avatar
Ger van Diepen committed
# Take care that a possible . is preceeded by a backslash (for the later sed).
Ger van Diepen's avatar
Ger van Diepen committed
if [ "$LOFARROOT" != "" ]; then
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_path=`echo $LOFARROOT | sed -e 's/\./\\\./g'`
    lfr_bin="$lfr_path/bin"
    PATH=`echo $PATH | sed -e "s%:$lfr_bin:%:%g" -e "s%^$lfr_bin:%%"  -e "s%:$lfr_bin$%%" -e "s%^$lfr_bin$%%"`
Ger van Diepen's avatar
Ger van Diepen committed
    export PATH
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_lib="$lfr_path/lib"
    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$%%"`
Ger van Diepen's avatar
Ger van Diepen committed
    export LD_LIBRARY_PATH
fi

Ger van Diepen's avatar
Ger van Diepen committed
# Now define the new LOFARROOT (if possible)
# Do it only if the bin directory exists.
Ger van Diepen's avatar
Ger van Diepen committed
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"
Ger van Diepen's avatar
Ger van Diepen committed
else
Ger van Diepen's avatar
Ger van Diepen committed
    LOFARROOT=$lfr_nroot
Ger van Diepen's avatar
Ger van Diepen committed
    export LOFARROOT
Ger van Diepen's avatar
Ger van Diepen committed

Ger van Diepen's avatar
Ger van Diepen committed
    # Also strip root from the current paths (in case it is contained).
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_path=`echo $LOFARROOT | sed -e 's/\./\\\./g'`
    lfr_bin="$lfr_path/bin"
    PATH=`echo $PATH | sed -e "s%:$lfr_bin:%:%g" -e "s%^$lfr_bin:%%"  -e "s%:$lfr_bin$%%" -e "s%^$lfr_bin$%%"`
Ger van Diepen's avatar
Ger van Diepen committed
    export PATH
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_lib="$lfr_path/lib"
    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$%%"`
Ger van Diepen's avatar
Ger van Diepen committed
    export LD_LIBRARY_PATH
Ger van Diepen's avatar
Ger van Diepen committed
fi
Ger van Diepen's avatar
Ger van Diepen committed

Ger van Diepen's avatar
Ger van Diepen committed
# Add to the paths if the bin directory exsists.
if [ "$LOFARROOT" = ""  -o  ! -d $LOFARROOT/bin ]; then
    echo "No LOFARROOT defined"
else
Ger van Diepen's avatar
Ger van Diepen committed
    # Add the path to the standard paths.
    if [ "$PATH" = "" ]; then
        PATH=$LOFARROOT/bin
    else
        PATH=$LOFARROOT/bin:$PATH
    fi
    export PATH
    if [ "$LD_LIBRARY_PATH" = "" ]; then
        LD_LIBRARY_PATH=$LOFARROOT/lib
    else
        LD_LIBRARY_PATH=$LOFARROOT/lib:$LD_LIBRARY_PATH
    fi
    export LD_LIBRARY_PATH
Ger van Diepen's avatar
Ger van Diepen committed
fi
Arthur Coolen's avatar
Arthur Coolen committed

Ger van Diepen's avatar
Ger van Diepen committed
# Now define the new LOFARDATAROOT (if possible).
# First try as data directory of the LOFAR install directory.
data_path=`echo $LOFARROOT | sed -e 's%/installed.*%%'`
if [ "$data_path" != ""  -a  -d $data_path/data ]; then
Arthur Coolen's avatar
Arthur Coolen committed
    LOFARDATAROOT=$data_path/data
    export LOFARDATAROOT
Ger van Diepen's avatar
Ger van Diepen committed
else
    # Try it as the LOFARDATA directory (part of the source tree).
    data_path=`echo $LOFARROOT | sed -e 's%/LOFAR/.*%/LOFAR%'`
    if [ "$data_path" != ""  -a  -d ${data_path}DATA ]; then
        LOFARDATAROOT=${data_path}DATA
        export LOFARDATAROOT
    fi
Ger van Diepen's avatar
Ger van Diepen committed
fi
Ger van Diepen's avatar
Ger van Diepen committed

Ger van Diepen's avatar
Ger van Diepen committed
# Create a .glishrc.post in the HOME directory to append
# the LOFAR libexec to the glish path.
if [ -f $HOME/.glishrc.post ]; then
  mv $HOME/.glishrc.post $HOME/.glishrc.post-old
fi
echo "system.path.include := [system.path.include, '$LOFARROOT/libexec/glish']" > $HOME/.glishrc.post

Ger van Diepen's avatar
Ger van Diepen committed
# Clean up
unset lfr_root lfr_nroot lfr_bin lfr_lib lfr_path