#! /bin/sh # Filename: gammalib-setup(.in) # Description: Writes an initialization script for GammaLib software # which is custom fit to the user and the particular # software installation. Note that this script is # designed to be invoked by gammalib-init.csh/gammalib-init.sh, # and should not normally be invoked directly by user. # Author/Date: Juergen Knoedlseder, IRAP, October 29, 2011 #------------------------------------------------------------------------------- # # Set fixed parameters # ==================== this_script=`echo $0 | sed 's:.*/::'` gammalib_info="$this_script:" gammalib_error="$gammalib_info ERROR --" # # Extract argument # ================ flavor=$1 if [ "x$flavor" != xcsh -a "x$flavor" != xsh ]; then echo "$gammalib_info usage $this_script csh|sh" >&2 exit 3 fi # # Set parameters # ============== prefix="@prefix@" exec_prefix="@exec_prefix@" gammalib_bin="@bindir@" gammalib_lib="@libdir@@TEST_ENV_DIR@" uname_system=`uname` python_dir="@pythondir@" python_exec_dir="@pyexecdir@" pkgconfig_dir="@libdir@/pkgconfig" man_dir="@datadir@/doc/gammalib/man" caldb_dir="@datadir@/caldb" # # Make sure that $HOME/.gamma directory exists # ============================================ if [ ! -w $HOME/.gamma/. ]; then mkdir $HOME/.gamma if [ $? -ne 0 ]; then echo "$gammalib_error cannot create .gamma directory $HOME/.gamma" >&2 exit 3 fi fi # # Make pfiles available # ===================== if [ -d $prefix/syspfiles/. ]; then # make sure local parameter file directory exists if [ ! -w $HOME/pfiles/. ]; then mkdir $HOME/pfiles if [ $? -ne 0 ]; then echo "$gammalib_error cannot create local pfiles directory $HOME/pfiles" >&2 exit 3 fi fi # use PFILES (if set) to set initial values for locpfiles and syspfiles if [ "x$PFILES" != x ]; then syspfiles=`echo $PFILES | sed "s%.*;%%"` locpfiles=`echo $PFILES | sed "s%;*$syspfiles$%%"` fi # move $HOME/pfiles to front of locpfiles and weed out redundancies if [ "x$locpfiles" = x ]; then locpfiles="$HOME/pfiles" else locpfiles=`echo ":$locpfiles:" | \ sed "s%:$HOME/pfiles:%:%g" | sed "s%::*$%%"` locpfiles="$HOME/pfiles$locpfiles" fi # move $prefix/syspfiles to front of syspfiles and weed out redundancies if [ "x$syspfiles" = x ]; then syspfiles="$prefix/syspfiles" else syspfiles=`echo ":$syspfiles:" | \ sed "s%:$prefix/syspfiles:%:%g" | sed "s%::*$%%"` syspfiles="$prefix/syspfiles$syspfiles" fi # Set PFILES and PFCLOBBER environment variable PFILES="$locpfiles;$syspfiles" PFCLOBBER=1 fi # # Set PYTHONPATH # ============== if [ -z "${PYTHONPATH}" ]; then PYTHONPATH=$python_dir:$python_exec_dir else PYTHONPATH=$python_dir:$python_exec_dir:$PYTHONPATH fi # # Set PKG_CONFIG_PATH # =================== if [ -z "${PKG_CONFIG_PATH}" ]; then PKG_CONFIG_PATH=$pkgconfig_dir else PKG_CONFIG_PATH=$pkgconfig_dir:$PKG_CONFIG_PATH fi # # Set PATH # ======== if [ -z "${PATH}" ]; then PATH=$gammalib_bin else PATH=$gammalib_bin:$PATH fi # # Set MANPATH # =========== if [ -z "${MANPATH}" ]; then if `which manpath > /dev/null 2>&1` ; then default_manpath=`manpath` else default_manpath=`man -w 2> /dev/null` fi fi if [ -z "${MANPATH}" ]; then MANPATH=$man_dir:${default_manpath} else MANPATH=$man_dir:$MANPATH fi # # Set CALDB (if not yet set) # ========================== if [ -z "${CALDB}" ]; then CALDB=$caldb_dir fi # # List of variables needed in initialization script # ================================================= varlist="PATH" varlist="$varlist PYTHONPATH PKG_CONFIG_PATH MANPATH" varlist="$varlist PFILES PFCLOBBER CALDB" # # Set LD_LIBRARY_PATH # =================== case $uname_system in Darwin*) ;; *) if [ -z "${LD_LIBRARY_PATH}" ]; then LD_LIBRARY_PATH=$gammalib_lib else LD_LIBRARY_PATH=$gammalib_lib:$LD_LIBRARY_PATH fi varlist="$varlist LD_LIBRARY_PATH" ;; esac # # Save values in output initialization shell scripts # ================================================== # Name of temporary config script HOST_NAME=`hostname` gammalib_config="$HOME/gammalib-config-$HOST_NAME" # Bourne Shell version, write only for sh flavor initialization if [ $flavor = sh ]; then rm -f $gammalib_config$$.sh touch $gammalib_config$$.sh for var in $varlist; do eval "if [ \"x\$$var\" != x ]; then echo \"\$var=\\\"\$$var\\\"; export \$var\" >> $gammalib_config$$.sh; fi" done echo "$gammalib_config$$.sh" # C Shell version, write only for csh flavor initialization elif [ $flavor = csh ]; then rm -f $gammalib_config$$.csh touch $gammalib_config$$.csh for var in $varlist; do eval "if [ \"x\$$var\" != x ]; then echo setenv \$var \\\"\$$var\\\" >> $gammalib_config$$.csh; fi" done echo "$gammalib_config$$.csh" fi # # Start gammalib daemon in case that we are not doing a make installcheck # ======================================================================= if [ "x$GAMMALIB_MAKE_INSTALL_CHECK" == x ]; then nohup gammalibd /dev/null & fi