staden-lg/Staden_install-alpha
2021-12-04 05:07:58 +00:00

453 lines
9.8 KiB
Tcsh

#! /bin/csh -f
#
# staden_install - version 2.4
#
# This is a prototype installation program.
#
# 9 March 1992
# Modified for installation on Sun, Alliant, etc
# No longer install 2rs
#
# 20 November 1992
# Now includes convert, cop, frog, getMCH and scf
#
# 25 November 1992
# SGI supported
#
# 19 May 1993
# DEC Alpha, Solaris supported
#
# Written by sd@uk.ac.cam.mrc-lmb
#
# prelim
set prog = $0 ; set prog = $prog:t
# Machines supported: al sun dec sgi alpha solaris
#set MACHINE = `echo $prog | sed 's/.*-//'`
set MACHINE = alpha
# For local (MRC-LMB) setup only
#set LOCAL = `echo $prog | awk '/local/{print "YES";exit;}{print "NO";}'`
set LOCAL = NO
echo ""
echo -n "Staden Package installation procedure - "
switch (${MACHINE})
case "al":
echo "Alliant FX/2800 Concentrix version"
set MAKE = "make -sk"
breaksw
case "sun":
echo "SunOS version"
set MAKE = "make -sk"
breaksw
case "dec":
echo "DEC Ultrix (mips) version"
set MAKE = "gmake -sk"
breaksw
case "sgi":
echo "Silicon Graphics Iris version"
set MAKE = "gmake -sk"
breaksw
case "alpha":
echo "DEC Alpha OSF/1 version"
set MAKE = "gmake -sk"
breaksw
case "solaris":
echo "Solaris version"
set MAKE = "make -sk"
breaksw
default:
echo "Panic. Unknown version"
exit 1
endsw
echo ""
echo "* starting initialization...please wait."
echo ""
# Binary fork of source directory
if ($LOCAL == "YES") then
set DIR_BINARIES = ${MACHINE}-binaries
set DIR_PROGS = ${MACHINE}-bin
else
set DIR_BINARIES = .
set DIR_PROGS = bin
set MAKE = "$MAKE -f makefile-${MACHINE}"
endif
init:
# Set useful shell variables
set YES="YES";
set NO="NO"
# set/unset some .cshrc envs.
unset noclobber
set noglob
# set interrupt trap
onintr end_failure
# Make dir command
set MKDIR = "mkdir"
# Copy command
set CP = "cp -p"
# Install command
#set INSTALL = "install"
#set INSTALL = "mv"
set INSTALL = "cp"
# Set up default responses
set DEF_STADEN_ROOT = `pwd`
set DEF_REQ_NONX = "$YES"
set DEF_REQ_X = "$YES"
set DEF_REQ_TED = "$YES"
set DEF_REQ_MISC = "$YES"
# directories
set DIR_SRC = $DEF_STADEN_ROOT/src
set DIR_BIN = $DEF_STADEN_ROOT/$DIR_PROGS
set DIR_MISC = $DIR_SRC/Misc
set DIR_STADEN = $DIR_SRC/staden
set DIR_TED = $DIR_SRC/ted
set DIR_ABI = $DIR_SRC/abi
set DIR_ALF = $DIR_SRC/alf
set DIR_BAP = $DIR_SRC/bap
set DIR_OSP = $DIR_SRC/bap/osp-bits
set DIR_CONVERT = $DIR_SRC/convert
set DIR_COP = $DIR_SRC/cop
set DIR_FROG = $DIR_SRC/frog
set DIR_GETMCH = $DIR_SRC/getMCH
set DIR_SCF = $DIR_SRC/scf
main:
preamble:
echo ""
echo ""
echo "* Please answer the following questions."
echo " Default answers to questions are given in square brackets."
echo " If you require help at any stage respond with a ? to the question."
echo ""
ask_staden_root:
set ANS_STADEN_ROOT = $DEF_STADEN_ROOT
ask_require_nonx_progs:
echo -n "Compile all the non-X programs in the Staden Package [$DEF_REQ_NONX]? "
set ANS_REQ_NONX = $<
if ("$ANS_REQ_NONX" == "?") then
echo "* If you do not have X windows on your system you will require"
echo " these. However, you will require Tektronics terminal emulation."
echo " If you do not require all of the non-X programs, you should abort"
echo " and manually make the ones you require."
echo ""
goto ask_require_nonx_progs
else if ("$ANS_REQ_NONX" != "") then
if ("$ANS_REQ_NONX" =~ [yY]*) then
set ANS_REQ_NONX=$YES
else if ("$ANS_REQ_NONX" =~ [nN]*) then
set ANS_REQ_NONX=$NO
else
goto ask_require_nonx_progs
endif
else
set ANS_REQ_NONX=$DEF_REQ_NONX
endif
ask_require_x_progs:
echo -n "Compile all the X programs in the Staden Package [$DEF_REQ_X]? "
set ANS_REQ_X = $<
if ("$ANS_REQ_X" == "?") then
echo "* These are the programs that require X windows."
echo " If you do not require all of the X programs, you should abort"
echo " and manually make the ones you require."
echo ""
goto ask_require_x_progs
else if ("$ANS_REQ_X" != "") then
if ("$ANS_REQ_X" =~ [yY]*) then
set ANS_REQ_X=$YES
else if ("$ANS_REQ_X" =~ [nN]*) then
set ANS_REQ_X=$NO
else
goto ask_require_nonx_progs
endif
else
set ANS_REQ_X=$DEF_REQ_X
endif
ask_require_ted:
echo -n "Compile the trace editing program ted [$DEF_REQ_TED]? "
set ANS_REQ_TED = $<
if ("$ANS_REQ_TED" == "?") then
echo "* This is the trace editor program. It allows you to look at"
echo " traces obtained from automated fluorescent sequencing machines."
echo ""
goto ask_require_ted
else if ("$ANS_REQ_TED" != "") then
if ("$ANS_REQ_TED" =~ [yY]*) then
set ANS_REQ_TED=$YES
else if ("$ANS_REQ_TED" =~ [nN]*) then
set ANS_REQ_TED=$NO
else
goto ask_require_ted
endif
else
set ANS_REQ_TED=$DEF_REQ_TED
endif
ask_require_misc:
echo -n "Compile other programs [$DEF_REQ_MISC]? "
set ANS_REQ_MISC = $<
if ("$ANS_REQ_MISC" == "?") then
echo "* Other programs include:"
echo " alfsplit"
echo " getABISampleName"
echo ""
goto ask_require_misc
else if ("$ANS_REQ_MISC" != "") then
if ("$ANS_REQ_MISC" =~ [yY]*) then
set ANS_REQ_MISC=$YES
else if ("$ANS_REQ_MISC" =~ [nN]*) then
set ANS_REQ_MISC=$NO
else
goto ask_require_misc
endif
else
set ANS_REQ_MISC=$DEF_REQ_MISC
endif
time_taken_warning:
echo ""
echo "The installation procedure is now ready to start."
echo ""
echo "**** Warning:"
echo " The installation will take considerable time to complete. If you"
echo " are installing the whole Staden Package from scratch it could"
echo " take as long as an hour for all exectuables to be compiled and"
echo " installed."
echo ""
ask_goahead:
echo -n "Proceed with the installation [YES]? "
set ANSWER=$<
if ("$ANSWER" == "?") then
echo "* Final confirmation to proceed with the installation. Answer"
echo " YES to proceed; otherwise, answer NO to abort the installation."
echo ""
goto ask_goahead
else if ("$ANSWER" != "") then
if ("$ANSWER" =~ [nN]*) then
goto chickens_exit
else if ("$ANSWER" !~ [yY]*) then
goto ask_goahead
endif
endif
installation_proper:
# make binaries directory if it doesn't exist
if (! -d $DIR_BIN) then
$MKDIR $DIR_BIN
endif
if ("$ANS_REQ_MISC" == "$YES" || "$ANS_REQ_X" == "$YES" || "$ANS_REQ_NONX" == "$YES" ) then
echo ""
echo "+ Compiling miscellaneous library"
pushd $DIR_MISC > /dev/null
cd $DIR_BINARIES
$MAKE all
popd > /dev/null
endif
if ("$ANS_REQ_NONX" == "$YES") then
echo ""
echo "+ Installing non X programs"
pushd $DIR_STADEN > /dev/null
cd $DIR_BINARIES
$MAKE nprogs lprogs
$INSTALL mep $DIR_BIN
$INSTALL nip $DIR_BIN
$INSTALL pip $DIR_BIN
$INSTALL sap $DIR_BIN
$INSTALL sapf $DIR_BIN
$INSTALL sip $DIR_BIN
$INSTALL splitp1 $DIR_BIN
$INSTALL splitp2 $DIR_BIN
$INSTALL splitp3 $DIR_BIN
$INSTALL sethelp $DIR_BIN
$INSTALL gip $DIR_BIN
$INSTALL nipl $DIR_BIN
$INSTALL pipl $DIR_BIN
$INSTALL sipl $DIR_BIN
$INSTALL dap $DIR_BIN
$INSTALL nipf $DIR_BIN
$INSTALL vep $DIR_BIN
$INSTALL rep $DIR_BIN
$INSTALL lip $DIR_BIN
#$INSTALL convert_project $DIR_BIN
popd > /dev/null
pushd $DIR_OSP > /dev/null
cd $DIR_BINARIES
$MAKE
popd > /dev/null
pushd $DIR_BAP > /dev/null
cd $DIR_BINARIES
$MAKE bap
$INSTALL bap $DIR_BIN
popd > /dev/null
endif
if ("$ANS_REQ_TED" == "$YES") then
echo ""
echo "+ Installing Trace editor"
pushd $DIR_TED > /dev/null
cd $DIR_BINARIES
$MAKE ted
$INSTALL ted $DIR_BIN
popd > /dev/null
endif
if ("$ANS_REQ_X" == "$YES") then
echo ""
echo "+ Installing X programs"
pushd $DIR_STADEN > /dev/null
cd $DIR_BINARIES
$MAKE xprogs
$INSTALL xmep $DIR_BIN
$INSTALL xnip $DIR_BIN
$INSTALL xpip $DIR_BIN
$INSTALL xsap $DIR_BIN
$INSTALL xsip $DIR_BIN
$INSTALL xdap $DIR_BIN
popd > /dev/null
pushd $DIR_OSP > /dev/null
cd $DIR_BINARIES
$MAKE
popd > /dev/null
pushd $DIR_BAP > /dev/null
cd $DIR_BINARIES
$MAKE xbap
$INSTALL xbap $DIR_BIN
popd > /dev/null
endif
if ("$ANS_REQ_MISC" == "$YES") then
echo ""
echo "+ Installing miscellaneous programs"
pushd $DIR_ABI > /dev/null
cd $DIR_BINARIES
$MAKE all
$INSTALL getABISampleName $DIR_BIN
popd > /dev/null
pushd $DIR_ALF > /dev/null
cd $DIR_BINARIES
$MAKE alfsplit
$INSTALL alfsplit $DIR_BIN
popd > /dev/null
pushd $DIR_CONVERT > /dev/null
cd $DIR_BINARIES
$MAKE convert
$INSTALL convert $DIR_BIN
popd > /dev/null
pushd $DIR_COP > /dev/null
cd $DIR_BINARIES
$MAKE all
$INSTALL cop $DIR_BIN
$INSTALL cop-bap $DIR_BIN
popd > /dev/null
pushd $DIR_FROG > /dev/null
cd $DIR_BINARIES
$MAKE frog
$INSTALL frog $DIR_BIN
popd > /dev/null
pushd $DIR_GETMCH > /dev/null
cd $DIR_BINARIES
$MAKE trace2seq
$INSTALL trace2seq $DIR_BIN
popd > /dev/null
pushd $DIR_SCF > /dev/null
cd $DIR_BINARIES
$MAKE makeSCF
$INSTALL makeSCF $DIR_BIN
popd > /dev/null
endif
installation_done:
echo ""
echo "+ Installation completed"
echo ""
echo " Some further initialisation is required in order to use the"
echo " package. csh users should insert the following in their .login"
echo " files:"
echo " "
echo " setenv STADENROOT $ANS_STADEN_ROOT"
echo ' source $STADENROOT/staden.login'
echo " "
echo " Users of the Bourne shell, sh, should insert the following in"
echo " their .profile:"
echo " "
echo " STADENROOT=$ANS_STADEN_ROOT"
echo " export STADENROOT"
echo ' . $STADENROOT/staden.profile'
echo " "
echo " These initialisations will alter the shell's search path so that"
echo " it can find the programs in the STADEN Package"
echo " "
normal_exit:
exit 0
chickens_exit:
echo ""
echo "+ Installation cancelled"
echo ""
exit 0
end_failure:
unset noglob
echo ""
echo "Aborted STADEN Package installation on `date`"
echo ""
exit 1