4093 lines
72 KiB
Bash
Executable File
4093 lines
72 KiB
Bash
Executable File
#! /bin/sh
|
|
#
|
|
# If these # comments don't work, trim them. Don't worry about any other
|
|
# shell scripts, Configure will trim # comments from them for you.
|
|
#
|
|
# (If you are trying to port this package to a machine without sh,
|
|
# I would suggest you have a look at the prototypical config_h.SH file
|
|
# and edit it to reflect your system. Some packages may include samples
|
|
# of config.h for certain machines, so you might look for one of those.)
|
|
#
|
|
# Yes, you may rip this off to use in other distribution packages. This
|
|
# script belongs to the public domain and cannot be copyrighted.
|
|
#
|
|
# (Note: this Configure script was generated automatically. Rather than
|
|
# working with this copy of Configure, you may wish to get metaconfig.
|
|
# The dist-3.0 package (which contains metaconfig) was posted in
|
|
# comp.sources.misc and is available on CPAN under authors/id/RAM so
|
|
# you may fetch it yourself from your nearest archive site.)
|
|
#
|
|
|
|
# $Id: Configure,v 1.11 2001/07/03 13:25:59 sadilov Exp $
|
|
#
|
|
# Generated on Tue Jul 3 15:21:54 CEST 2001 [metaconfig 3.0 PL70]
|
|
|
|
cat >/tmp/c1$$ <<EOF
|
|
WARNING!!!!!
|
|
|
|
SCO csh still thinks true is false! /bin/csh needs to be updated.
|
|
EOF
|
|
cat >/tmp/c2$$ <<EOF
|
|
|
|
You didn't run Configure with sh!
|
|
I'll attempt to run sh for you...
|
|
EOF
|
|
|
|
true || cat /tmp/c1$$ /tmp/c2$$
|
|
true || exec sh $0 $argv:q
|
|
|
|
(exit $?0) || cat /tmp/c2$$
|
|
(exit $?0) || exec sh $0 $argv:q
|
|
rm -f /tmp/c1$$ /tmp/c2$$
|
|
|
|
: compute my invocation name
|
|
me=$0
|
|
case "$0" in
|
|
*/*)
|
|
me=`echo $0 | sed -e 's!.*/\(.*\)!\1!' 2>/dev/null`
|
|
test "$me" || me=$0
|
|
;;
|
|
esac
|
|
|
|
: Proper PATH separator
|
|
p_=:
|
|
: On OS/2 this directory should exist if this is not floppy only system :-]
|
|
if test -d c:/.; then
|
|
p_=\;
|
|
PATH=`cmd /c "echo %PATH%" | tr '\\\\' / `
|
|
OS2_SHELL=`cmd /c "echo %OS2_SHELL%" | tr '\\\\' / | tr '[A-Z]' '[a-z]'`
|
|
fi
|
|
|
|
: Proper PATH setting
|
|
paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
|
|
paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
|
|
paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
|
|
paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
|
|
paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
|
|
paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /usr/ccs/bin"
|
|
paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
|
|
paths="$paths /sbin /usr/sbin /usr/libexec"
|
|
|
|
for p in $paths
|
|
do
|
|
case "$p_$PATH$p_" in
|
|
*$p_$p$p_*) ;;
|
|
*) test -d $p && PATH=$PATH$p_$p ;;
|
|
esac
|
|
done
|
|
|
|
PATH=.$p_$PATH
|
|
export PATH
|
|
|
|
: shall we be using ksh?
|
|
inksh=''
|
|
needksh=''
|
|
avoidksh=''
|
|
newsh=/bin/ksh
|
|
changesh=''
|
|
if (PATH=.; alias -x) >/dev/null 2>&1; then
|
|
inksh=true
|
|
fi
|
|
if test -f /hp-ux -a -f /bin/ksh; then
|
|
needksh='to avoid sh bug in "here document" expansion'
|
|
fi
|
|
if test -d /usr/lpp -a -f /usr/bin/bsh -a -f /usr/bin/uname; then
|
|
if test X`/usr/bin/uname -v` = X4; then
|
|
avoidksh="to avoid AIX 4's /bin/sh"
|
|
newsh=/usr/bin/bsh
|
|
fi
|
|
fi
|
|
case "$inksh/$needksh" in
|
|
/[a-z]*)
|
|
unset ENV
|
|
changesh=true
|
|
reason="$needksh"
|
|
;;
|
|
esac
|
|
case "$inksh/$avoidksh" in
|
|
true/[a-z]*)
|
|
changesh=true
|
|
reason="$avoidksh"
|
|
;;
|
|
esac
|
|
case "$inksh/$needksh-$avoidksh-" in
|
|
true/--)
|
|
cat <<EOM
|
|
(I see you are using the Korn shell. In case of problems
|
|
try the Bourne shell instead.)
|
|
EOM
|
|
;;
|
|
esac
|
|
case "$changesh" in
|
|
true)
|
|
echo "(Feeding myself to $newsh $reason.)"
|
|
case "$0" in
|
|
Configure|*/Configure) exec $newsh $0 "$@";;
|
|
*) exec $newsh Configure "$@";;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
: Configure runs within the UU subdirectory
|
|
test -d UU || mkdir UU
|
|
unset CDPATH
|
|
cd UU && rm -f ./*
|
|
|
|
eunicefix=''
|
|
Mcc=''
|
|
ar=''
|
|
awk=''
|
|
bash=''
|
|
bison=''
|
|
byacc=''
|
|
cat=''
|
|
chgrp=''
|
|
chmod=''
|
|
chown=''
|
|
comm=''
|
|
compress=''
|
|
cp=''
|
|
cpio=''
|
|
cpp=''
|
|
csh=''
|
|
date=''
|
|
echo=''
|
|
egrep=''
|
|
emacs=''
|
|
expr=''
|
|
find=''
|
|
flex=''
|
|
gcc=''
|
|
grep=''
|
|
gzip=''
|
|
inews=''
|
|
ksh=''
|
|
less=''
|
|
line=''
|
|
lint=''
|
|
ln=''
|
|
lp=''
|
|
lpr=''
|
|
ls=''
|
|
mail=''
|
|
mailx=''
|
|
make=''
|
|
mkdir=''
|
|
more=''
|
|
mv=''
|
|
nroff=''
|
|
perl=''
|
|
pg=''
|
|
pmake=''
|
|
pr=''
|
|
rm=''
|
|
rmail=''
|
|
sed=''
|
|
sendmail=''
|
|
shar=''
|
|
sleep=''
|
|
smail=''
|
|
sort=''
|
|
submit=''
|
|
tail=''
|
|
tar=''
|
|
tbl=''
|
|
test=''
|
|
touch=''
|
|
tr=''
|
|
troff=''
|
|
uname=''
|
|
uniq=''
|
|
uuname=''
|
|
vi=''
|
|
zcat=''
|
|
zip=''
|
|
g4compiler=''
|
|
g4osname=''
|
|
g4system=''
|
|
hint=''
|
|
myuname=''
|
|
osname=''
|
|
osvers=''
|
|
Author=''
|
|
Date=''
|
|
Header=''
|
|
Id=''
|
|
Locker=''
|
|
Log=''
|
|
RCSfile=''
|
|
Revision=''
|
|
Source=''
|
|
State=''
|
|
cf_by=''
|
|
cf_time=''
|
|
contains=''
|
|
d_portable=''
|
|
g4clhep_base_dir=''
|
|
g4clhep_include_dir=''
|
|
g4clhep_lib=''
|
|
g4clhep_lib_dir=''
|
|
g4debug=''
|
|
g4data=''
|
|
g4ledata=''
|
|
g4levelgammadata=''
|
|
g4neutronhpcrosssections=''
|
|
g4radioactivedata=''
|
|
g4base=''
|
|
g4conf=''
|
|
g4include=''
|
|
g4install=''
|
|
g4workdir=''
|
|
g4bin=''
|
|
g4lib=''
|
|
g4tmp=''
|
|
g4global=''
|
|
g4granular=''
|
|
g4lib_use_granular=''
|
|
g4ospace_base_dir=''
|
|
g4use_ospace=''
|
|
g4use_hepodbms=''
|
|
g4lib_build_shared=''
|
|
g4lib_build_static=''
|
|
g4lib_use_shared=''
|
|
g4lib_use_static=''
|
|
g4ui_build_gag_session=''
|
|
g4ui_build_terminal_session=''
|
|
g4ui_build_win32_session=''
|
|
g4ui_build_xaw_session=''
|
|
g4ui_build_xm_session=''
|
|
g4ui_use_gag=''
|
|
g4ui_use_tcsh=''
|
|
g4ui_use_terminal=''
|
|
g4ui_use_win32=''
|
|
g4ui_use_xaw=''
|
|
g4ui_use_xm=''
|
|
g4vis_build_asciitree_driver=''
|
|
g4vis_build_dawn_driver=''
|
|
g4vis_build_dawnfile_driver=''
|
|
g4vis_build_oix_driver=''
|
|
g4vis_build_opacs_driver=''
|
|
g4vis_build_openglx_driver=''
|
|
g4vis_build_openglxm_driver=''
|
|
g4vis_build_raytracer_driver=''
|
|
g4vis_build_vrml_driver=''
|
|
g4vis_build_vrmlfile_driver=''
|
|
g4vis_use_asciitree=''
|
|
g4vis_use_dawn=''
|
|
g4vis_use_dawnfile=''
|
|
g4vis_use_oix=''
|
|
g4vis_use_opacs=''
|
|
g4vis_use_openglx=''
|
|
g4vis_use_openglxm=''
|
|
g4vis_use_raytracer=''
|
|
g4vis_use_vrml=''
|
|
g4vis_use_vrmlfile=''
|
|
g4wanalysis_build=''
|
|
g4wanalysis_build_jas=''
|
|
g4wanalysis_build_lab=''
|
|
g4wanalysis_build_lizard=''
|
|
g4wanalysis_use=''
|
|
g4wanalysis_use_jas=''
|
|
g4wanalysis_use_lab=''
|
|
g4wanalysis_use_lizard=''
|
|
lns=''
|
|
c=''
|
|
n=''
|
|
package=''
|
|
spackage=''
|
|
sh=''
|
|
sharpbang=''
|
|
shsharp=''
|
|
spitshell=''
|
|
src=''
|
|
startsh=''
|
|
CONFIG=''
|
|
|
|
define='define'
|
|
undef='undef'
|
|
smallmach='pdp11 i8086 z8000 i80286 iAPX286'
|
|
rmlist=''
|
|
|
|
: We must find out about Eunice early
|
|
eunicefix=':'
|
|
if test -f /etc/unixtovms; then
|
|
eunicefix=/etc/unixtovms
|
|
fi
|
|
if test -f /etc/unixtovms.exe; then
|
|
eunicefix=/etc/unixtovms.exe
|
|
fi
|
|
|
|
|
|
: Find the basic shell for Bourne shell scripts
|
|
case "$sh" in
|
|
'')
|
|
case "$SYSTYPE" in
|
|
*bsd*|sys5*) xxx="/$SYSTYPE/bin/sh";;
|
|
*) xxx='/bin/sh';;
|
|
esac
|
|
if test -f "$xxx"; then
|
|
sh="$xxx"
|
|
else
|
|
: Build up a list and do a single loop so we can 'break' out.
|
|
pth=`echo $PATH | sed -e "s/$p_/ /g"`
|
|
for xxx in sh bash ksh pdksh ash; do
|
|
for p in $pth; do
|
|
try="$try ${p}/${xxx}"
|
|
done
|
|
done
|
|
for xxx in $try; do
|
|
if test -f "$xxx"; then
|
|
sh="$xxx";
|
|
break
|
|
elif test -f "$xxx.exe"; then
|
|
sh="$xxx";
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
case "$sh" in
|
|
'') cat <<EOM >&2
|
|
$me: Fatal Error: I can't find a Bourne Shell anywhere.
|
|
|
|
Usually it's in /bin/sh.
|
|
Please contact Serguei.Sadilov@cern.ch and
|
|
we'll try to straighten this all out.
|
|
EOM
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
: see if sh knows # comments
|
|
if `$sh -c '#' >/dev/null 2>&1`; then
|
|
shsharp=true
|
|
spitshell=cat
|
|
xcat=/bin/cat
|
|
test -f $xcat || xcat=/usr/bin/cat
|
|
echo "#!$xcat" >try
|
|
$eunicefix try
|
|
chmod +x try
|
|
./try > today
|
|
if test -s today; then
|
|
sharpbang='#!'
|
|
else
|
|
echo "#! $xcat" > try
|
|
$eunicefix try
|
|
chmod +x try
|
|
./try > today
|
|
if test -s today; then
|
|
sharpbang='#! '
|
|
else
|
|
sharpbang=': use '
|
|
fi
|
|
fi
|
|
else
|
|
echo " "
|
|
echo "Your $sh doesn't grok # comments--I will strip them later on."
|
|
shsharp=false
|
|
cd ..
|
|
echo "exec grep -v '^[ ]*#'" >spitshell
|
|
chmod +x spitshell
|
|
$eunicefix spitshell
|
|
spitshell=`pwd`/spitshell
|
|
cd UU
|
|
echo "I presume that if # doesn't work, #! won't work either!"
|
|
sharpbang=': use '
|
|
fi
|
|
rm -f try today
|
|
|
|
: figure out how to guarantee sh startup
|
|
case "$startsh" in
|
|
'') startsh=${sharpbang}${sh} ;;
|
|
*)
|
|
esac
|
|
cat >try <<EOSS
|
|
$startsh
|
|
set abc
|
|
test "$?abc" != 1
|
|
EOSS
|
|
|
|
chmod +x try
|
|
$eunicefix try
|
|
if ./try; then
|
|
: echo "Yup, it does."
|
|
else
|
|
echo "Hmm... '$startsh' does not guarantee sh startup..."
|
|
echo "You may have to fix up the shell scripts to make sure $sh runs them."
|
|
fi
|
|
rm -f try
|
|
|
|
: produce awk script to parse command line options
|
|
cat >options.awk <<'EOF'
|
|
BEGIN {
|
|
optstr = "dD:eEf:hKOrsSU:V"; # getopt-style specification
|
|
|
|
len = length(optstr);
|
|
for (i = 1; i <= len; i++) {
|
|
c = substr(optstr, i, 1);
|
|
if (i < len) a = substr(optstr, i + 1, 1); else a = "";
|
|
if (a == ":") {
|
|
arg[c] = 1;
|
|
i++;
|
|
}
|
|
opt[c] = 1;
|
|
}
|
|
}
|
|
{
|
|
expect = 0;
|
|
str = $0;
|
|
if (substr(str, 1, 1) != "-") {
|
|
printf("'%s'\n", str);
|
|
next;
|
|
}
|
|
len = length($0);
|
|
for (i = 2; i <= len; i++) {
|
|
c = substr(str, i, 1);
|
|
if (!opt[c]) {
|
|
printf("-%s\n", substr(str, i));
|
|
next;
|
|
}
|
|
printf("-%s\n", c);
|
|
if (arg[c]) {
|
|
if (i < len)
|
|
printf("'%s'\n", substr(str, i + 1));
|
|
else
|
|
expect = 1;
|
|
next;
|
|
}
|
|
}
|
|
}
|
|
END {
|
|
if (expect)
|
|
print "?";
|
|
}
|
|
EOF
|
|
|
|
: process the command line options
|
|
set X `for arg in "$@"; do echo "X$arg"; done |
|
|
sed -e s/X// | awk -f options.awk`
|
|
eval "set $*"
|
|
shift
|
|
rm -f options.awk
|
|
|
|
: set up default values
|
|
fastread=''
|
|
reuseval=false
|
|
config_sh=''
|
|
alldone=''
|
|
error=''
|
|
silent=''
|
|
extractsh=''
|
|
override=''
|
|
knowitall=''
|
|
rm -f optdef.sh
|
|
cat >optdef.sh <<EOS
|
|
$startsh
|
|
EOS
|
|
|
|
|
|
: option parsing
|
|
while test $# -gt 0; do
|
|
case "$1" in
|
|
-d) shift; fastread=yes;;
|
|
-e) shift; alldone=cont;;
|
|
-install) shift; install=yes;;
|
|
-f)
|
|
shift
|
|
cd ..
|
|
if test -r "$1"; then
|
|
config_sh="$1"
|
|
else
|
|
echo "$me: cannot read config file $1." >&2
|
|
error=true
|
|
fi
|
|
cd UU
|
|
shift;;
|
|
-h) shift; error=true;;
|
|
-r) shift; reuseval=true;;
|
|
-s) shift; silent=true; realsilent=true;;
|
|
-E) shift; alldone=exit;;
|
|
-K) shift; knowitall=true;;
|
|
-O) shift; override=true;;
|
|
-S) shift; silent=true; extractsh=true;;
|
|
-D)
|
|
shift
|
|
case "$1" in
|
|
*=)
|
|
echo "$me: use '-U symbol=', not '-D symbol='." >&2
|
|
echo "$me: ignoring -D $1" >&2
|
|
;;
|
|
*=*) echo "$1" | \
|
|
sed -e "s/'/'\"'\"'/g" -e "s/=\(.*\)/='\1'/" >> optdef.sh;;
|
|
*) echo "$1='define'" >> optdef.sh;;
|
|
esac
|
|
shift
|
|
;;
|
|
-U)
|
|
shift
|
|
case "$1" in
|
|
*=) echo "$1" >> optdef.sh;;
|
|
*=*)
|
|
echo "$me: use '-D symbol=val', not '-U symbol=val'." >&2
|
|
echo "$me: ignoring -U $1" >&2
|
|
;;
|
|
*) echo "$1='undef'" >> optdef.sh;;
|
|
esac
|
|
shift
|
|
;;
|
|
-V) echo "$me generated by metaconfig 3.0 PL70." >&2
|
|
exit 0;;
|
|
--) break;;
|
|
-*) echo "$me: unknown option $1" >&2; shift; error=true;;
|
|
*) break;;
|
|
esac
|
|
done
|
|
|
|
case "$error" in
|
|
true)
|
|
cat >&2 <<EOM
|
|
Usage: $me [-dehrsEKOSV] [-install] [-f config.sh] [-D symbol] [-D symbol=value]
|
|
[-U symbol] [-U symbol=]
|
|
-d : use defaults for all answers.
|
|
-e : go on without questioning past the production of config.sh.
|
|
-install : start configuration AND installation of Geant4 libraries.
|
|
-f : specify an alternate default configuration file.
|
|
-h : print this help message and exit (with an error status).
|
|
-r : reuse C symbols value if possible (skips costly nm extraction).
|
|
-s : silent mode, only echoes questions and essential information.
|
|
-D : define symbol to have some value:
|
|
-D symbol symbol gets the value 'define'
|
|
-D symbol=value symbol gets the value 'value'
|
|
-E : stop at the end of questions, after having produced config.sh.
|
|
-K : do not use unless you know what you are doing.
|
|
-O : let -D and -U override definitions from loaded configuration file.
|
|
-S : perform variable substitutions on all .SH files (can mix with -f)
|
|
-U : undefine symbol:
|
|
-U symbol symbol gets the value 'undef'
|
|
-U symbol= symbol gets completely empty
|
|
-V : print version number and exit (with a zero status).
|
|
EOM
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
: Sanity checks
|
|
case "$fastread$alldone" in
|
|
yescont|yesexit) ;;
|
|
*)
|
|
if test ! -t 0; then
|
|
echo "Say 'sh Configure', not 'sh <Configure'"
|
|
exit 1
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
exec 4>&1
|
|
case "$silent" in
|
|
true) exec 1>/dev/null;;
|
|
esac
|
|
|
|
: run the defines and the undefines, if any, but leave the file out there...
|
|
touch optdef.sh
|
|
. ./optdef.sh
|
|
|
|
: set package name
|
|
package=g4conf
|
|
|
|
: Some greps do not return status, grrr.
|
|
echo "grimblepritz" >grimble
|
|
if grep blurfldyick grimble >/dev/null 2>&1 ; then
|
|
contains=contains
|
|
elif grep grimblepritz grimble >/dev/null 2>&1 ; then
|
|
contains=grep
|
|
else
|
|
contains=contains
|
|
fi
|
|
rm -f grimble
|
|
: the following should work in any shell
|
|
case "$contains" in
|
|
contains*)
|
|
echo " "
|
|
echo "Grep doesn't return a status!! Attempting remedial action."
|
|
cat >contains <<'EOSS'
|
|
grep "$1" "$2" >.greptmp && cat .greptmp && test -s .greptmp
|
|
EOSS
|
|
chmod +x contains
|
|
esac
|
|
|
|
: first determine how to suppress newline on echo command
|
|
echo " "
|
|
#echo "Checking echo to see how to suppress newlines..."
|
|
(echo "hi there\c" ; echo " ") >.echotmp
|
|
if $contains c .echotmp >/dev/null 2>&1 ; then
|
|
# echo "...using -n."
|
|
n='-n'
|
|
c=''
|
|
else
|
|
# cat <<'EOM'
|
|
#...using \c
|
|
#EOM
|
|
n=''
|
|
c='\c'
|
|
fi
|
|
#echo $n "The star should be here-->$c"
|
|
#echo '*'
|
|
rm -f .echotmp
|
|
|
|
: compute the number of columns on the terminal for proper question formatting
|
|
case "$COLUMNS" in
|
|
'') COLUMNS='80';;
|
|
esac
|
|
|
|
: set up the echo used in my read
|
|
myecho="case \"\$xxxm\" in
|
|
'') echo $n \"\$rp $c\" >&4;;
|
|
*) case \"\$rp\" in
|
|
'') echo $n \"[\$xxxm] $c\";;
|
|
*)
|
|
if test \`echo \"\$rp [\$xxxm] \" | wc -c\` -ge $COLUMNS; then
|
|
echo \"\$rp\" >&4
|
|
echo $n \"[\$xxxm] $c\" >&4
|
|
else
|
|
echo $n \"\$rp [\$xxxm] $c\" >&4
|
|
fi
|
|
;;
|
|
esac;;
|
|
esac"
|
|
|
|
: now set up to do reads with possible shell escape and default assignment
|
|
cat <<EOSC >myread
|
|
$startsh
|
|
xxxm=\$dflt
|
|
$myecho
|
|
ans='!'
|
|
case "\$fastread" in
|
|
yes) case "\$dflt" in
|
|
'') ;;
|
|
*) ans='';
|
|
case "\$silent-\$rp" in
|
|
true-) ;;
|
|
*) echo " " >&4;;
|
|
esac;;
|
|
esac;;
|
|
*) case "\$silent" in
|
|
true) case "\$rp" in
|
|
'') ans='';;
|
|
esac;;
|
|
esac;;
|
|
esac
|
|
while expr "X\$ans" : "X!" >/dev/null; do
|
|
read answ
|
|
set x \$xxxm
|
|
shift
|
|
aok=''; eval "ans=\\"\$answ\\"" && aok=y
|
|
case "\$answ" in
|
|
"!")
|
|
sh 1>&4
|
|
echo " "
|
|
$myecho
|
|
;;
|
|
!*)
|
|
set x \`expr "X\$ans" : "X!\(.*\)\$"\`
|
|
shift
|
|
sh 1>&4 -c "\$*"
|
|
echo " "
|
|
$myecho
|
|
;;
|
|
"\$ans")
|
|
case "\$ans" in
|
|
\\&*)
|
|
set x \`expr "X\$ans" : "X&\(.*\)\$"\`
|
|
shift
|
|
case "\$1" in
|
|
-d)
|
|
fastread=yes
|
|
echo "(OK, I'll run with -d after this question.)" >&4
|
|
;;
|
|
-*)
|
|
echo "*** Sorry, \$1 not supported yet." >&4
|
|
;;
|
|
esac
|
|
$myecho
|
|
ans=!
|
|
;;
|
|
esac;;
|
|
*)
|
|
case "\$aok" in
|
|
y)
|
|
echo "*** Substitution done -- please confirm."
|
|
xxxm="\$ans"
|
|
ans=\`echo $n "\$ans$c" | tr '\012' ' '\`
|
|
xxxm="\$ans"
|
|
ans=!
|
|
;;
|
|
*)
|
|
echo "*** Error -- try again."
|
|
ans=!
|
|
;;
|
|
esac
|
|
$myecho
|
|
;;
|
|
esac
|
|
case "\$ans\$xxxm\$nostick" in
|
|
'')
|
|
ans=!
|
|
$myecho
|
|
;;
|
|
esac
|
|
done
|
|
case "\$ans" in
|
|
'') ans="\$xxxm";;
|
|
esac
|
|
EOSC
|
|
|
|
: Find the path to the source tree
|
|
case "$src" in
|
|
'') src=`echo $0 | sed -e 's%/[^/][^/]*$%%'`
|
|
#echo "src=$src"
|
|
;;
|
|
esac
|
|
case "$src" in
|
|
'')
|
|
src=.
|
|
rsrc=..
|
|
;;
|
|
/*) rsrc="$src/.."
|
|
#echo "rsrc=$rsrc"
|
|
;;
|
|
./*) cur_dir=`pwd`
|
|
cd ../$src
|
|
src=`pwd`
|
|
cd $cur_dir
|
|
rsrc="$src/.."
|
|
rsrc="$src/.."
|
|
#echo "src=$src"
|
|
#echo "rsrc=$rsrc"
|
|
;;
|
|
*) rsrc="../$src"
|
|
#echo "rsrc=$rsrc"
|
|
;;
|
|
esac
|
|
#cur_dir=`pwd`
|
|
#echo "cur_dir=$cur_dir"
|
|
if test -f $src/Configure && \
|
|
$contains "^package=$package" $src/Configure >/dev/null 2>&1
|
|
then
|
|
: found it, so we are ok.
|
|
else
|
|
rsrc=''
|
|
for src in . .. ../.. ../../.. ../../../..; do
|
|
if test -f ../$src/Configure && \
|
|
$contains "^package=$package" ../$src/Configure >/dev/null 2>&1
|
|
then
|
|
rsrc=../$src
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
case "$rsrc" in
|
|
'')
|
|
echo " "
|
|
# dflt=
|
|
# rp="Directory where sources for $package are located?"
|
|
# . ./myread
|
|
# src="$ans"
|
|
rsrc="$src"
|
|
#echo "src=$src"
|
|
#echo "rsrc=$rsrc"
|
|
if test -f $rsrc/Configure && \
|
|
$contains "^package=$package" $rsrc/Configure >/dev/null 2>&1
|
|
then
|
|
echo "Ok, I've found them under $src"
|
|
else
|
|
echo "Sorry, I can't seem to be able to locate $package sources." >&4
|
|
exit 1
|
|
fi
|
|
;;
|
|
../.) ;;
|
|
*)
|
|
echo " "
|
|
echo "Sources for $package found in $src" >&4
|
|
;;
|
|
esac
|
|
|
|
: script used to extract .SH files with variable substitutions
|
|
cat >extract <<'EOS'
|
|
CONFIG=true
|
|
#echo "Doing variable substitutions on .SH files..."
|
|
if test -f $src/MANIFEST; then
|
|
set x `awk '{print $1}' <$src/MANIFEST | grep '\.SH'`
|
|
else
|
|
# echo "(Looking for .SH files under the source directory.)"
|
|
set x `(cd $src; find ./config/scripts -name "*.SH" -print)`
|
|
fi
|
|
shift
|
|
case $# in
|
|
0) set x `(cd $src; echo *.SH)`; shift;;
|
|
esac
|
|
if test ! -f $src/$1; then
|
|
shift
|
|
fi
|
|
mkdir_p='
|
|
name=$1;
|
|
create="";
|
|
while test $name; do
|
|
if test ! -d "$name"; then
|
|
create="$name $create";
|
|
name=`echo $name | sed -e "s|^[^/]*$||"`;
|
|
name=`echo $name | sed -e "s|\(.*\)/.*|\1|"`;
|
|
else
|
|
name="";
|
|
fi;
|
|
done;
|
|
for file in $create; do
|
|
mkdir $file;
|
|
done
|
|
'
|
|
for file in $*; do
|
|
case "$src" in
|
|
".")
|
|
case "$file" in
|
|
*/*)
|
|
dir=`expr X$file : 'X\(.*\)/'`
|
|
file_SH=`expr X$file : 'X.*/\(.*\)'`
|
|
file_EX=`expr X$file : 'X.*/\(.*\).SH'`
|
|
(cd $dir && . ./$file_SH && mkdir -p $abssrc/.config/bin/$g4system && mv $file_EX $abssrc/.config/bin/$g4system)
|
|
# echo Sergei_1
|
|
# echo "file_SH=$file_SH"
|
|
# echo "file_EX=$file_EX"
|
|
# echo "file=$file"
|
|
# echo "dir=$dir"
|
|
# echo "src=$src"
|
|
# echo "g4system=$g4system"
|
|
# echo Sergei_1
|
|
;;
|
|
*)
|
|
file_SH=`expr X$file : 'X.*/\(.*\)'`
|
|
file_EX=`expr X$file : 'X.*/\(.*\).SH'`
|
|
(. ./$file && mkdir -p $abssrc/.config/bin/$g4system && mv file-SH $abssrc/.config/bin/$g4system)
|
|
# echo Sergei_2
|
|
# echo "file_SH=$file_SH"
|
|
# echo "file_EX=$file_EX"
|
|
# echo "file=$file"
|
|
# echo "dir=$dir"
|
|
# echo "src=$src"
|
|
# echo "g4system=$g4system"
|
|
# echo Sergei_2
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
case "$file" in
|
|
*/*)
|
|
dir=`expr X$file : 'X\(.*\)/'`
|
|
file_SH=`expr X$file : 'X.*/\(.*\)'`
|
|
file_EX=`expr X$file : 'X.*/\(.*\)\.SH'`
|
|
(set x $dir; shift; eval $mkdir_p)
|
|
|
|
(sh <$src/$dir/$file_SH && mkdir -p $src/.config/bin/$g4system && mv $file_EX $src/.config/bin/$g4system)
|
|
|
|
# echo Sergei_3
|
|
# echo "dir=$dir"
|
|
# echo "file=$file"
|
|
|
|
# echo Sergei_3
|
|
;;
|
|
*)
|
|
file_SH=`expr X$file : 'X.*/\(.*\)'`
|
|
file_EX=`expr X$file : 'X.*/\(.*\)\.SH'`
|
|
(sh <$src/$file && mkdir -p $src/.config/bin/$g4system && mv $file_EX $src/.config/bin/$g4system)
|
|
echo Sergei_4
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
done
|
|
if test -f $src/config_h.SH; then
|
|
if test ! -f config.h; then
|
|
: oops, they left it out of MANIFEST, probably, so do it anyway.
|
|
. $src/config_h.SH
|
|
fi
|
|
fi
|
|
EOS
|
|
|
|
: extract files and exit if asked to do so
|
|
case "$extractsh" in
|
|
true)
|
|
case "$realsilent" in
|
|
true) ;;
|
|
*) exec 1>&4;;
|
|
esac
|
|
case "$config_sh" in
|
|
'') config_sh='$g4conf/config.sh'; config="$g4conf/config.sh";;
|
|
/*) config="$g4conf/$config_sh";;
|
|
*) config="$g4conf/$config_sh";;
|
|
esac
|
|
echo " "
|
|
echo "Fetching answers from $config_sh..."
|
|
. $config
|
|
test "$override" && . ./optdef.sh
|
|
echo " "
|
|
cd ..
|
|
. UU/extract
|
|
rm -rf UU
|
|
echo "Done."
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
: Eunice requires " " instead of "", can you believe it
|
|
echo " "
|
|
: Here we go...
|
|
if [ X$install = Xyes ] ; then
|
|
echo " "
|
|
echo " "
|
|
echo " "
|
|
echo " --- Geant4 Toolkit Installation ---"
|
|
echo " "
|
|
echo " "
|
|
echo " "
|
|
echo " "
|
|
else
|
|
echo " "
|
|
echo " "
|
|
echo " "
|
|
echo " --- Geant4 Toolkit Installation ---"
|
|
echo " (setting environments for USER )"
|
|
echo " "
|
|
echo " "
|
|
echo " "
|
|
fi
|
|
|
|
trap 'echo " ";rm -rf ../UU; test -d ../UU && rm -rf X $rmlist; exit 1' 1 2 3 15
|
|
|
|
: create .config dir to save info across Configure sessions
|
|
test -d ../.config || mkdir ../.config
|
|
cat >../.config/README <<EOF
|
|
This directory created by Configure to save information that should
|
|
persist across sessions for $package.
|
|
|
|
You may safely delete it if you wish.
|
|
EOF
|
|
|
|
: general instructions
|
|
needman=true
|
|
firsttime=true
|
|
user=`(logname) 2>/dev/null`
|
|
case "$user" in
|
|
'') user=`whoami 2>&1`;;
|
|
esac
|
|
if [ X$install = Xyes ] ; then
|
|
if $contains "^$user\$" ../.config/instruct >/dev/null 2>&1; then
|
|
firsttime=false
|
|
echo " "
|
|
rp='Would you like to see the instructions?'
|
|
dflt=n
|
|
. ./myread
|
|
case "$ans" in
|
|
[yY]*) ;;
|
|
*) needman=false;;
|
|
esac
|
|
fi
|
|
fi
|
|
|
|
if [ X$install = X ] ; then
|
|
needman=false
|
|
fi
|
|
|
|
if $needman; then
|
|
cat <<EOH
|
|
|
|
This installation shell script will examine your system and ask you questions
|
|
to determine how the Geant4 Toolkit should be installed. If you get stuck on
|
|
a question, you may use a ! shell escape to start a subshell or execute a
|
|
command. Many of the questions will have default answers in square brackets;
|
|
typing carriage return will set the default.
|
|
|
|
If asked for a path or file name, you are allowed to use the ~username
|
|
construct to specify the AFS path.
|
|
Questions where this is allowed will be marked "(~username ok)".
|
|
|
|
EOH
|
|
rp=''
|
|
dflt='Type carriage return to continue'
|
|
. ./myread
|
|
cat <<'EOH'
|
|
|
|
The prompt used in this script allows you to use shell variables and backticks
|
|
in your answers. You may use $1, $2, etc... to refer to the words in the
|
|
default answer, as if the default line was a set of arguments given to a
|
|
script shell. This means you may also use $* to repeat the whole default line.
|
|
|
|
Everytime there is a substitution, you will have to confirm. If there is an
|
|
error (e.g. an unmatched backtick), the default answer will remain unchanged
|
|
and you will be prompted again.
|
|
|
|
Running 'Configure -d' will bypass nearly all the questions and use the
|
|
computed defaults (or the previous answers if there was already a config.sh
|
|
file generated).
|
|
|
|
Type 'Configure -h' for a list of options.
|
|
|
|
You may also start interactively and then answer '& -d' at any prompt to turn
|
|
on the non-interactive behaviour for the rest of the execution.
|
|
|
|
EOH
|
|
. ./myread
|
|
cat <<EOH
|
|
|
|
Much effort has been spent to ensure that this shell script will run on any
|
|
Unix system. If despite that you can't run Configure for some reason, you'll
|
|
have to set the proper environment variables by hand and follow the "manual"
|
|
installation.
|
|
|
|
EOH
|
|
dflt='Type carriage return to continue'
|
|
. ./myread
|
|
case "$firsttime" in
|
|
true) echo $user >>../.config/instruct;;
|
|
esac
|
|
fi
|
|
|
|
: find out where common programs are
|
|
echo " "
|
|
echo "Locating common programs..." >&4
|
|
cat <<EOSC >loc
|
|
$startsh
|
|
case \$# in
|
|
0) exit 1;;
|
|
esac
|
|
thing=\$1
|
|
shift
|
|
dflt=\$1
|
|
shift
|
|
for dir in \$*; do
|
|
case "\$thing" in
|
|
.)
|
|
if test -d \$dir/\$thing; then
|
|
echo \$dir
|
|
exit 0
|
|
fi
|
|
;;
|
|
*)
|
|
for thisthing in \$dir/\$thing; do
|
|
: just loop through to pick last item
|
|
done
|
|
if test -f \$thisthing; then
|
|
echo \$thisthing
|
|
exit 0
|
|
elif test -f \$dir/\$thing.exe; then
|
|
: on Eunice apparently
|
|
echo \$dir/\$thing
|
|
exit 0
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
echo \$dflt
|
|
exit 1
|
|
EOSC
|
|
chmod +x loc
|
|
$eunicefix loc
|
|
loclist="
|
|
awk
|
|
cat
|
|
expr
|
|
rm
|
|
sed
|
|
touch
|
|
tr
|
|
"
|
|
trylist="
|
|
date
|
|
ln
|
|
test
|
|
uname
|
|
"
|
|
pth=`echo $PATH | sed -e "s/$p_/ /g"`
|
|
pth="$pth /lib /usr/lib"
|
|
for file in $loclist; do
|
|
eval xxx=\$$file
|
|
case "$xxx" in
|
|
/*|?:[\\/]*)
|
|
if test -f "$xxx"; then
|
|
: ok
|
|
else
|
|
echo "WARNING: no $xxx -- ignoring your setting for $file." >&4
|
|
xxx=`./loc $file $file $pth`
|
|
fi
|
|
;;
|
|
'') xxx=`./loc $file $file $pth`;;
|
|
*) xxx=`./loc $xxx $xxx $pth`;;
|
|
esac
|
|
eval $file=$xxx
|
|
eval _$file=$xxx
|
|
case "$xxx" in
|
|
/*)
|
|
echo $file is in $xxx.
|
|
;;
|
|
?:[\\/]*)
|
|
echo $file is in $xxx.
|
|
;;
|
|
*)
|
|
echo "I don't know where '$file' is." >&4
|
|
echo "Please, install it or fix your PATH settings!" >&4
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
echo " "
|
|
echo "Don't worry if any of the following aren't found..."
|
|
say=offhand
|
|
for file in $trylist; do
|
|
eval xxx=\$$file
|
|
case "$xxx" in
|
|
/*|?:[\\/]*)
|
|
if test -f "$xxx"; then
|
|
: ok
|
|
else
|
|
echo "WARNING: no $xxx -- ignoring your setting for $file." >&4
|
|
xxx=`./loc $file $file $pth`
|
|
fi
|
|
;;
|
|
'') xxx=`./loc $file $file $pth`;;
|
|
*) xxx=`./loc $xxx $xxx $pth`;;
|
|
esac
|
|
eval $file=$xxx
|
|
eval _$file=$xxx
|
|
case "$xxx" in
|
|
/*)
|
|
echo $file is in $xxx.
|
|
;;
|
|
?:[\\/]*)
|
|
echo $file is in $xxx.
|
|
;;
|
|
*)
|
|
echo "I don't see $file out there, $say."
|
|
say=either
|
|
;;
|
|
esac
|
|
done
|
|
case "$egrep" in
|
|
egrep)
|
|
echo "Substituting grep for egrep."
|
|
egrep=$grep
|
|
;;
|
|
esac
|
|
case "$ln" in
|
|
ln)
|
|
echo "Substituting cp for ln."
|
|
ln=$cp
|
|
;;
|
|
esac
|
|
case "$test" in
|
|
test)
|
|
echo "Hopefully test is built into your sh."
|
|
;;
|
|
*)
|
|
if `sh -c "PATH= test true" >/dev/null 2>&1`; then
|
|
echo "Using the test built into your sh."
|
|
test=test
|
|
_test=test
|
|
fi
|
|
;;
|
|
esac
|
|
case "$echo" in
|
|
echo)
|
|
echo "Hopefully echo is built into your sh."
|
|
;;
|
|
'') ;;
|
|
*)
|
|
echo " "
|
|
echo "Checking compatibility between $echo and builtin echo (if any)..." >&4
|
|
$echo $n "hi there$c" >foo1
|
|
echo $n "hi there$c" >foo2
|
|
if cmp foo1 foo2 >/dev/null 2>&1; then
|
|
echo "They are compatible. In fact, they may be identical."
|
|
else
|
|
case "$n" in
|
|
'-n') n='' c='\c';;
|
|
*) n='-n' c='';;
|
|
esac
|
|
cat <<FOO
|
|
They are not compatible! You are probably running ksh on a non-USG system.
|
|
I'll have to use $echo instead of the builtin, since Bourne shell doesn't
|
|
have echo built in and we may have to run some Bourne shell scripts. That
|
|
means I'll have to use '$n$c' to suppress newlines now.
|
|
|
|
FOO
|
|
$echo $n "The star should be here-->$c"
|
|
$echo "*"
|
|
fi
|
|
$rm -f foo1 foo2
|
|
;;
|
|
esac
|
|
|
|
: determine whether symbolic links are supported
|
|
echo " "
|
|
$touch blurfl
|
|
if $ln -s blurfl sym > /dev/null 2>&1 ; then
|
|
echo "Symbolic links are supported." >&4
|
|
lns="$ln -s"
|
|
else
|
|
echo "Symbolic links are NOT supported." >&4
|
|
lns="$ln"
|
|
fi
|
|
$rm -f blurfl sym
|
|
|
|
: see whether [:lower:] and [:upper:] are supported character classes
|
|
echo " "
|
|
up='[A-Z]'
|
|
low='[a-z]'
|
|
case "`echo AbyZ | $tr '[:lower:]' '[:upper:]' 2>/dev/null`" in
|
|
ABYZ)
|
|
echo "Good, your tr supports [:lower:] and [:upper:] to convert case." >&4
|
|
up='[:upper:]'
|
|
low='[:lower:]'
|
|
;;
|
|
*)
|
|
echo "Your tr only supports [a-z] and [A-Z] to convert case." >&4
|
|
;;
|
|
esac
|
|
: set up the translation script tr, must be called with ./tr of course
|
|
cat >tr <<EOSC
|
|
$startsh
|
|
case "\$1\$2" in
|
|
'[A-Z][a-z]') exec $tr '$up' '$low';;
|
|
'[a-z][A-Z]') exec $tr '$low' '$up';;
|
|
esac
|
|
exec $tr "\$@"
|
|
EOSC
|
|
chmod +x tr
|
|
$eunicefix tr
|
|
|
|
: Try to determine whether config.sh was made on this system
|
|
case "$config_sh" in
|
|
'')
|
|
myuname=`( ($uname -a) 2>/dev/null || hostname) 2>&1`
|
|
myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e 's/\///g' | \
|
|
./tr '[A-Z]' '[a-z]' | tr '\012' ' '`
|
|
newmyuname="$myuname"
|
|
dflt=n
|
|
case "$knowitall" in
|
|
'')
|
|
if test -f ../config.sh; then
|
|
if $contains myuname= ../config.sh >/dev/null 2>&1; then
|
|
eval "`grep myuname= ../config.sh`"
|
|
fi
|
|
if test "X$myuname" = "X$newmyuname"; then
|
|
dflt=y
|
|
fi
|
|
fi
|
|
;;
|
|
*) dflt=y;;
|
|
esac
|
|
|
|
: Get old answers from old config file if Configure was run on the
|
|
: same system, otherwise use the hints.
|
|
hint=default
|
|
cd ..
|
|
|
|
(cd $src/hints; ls -C *.sh) | $sed 's/\.sh/ /g' >&4
|
|
dflt=''
|
|
: Half the following guesses are probably wrong... If you have better
|
|
: tests or hints, please send them to Serguei.Sadilov@cern.ch
|
|
: The metaconfig authors would also appreciate a copy...
|
|
$test -f /irix && osname=irix
|
|
$test -f /xenix && osname=sco_xenix
|
|
$test -f /dynix && osname=dynix
|
|
$test -f /dnix && osname=dnix
|
|
$test -f /lynx.os && osname=lynxos
|
|
$test -f /unicos && osname=unicos && osvers=`$uname -r`
|
|
$test -f /unicosmk.ar && osname=unicosmk && osvers=`$uname -r`
|
|
$test -f /bin/mips && /bin/mips && osname=mips
|
|
$test -d /NextApps && set X `hostinfo | grep 'NeXT Mach.*:' | \
|
|
$sed -e 's/://' -e 's/\./_/'` && osname=next && osvers=$4
|
|
$test -d /usr/apollo/bin && osname=apollo
|
|
$test -f /etc/saf/_sactab && osname=svr4
|
|
$test -d /usr/include/minix && osname=minix
|
|
if $test -d /MachTen; then
|
|
osname=machten
|
|
if $test -x /sbin/version; then
|
|
osvers=`/sbin/version | $awk '{print $2}' |
|
|
$sed -e 's/[A-Za-z]$//'`
|
|
elif $test -x /usr/etc/version; then
|
|
osvers=`/usr/etc/version | $awk '{print $2}' |
|
|
$sed -e 's/[A-Za-z]$//'`
|
|
else
|
|
osvers="$2.$3"
|
|
fi
|
|
fi
|
|
if $test -f $uname; then
|
|
set X $myuname
|
|
shift
|
|
|
|
case "$5" in
|
|
fps*) osname=fps ;;
|
|
mips*)
|
|
case "$4" in
|
|
umips) osname=umips ;;
|
|
*) osname=mips ;;
|
|
esac;;
|
|
[23]100) osname=mips ;;
|
|
next*) osname=next ;;
|
|
news*) osname=news ;;
|
|
i386*)
|
|
if $test -f /etc/kconfig; then
|
|
osname=isc
|
|
if test "$lns" = "ln -s"; then
|
|
osvers=4
|
|
elif $contains _SYSV3 /usr/include/stdio.h > /dev/null 2>&1 ; then
|
|
osvers=3
|
|
elif $contains _POSIX_SOURCE /usr/include/stdio.h > /dev/null 2>&1 ; then
|
|
osvers=2
|
|
fi
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
case "$1" in
|
|
aix) osname=aix
|
|
tmp=`( (oslevel) 2>/dev/null || echo "not found") 2>&1`
|
|
case "$tmp" in
|
|
'not found') osvers="$4"."$3" ;;
|
|
'<3240'|'<>3240') osvers=3.2.0 ;;
|
|
'=3240'|'>3240'|'<3250'|'<>3250') osvers=3.2.4 ;;
|
|
'=3250'|'>3250') osvers=3.2.5 ;;
|
|
*) osvers=$tmp;;
|
|
esac
|
|
;;
|
|
*dc.osx) osname=dcosx
|
|
osvers="$3"
|
|
;;
|
|
dnix) osname=dnix
|
|
osvers="$3"
|
|
;;
|
|
domainos) osname=apollo
|
|
osvers="$3"
|
|
;;
|
|
dgux) osname=dgux
|
|
osvers="$3"
|
|
;;
|
|
dynixptx*) osname=dynixptx
|
|
osvers="$3"
|
|
;;
|
|
freebsd) osname=freebsd
|
|
osvers="$3" ;;
|
|
genix) osname=genix ;;
|
|
hp*) osname=hpux
|
|
case "$3" in
|
|
*.08.*) osvers=9 ;;
|
|
*.09.*) osvers=9 ;;
|
|
*.10.*) osvers=10 ;;
|
|
*) osvers="$3" ;;
|
|
esac
|
|
;;
|
|
irix*) osname=irix
|
|
case "$3" in
|
|
4*) osvers=4 ;;
|
|
5*) osvers=5 ;;
|
|
*) osvers="$3" ;;
|
|
esac
|
|
;;
|
|
linux) osname=linux
|
|
case "$3" in
|
|
1*) osvers=1 ;;
|
|
*) osvers="$3" ;;
|
|
esac
|
|
;;
|
|
netbsd*) osname=netbsd
|
|
osvers="$3"
|
|
;;
|
|
bsd386) osname=bsd386
|
|
osvers=`$uname -r`
|
|
;;
|
|
next*) osname=next ;;
|
|
solaris) osname=solaris
|
|
case "$3" in
|
|
5*) osvers=`echo $3 | $sed 's/^5/2/g'` ;;
|
|
*) osvers="$3" ;;
|
|
esac
|
|
;;
|
|
sunos) osname=sunos
|
|
case "$3" in
|
|
5*) osname=solaris
|
|
osvers=`echo $3 | $sed 's/^5/2/g'` ;;
|
|
*) osvers="$3" ;;
|
|
esac
|
|
;;
|
|
titanos) osname=titanos
|
|
case "$3" in
|
|
1*) osvers=1 ;;
|
|
2*) osvers=2 ;;
|
|
3*) osvers=3 ;;
|
|
4*) osvers=4 ;;
|
|
*) osvers="$3" ;;
|
|
esac
|
|
;;
|
|
ultrix) osname=ultrix
|
|
osvers="$3"
|
|
;;
|
|
osf1|mls+) case "$5" in
|
|
alpha)
|
|
osname=dec_osf
|
|
osvers=`echo "$3" | sed 's/^[vt]//'`
|
|
;;
|
|
hp*) osname=hp_osf1 ;;
|
|
mips) osname=mips_osf1 ;;
|
|
esac
|
|
;;
|
|
uts) osname=uts
|
|
osvers="$3"
|
|
;;
|
|
qnx) osname=qnx
|
|
osvers="$4"
|
|
;;
|
|
$2) case "$osname" in
|
|
*isc*) ;;
|
|
*freebsd*) ;;
|
|
svr*)
|
|
: svr4.x or possibly later
|
|
case "svr$3" in
|
|
${osname}*)
|
|
osname=svr$3
|
|
osvers=$4
|
|
;;
|
|
esac
|
|
case "$osname" in
|
|
svr4.0)
|
|
: Check for ESIX
|
|
if test -f /stand/boot ; then
|
|
eval `grep '^INITPROG=[a-z/0-9]*$' /stand/boot`
|
|
if test -n "$INITPROG" -a -f "$INITPROG"; then
|
|
isesix=`strings -a $INITPROG|grep 'ESIX SYSTEM V/386 Release 4.0'`
|
|
if test -n "$isesix"; then
|
|
osname=esix4
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
*) if test -f /etc/systemid; then
|
|
osname=sco
|
|
set `echo $3 | $sed 's/\./ /g'` $4
|
|
if $test -f sco_$1_$2_$3.sh; then
|
|
osvers=$1.$2.$3
|
|
elif $test -f sco_$1_$2.sh; then
|
|
osvers=$1.$2
|
|
elif $test -f sco_$1.sh; then
|
|
osvers=$1
|
|
fi
|
|
else
|
|
case "$osname" in
|
|
'') : Still unknown. Probably a generic Sys V.
|
|
osname="sysv"
|
|
osvers="$3"
|
|
;;
|
|
esac
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
*) case "$osname" in
|
|
'') : Still unknown. Probably a generic BSD.
|
|
osname="$1"
|
|
osvers="$3"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
else
|
|
if test -f /vmunix -a -f $src/hints/news_os.sh; then
|
|
(what /vmunix | UU/tr '[A-Z]' '[a-z]') > UU/kernel.what 2>&1
|
|
if $contains news-os UU/kernel.what >/dev/null 2>&1; then
|
|
osname=news_os
|
|
fi
|
|
$rm -f UU/kernel.what
|
|
elif test -d c:/.; then
|
|
set X $myuname
|
|
osname=os2
|
|
osvers="$5"
|
|
fi
|
|
fi
|
|
: Now look for a hint file osname_osvers, unless one has been
|
|
: specified already.
|
|
case "$hintfile" in
|
|
''|' ')
|
|
file=`echo "${osname}_${osvers}" | $sed -e 's@\.@_@g' -e 's@_$@@'`
|
|
: Also try without trailing minor version numbers.
|
|
xfile=`echo $file | $sed -e 's@_[^_]*$@@'`
|
|
xxfile=`echo $xfile | $sed -e 's@_[^_]*$@@'`
|
|
xxxfile=`echo $xxfile | $sed -e 's@_[^_]*$@@'`
|
|
xxxxfile=`echo $xxxfile | $sed -e 's@_[^_]*$@@'`
|
|
case "$file" in
|
|
'') dflt=none ;;
|
|
*) case "$osvers" in
|
|
'') dflt=$file
|
|
;;
|
|
*) if $test -f $src/hints/$file.sh ; then
|
|
dflt=$file
|
|
elif $test -f $src/hints/$xfile.sh ; then
|
|
dflt=$xfile
|
|
elif $test -f $src/hints/$xxfile.sh ; then
|
|
dflt=$xxfile
|
|
elif $test -f $src/hints/$xxxfile.sh ; then
|
|
dflt=$xxxfile
|
|
elif $test -f $src/hints/$xxxxfile.sh ; then
|
|
dflt=$xxxxfile
|
|
elif $test -f "$src/hints/${osname}.sh" ; then
|
|
dflt="${osname}"
|
|
else
|
|
dflt=none
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
dflt=`echo $hintfile | $sed 's/\.sh$//'`
|
|
;;
|
|
esac
|
|
|
|
if [ X$install = Xnever ] ; then
|
|
$cat <<EOM
|
|
|
|
You may give one or more space-separated answers, or "none" if appropriate.
|
|
If your OS version has no hints, DO NOT give a wrong version -- say "none".
|
|
|
|
EOM
|
|
rp="Which of these apply, if any?"
|
|
. UU/myread
|
|
tans=$ans
|
|
for file in $tans; do
|
|
if $test -f $src/hints/$file.sh; then
|
|
. $src/hints/$file.sh
|
|
$cat $src/hints/$file.sh >> UU/config.sh
|
|
elif $test X$tans = X -o X$tans = Xnone ; then
|
|
: nothing
|
|
else
|
|
: Give one chance to correct a possible typo.
|
|
echo "$file.sh does not exist"
|
|
dflt=$file
|
|
rp="hint to use instead?"
|
|
. UU/myread
|
|
for file in $ans; do
|
|
if $test -f "$src/hints/$file.sh"; then
|
|
. $src/hints/$file.sh
|
|
$cat $src/hints/$file.sh >> UU/config.sh
|
|
elif $test X$ans = X -o X$ans = Xnone ; then
|
|
: nothing
|
|
else
|
|
echo "$file.sh does not exist -- ignored."
|
|
fi
|
|
done
|
|
fi
|
|
done
|
|
fi
|
|
|
|
hint=recommended
|
|
: Remember our hint file for later.
|
|
if $test -f "$src/hints/$file.sh" ; then
|
|
hintfile="$file"
|
|
else
|
|
hintfile=''
|
|
fi
|
|
: Sadilov: g4system.U - inserted here.
|
|
: 'current' directory is where 'Configure' is started
|
|
echo " "
|
|
case "$g4osname" in
|
|
|
|
'')
|
|
case "$osname" in
|
|
'aix') g4osname=AIX
|
|
;;
|
|
'dec_osf') g4osname=DEC
|
|
;;
|
|
'hpux') g4osname=HP
|
|
;;
|
|
'linux') g4osname=Linux
|
|
;;
|
|
'irix') g4osname=SGI
|
|
;;
|
|
'sunos') g4osname=SUN
|
|
;;
|
|
esac
|
|
esac
|
|
|
|
echo " "
|
|
|
|
case "$g4compiler" in
|
|
|
|
'')
|
|
case "$g4osname" in
|
|
'AIX')
|
|
g4compiler=xlC
|
|
;;
|
|
'DEC')
|
|
g4compiler=cxx
|
|
;;
|
|
'HP')
|
|
g4compiler=aCC
|
|
;;
|
|
'Linux')
|
|
g4compiler=g++
|
|
;;
|
|
'SGI')
|
|
g4compiler=CC
|
|
;;
|
|
'SUN')
|
|
g4compiler=CC
|
|
;;
|
|
esac
|
|
esac
|
|
|
|
if [ X$install = Xyes ] ; then
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Definition of G4SYSTEM variable.
|
|
|
|
1) OS : $g4osname
|
|
|
|
2) Compiler : $g4compiler
|
|
|
|
Select from list above (e.g. 2)
|
|
EOM`
|
|
|
|
dflt="Press [Enter] for default settings"
|
|
rp=$g4message
|
|
. UU/myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
1)
|
|
case "$osname" in
|
|
'aix')
|
|
g4osnamerec=AIX
|
|
;;
|
|
'dec_osf')
|
|
g4osnamerec=DEC
|
|
;;
|
|
'hpux')
|
|
g4osnamerec=HP
|
|
;;
|
|
'linux')
|
|
g4osnamerec=Linux
|
|
;;
|
|
'irix')
|
|
g4osnamerec=SGI
|
|
;;
|
|
'sunos')
|
|
g4osnamerec=SUN
|
|
;;
|
|
esac
|
|
dflt=$g4osname
|
|
rp="What is your OS'?"
|
|
. UU/myread
|
|
tans=$ans
|
|
|
|
if test X$tans != X$g4osnamerec ; then
|
|
echo ""
|
|
|
|
cat << EOM
|
|
|
|
You are running 'Configure' on NOT native platform!
|
|
You are on your own way !!!
|
|
|
|
EOM
|
|
|
|
dflt=$tans
|
|
rp="Confirm your selection or set native '$g4osnamerec'!"
|
|
. UU/myread
|
|
tans=$ans
|
|
fi
|
|
|
|
g4osname=$tans
|
|
;;
|
|
2)
|
|
case "$g4osname" in
|
|
'AIX')
|
|
g4compilerrec=xlC
|
|
;;
|
|
'DEC')
|
|
g4compilerrec=cxx
|
|
;;
|
|
'HP')
|
|
g4compilerrec=aCC
|
|
;;
|
|
'Linux')
|
|
g4compilerrec=g++
|
|
;;
|
|
'SGI')
|
|
g4compilerrec=CC
|
|
;;
|
|
'SUN')
|
|
g4compilerrec=CC
|
|
;;
|
|
esac
|
|
dflt=$g4compiler
|
|
rp="Which C++ compiler?"
|
|
. UU/myread
|
|
tans=$ans
|
|
|
|
if test X$tans != X$g4compilerrec ; then
|
|
echo ""
|
|
|
|
cat << EOM
|
|
|
|
The recommmended compiler for this platform ($g4osname) is $g4compilerrec.
|
|
You are on your own way !!!
|
|
|
|
EOM
|
|
|
|
dflt=$tans
|
|
rp="Confirm your selection or set recommended '$g4compilerrec'!"
|
|
. UU/myread
|
|
tans=$ans
|
|
fi
|
|
|
|
g4compiler=$tans
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
*)
|
|
# echo " "
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
#
|
|
# Ask about compiler used.
|
|
#
|
|
g4system=$g4osname-$g4compiler
|
|
|
|
cat << EOM
|
|
|
|
G4SYSTEM is now set to $g4system.
|
|
|
|
EOM
|
|
|
|
cd UU
|
|
|
|
myuname=`( ($uname -a) 2>/dev/null || hostname) 2>&1`
|
|
myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e 's/\///g' | \
|
|
./tr '[A-Z]' '[a-z]' | tr '\012' ' '`
|
|
newmyuname="$myuname"
|
|
dflt=n
|
|
|
|
cd ..
|
|
if [ X$install = X ] ; then
|
|
if test -f $src/.config/bin/$g4system/env.sh; then
|
|
cat >&2 <<EOM
|
|
---------------------------------------------------
|
|
For setting Geant4 environments you should make:
|
|
|
|
source $src/.config/bin/$g4system/env.csh
|
|
|
|
or
|
|
|
|
. $src/.config/bin/$g4system/env.sh
|
|
---------------------------------------------------
|
|
EOM
|
|
$rm -rf UU
|
|
exit 1
|
|
else
|
|
echo " "
|
|
echo "WARNING: Geant4 is NOT installed yet!"
|
|
echo "You (or the administrator if you have not enough privileges)"
|
|
echo "should start with \$G4INSTALL/Configure -install."
|
|
echo "(where \$G4INSTALL is Geant4 install directory)."
|
|
echo " "
|
|
$rm -rf UU
|
|
exit 1
|
|
fi
|
|
fi
|
|
cd UU
|
|
|
|
case "$knowitall" in
|
|
'')
|
|
cd ..
|
|
if test -f $src/.config/bin/$g4system/config.sh; then
|
|
if $contains myuname= $src/.config/bin/$g4system/config.sh >/dev/null 2>&1; then
|
|
eval "`grep myuname= $src/.config/bin/$g4system/config.sh`"
|
|
fi
|
|
if test "X$myuname" = "X$newmyuname"; then
|
|
dflt=y
|
|
fi
|
|
fi
|
|
cd UU
|
|
;;
|
|
*) dflt=y;;
|
|
esac
|
|
|
|
cd ..
|
|
|
|
if test -f $src/.config/bin/$g4system/config.sh; then
|
|
echo " "
|
|
rp="There exists a config.sh file. Shall I use it to set the defaults?"
|
|
. UU/myread
|
|
case "$ans" in
|
|
n*|N*) echo "OK, I'll ignore it."; mv $src/.config/bin/$g4system/config.sh $src/.config/bin/$g4system/config.sh.old;;
|
|
*) echo "Fetching default answers from your old config.sh file..." >&4
|
|
tmp_n="$n"
|
|
tmp_c="$c"
|
|
tmp_sh="$sh"
|
|
. $src/.config/bin/$g4system/config.sh
|
|
cp $src/.config/bin/$g4system/config.sh UU
|
|
n="$tmp_n"
|
|
c="$tmp_c"
|
|
: Older versions did not always set $sh. Catch re-use of such
|
|
: an old config.sh.
|
|
case "$sh" in
|
|
'') sh="$tmp_sh" ;;
|
|
esac
|
|
hint=previous
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
cd UU
|
|
;;
|
|
*)
|
|
echo " "
|
|
echo "Fetching default answers from $config_sh..." >&4
|
|
tmp_n="$n"
|
|
tmp_c="$c"
|
|
cd ..
|
|
cp $config_sh config.sh 2>/dev/null
|
|
chmod +w config.sh
|
|
. ./config.sh
|
|
cd UU
|
|
cp ../config.sh .
|
|
n="$tmp_n"
|
|
c="$tmp_c"
|
|
hint=previous
|
|
;;
|
|
esac
|
|
test "$override" && . ./optdef.sh
|
|
myuname="$newmyuname"
|
|
|
|
: Restore computed paths
|
|
for file in $loclist $trylist; do
|
|
eval $file="\$_$file"
|
|
done
|
|
|
|
: who configured the system
|
|
cf_time=`$date 2>&1`
|
|
cf_by=`(logname) 2>/dev/null`
|
|
case "$cf_by" in
|
|
"")
|
|
cf_by=`(whoami) 2>/dev/null`
|
|
case "$cf_by" in
|
|
"") cf_by=unknown ;;
|
|
esac ;;
|
|
esac
|
|
|
|
: decide how portable to be
|
|
case "$d_portable" in
|
|
"$define") dflt=y;;
|
|
*) dflt=n;;
|
|
esac
|
|
$cat <<'EOH'
|
|
|
|
I can set things up so that your shell scripts and binaries are more portable,
|
|
at what may be a noticable cost in performance. In particular, if you
|
|
ask to be portable, the following happens:
|
|
|
|
1) Shell scripts will rely on the PATH variable rather than using
|
|
the paths derived above.
|
|
2) ~username interpretations will be done at run time rather than
|
|
by Configure.
|
|
|
|
EOH
|
|
rp="Do you expect to run these scripts and binaries on multiple machines?"
|
|
. ./myread
|
|
case "$ans" in
|
|
y*) d_portable="$define"
|
|
;;
|
|
*) d_portable="$undef" ;;
|
|
esac
|
|
|
|
: set up shell script to do ~ expansion
|
|
cat >filexp <<EOSS
|
|
$startsh
|
|
: expand filename
|
|
case "\$1" in
|
|
~/*|~)
|
|
echo \$1 | $sed "s|~|\${HOME-\$LOGDIR}|"
|
|
;;
|
|
~*)
|
|
if $test -f /bin/csh; then
|
|
/bin/csh -f -c "glob \$1"
|
|
failed=\$?
|
|
echo ""
|
|
exit \$failed
|
|
else
|
|
name=\`$expr x\$1 : '..\([^/]*\)'\`
|
|
dir=\`$sed -n -e "/^\${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'\$'"/\1/" -e p -e q -e '}' </etc/passwd\`
|
|
if $test ! -d "\$dir"; then
|
|
me=\`basename \$0\`
|
|
echo "\$me: can't locate home directory for: \$name" >&2
|
|
exit 1
|
|
fi
|
|
case "\$1" in
|
|
*/*)
|
|
echo \$dir/\`$expr x\$1 : '..[^/]*/\(.*\)'\`
|
|
;;
|
|
*)
|
|
echo \$dir
|
|
;;
|
|
esac
|
|
fi
|
|
;;
|
|
*)
|
|
echo \$1
|
|
;;
|
|
esac
|
|
EOSS
|
|
chmod +x filexp
|
|
$eunicefix filexp
|
|
|
|
: now set up to get a file name
|
|
cat <<EOS >getfile
|
|
$startsh
|
|
EOS
|
|
cat <<'EOSC' >>getfile
|
|
tilde=''
|
|
fullpath=''
|
|
already=''
|
|
skip=''
|
|
none_ok=''
|
|
exp_file=''
|
|
nopath_ok=''
|
|
orig_rp="$rp"
|
|
orig_dflt="$dflt"
|
|
|
|
case "$fn" in
|
|
*\(*)
|
|
expr $fn : '.*(\(.*\)).*' | tr ',' '\012' >getfile.ok
|
|
fn=`echo $fn | sed 's/(.*)//'`
|
|
;;
|
|
esac
|
|
|
|
case "$fn" in
|
|
*:*)
|
|
loc_file=`expr $fn : '.*:\(.*\)'`
|
|
fn=`expr $fn : '\(.*\):.*'`
|
|
;;
|
|
esac
|
|
|
|
case "$fn" in
|
|
*~*) tilde=true;;
|
|
esac
|
|
case "$fn" in
|
|
*/*) fullpath=true;;
|
|
esac
|
|
case "$fn" in
|
|
*+*) skip=true;;
|
|
esac
|
|
case "$fn" in
|
|
*n*) none_ok=true;;
|
|
esac
|
|
case "$fn" in
|
|
*e*) exp_file=true;;
|
|
esac
|
|
case "$fn" in
|
|
*p*) nopath_ok=true;;
|
|
esac
|
|
|
|
case "$fn" in
|
|
*f*) type='File';;
|
|
*d*) type='Directory';;
|
|
*l*) type='Locate';;
|
|
esac
|
|
|
|
what="$type"
|
|
case "$what" in
|
|
Locate) what='File';;
|
|
esac
|
|
|
|
case "$exp_file" in
|
|
'')
|
|
case "$d_portable" in
|
|
"$define") ;;
|
|
*) exp_file=true;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
cd ..
|
|
while test "$type"; do
|
|
redo=''
|
|
rp="$orig_rp"
|
|
dflt="$orig_dflt"
|
|
case "$tilde" in
|
|
true) rp="$rp (~name ok)";;
|
|
esac
|
|
. UU/myread
|
|
if test -f UU/getfile.ok && \
|
|
$contains "^$ans\$" UU/getfile.ok >/dev/null 2>&1
|
|
then
|
|
value="$ans"
|
|
ansexp="$ans"
|
|
break
|
|
fi
|
|
case "$ans" in
|
|
none)
|
|
value=''
|
|
ansexp=''
|
|
case "$none_ok" in
|
|
true) type='';;
|
|
esac
|
|
;;
|
|
*)
|
|
case "$tilde" in
|
|
'') value="$ans"
|
|
ansexp="$ans";;
|
|
*)
|
|
value=`UU/filexp $ans`
|
|
case $? in
|
|
0)
|
|
if test "$ans" != "$value"; then
|
|
echo "(That expands to $value on this system.)"
|
|
fi
|
|
;;
|
|
*) value="$ans";;
|
|
esac
|
|
ansexp="$value"
|
|
case "$exp_file" in
|
|
'') value="$ans";;
|
|
esac
|
|
;;
|
|
esac
|
|
case "$fullpath" in
|
|
true)
|
|
case "$ansexp" in
|
|
/*) value="$ansexp" ;;
|
|
*)
|
|
redo=true
|
|
case "$already" in
|
|
true)
|
|
echo "I shall only accept a full path name, as in /bin/ls." >&4
|
|
echo "Use a ! shell escape if you wish to check pathnames." >&4
|
|
;;
|
|
*)
|
|
echo "Please give a full path name, starting with slash." >&4
|
|
case "$tilde" in
|
|
true)
|
|
echo "Note that using ~username is ok provided it expands well." >&4
|
|
already=true
|
|
;;
|
|
esac
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
case "$redo" in
|
|
'')
|
|
case "$type" in
|
|
File)
|
|
if test -f "$ansexp"; then
|
|
type=''
|
|
elif test -r "$ansexp" || (test -h "$ansexp") >/dev/null 2>&1
|
|
then
|
|
echo "($value is not a plain file, but that's ok.)"
|
|
type=''
|
|
fi
|
|
;;
|
|
Directory)
|
|
if test -d "$ansexp"; then
|
|
type=''
|
|
fi
|
|
;;
|
|
Locate)
|
|
if test -d "$ansexp"; then
|
|
echo "(Looking for $loc_file in directory $value.)"
|
|
value="$value/$loc_file"
|
|
ansexp="$ansexp/$loc_file"
|
|
fi
|
|
if test -f "$ansexp"; then
|
|
type=''
|
|
fi
|
|
case "$nopath_ok" in
|
|
true) case "$value" in
|
|
*/*) ;;
|
|
*) echo "Assuming $value will be in people's path."
|
|
type=''
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
case "$skip" in
|
|
true) type='';
|
|
esac
|
|
|
|
case "$type" in
|
|
'') ;;
|
|
*)
|
|
if test "$fastread" = yes; then
|
|
dflt=y
|
|
else
|
|
dflt=n
|
|
fi
|
|
rp="$what $value doesn't exist. Use that name anyway?"
|
|
. UU/myread
|
|
dflt=''
|
|
case "$ans" in
|
|
y*) type='';;
|
|
*) echo " ";;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
done
|
|
cd UU
|
|
ans="$value"
|
|
rp="$orig_rp"
|
|
dflt="$orig_dflt"
|
|
rm -f getfile.ok
|
|
EOSC
|
|
|
|
echo " "
|
|
|
|
#echo "SSS"
|
|
#echo `pwd`
|
|
#echo "SSS"
|
|
|
|
if [ X$src = X. ] ; then
|
|
cd ..
|
|
abssrc=`pwd`
|
|
cd UU
|
|
else
|
|
abssrc=$src
|
|
fi
|
|
|
|
case "$g4conf" in
|
|
'')
|
|
g4conf=$abssrc/.config/bin/$g4system
|
|
;;
|
|
esac
|
|
|
|
#echo "g4conf=$g4conf"
|
|
|
|
case "$g4install" in
|
|
'')
|
|
g4install=$HOME/geant4
|
|
;;
|
|
esac
|
|
|
|
case "$g4base" in
|
|
'')
|
|
g4base=$g4install/source
|
|
;;
|
|
esac
|
|
|
|
case "$g4workdir" in
|
|
'')
|
|
g4workdir=$g4install
|
|
;;
|
|
esac
|
|
|
|
case "$g4includes_flag" in
|
|
'')
|
|
g4includes_flag=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4include" in
|
|
'')
|
|
g4include=$g4install/include
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Where is Geant4 installed?
|
|
EOM`
|
|
|
|
#dflt="NO DEFAULT ANSWER"
|
|
dflt=$g4install
|
|
fn='d~'
|
|
rp=$g4message
|
|
. ./getfile
|
|
g4install=$ans
|
|
g4workdir=$g4install
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Do you want to copy all Geant4 headers
|
|
in one directory?
|
|
EOM`
|
|
|
|
#dflt="NO DEFAULT ANSWER"
|
|
dflt=$g4includes_flag
|
|
#fn='d~'
|
|
rp=$g4message
|
|
. ./myread
|
|
g4includes_flag=$ans
|
|
|
|
if [ X$g4includes_flag = Xy ] ; then
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Where will be directory to copy all Geant4 headers?
|
|
EOM`
|
|
|
|
#dflt="NO DEFAULT ANSWER"
|
|
dflt=$g4include
|
|
fn='d~+'
|
|
rp=$g4message
|
|
. ./getfile
|
|
g4include=$ans
|
|
|
|
fi
|
|
|
|
g4base=$g4install/source
|
|
#if test "X$g4include" = "X[NOT DEFINED]" ; then
|
|
#g4include=""
|
|
#fi
|
|
|
|
echo " "
|
|
|
|
case "$g4tmp" in
|
|
'')
|
|
g4tmp=$g4workdir/tmp
|
|
;;
|
|
esac
|
|
|
|
case "$g4lib" in
|
|
'')
|
|
g4lib=$g4workdir/lib
|
|
;;
|
|
esac
|
|
|
|
case "$g4bin" in
|
|
'')
|
|
g4bin=$g4workdir/bin
|
|
;;
|
|
esac
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
(OPTIONAL) You can now customise installation directories:
|
|
G4TMP - tmp/ containing temporary dependency (.d) and object (.o) files;
|
|
G4LIB - lib/ containing final static (.a) or shared (.so) libraries;
|
|
G4BIN - bin/ containing final executable and scripts.
|
|
|
|
1) G4TMP: $g4tmp
|
|
|
|
2) G4LIB: $g4lib
|
|
|
|
3) G4BIN: $g4bin
|
|
|
|
Select from list above (e.g. 2)
|
|
EOM`
|
|
|
|
#dflt="NO DEFAULT ANSWER"
|
|
dflt="Press [Enter] for default settings"
|
|
#fn='d~'
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
|
|
case $gans in
|
|
|
|
1)
|
|
dflt=$g4tmp
|
|
fn='d~+'
|
|
rp="Where will be your Geant4 tmp directory?"
|
|
. ./getfile
|
|
g4tmp=$ans
|
|
;;
|
|
2)
|
|
dflt=$g4lib
|
|
fn='d~+'
|
|
rp="Where will be your Geant4 lib directory?"
|
|
. ./getfile
|
|
g4lib=$ans
|
|
;;
|
|
3)
|
|
dflt=$g4bin
|
|
fn='d~+'
|
|
rp="Where will be your Geant4 bin directory?"
|
|
. ./getfile
|
|
g4bin=$ans
|
|
;;
|
|
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
*)
|
|
break
|
|
# echo " "
|
|
;;
|
|
esac
|
|
done
|
|
echo " "
|
|
case "$g4clhep_base_dir" in
|
|
'')
|
|
g4clhep_base_dir=/usr/local
|
|
;;
|
|
esac
|
|
|
|
case "$g4clhep_include_dir" in
|
|
'')
|
|
g4clhep_include_dir=$g4clhep_base_dir/include
|
|
;;
|
|
esac
|
|
|
|
case "$g4clhep_lib_dir" in
|
|
'')
|
|
g4clhep_lib_dir=$g4clhep_base_dir/lib
|
|
;;
|
|
esac
|
|
|
|
case "$g4clhep_lib" in
|
|
'')
|
|
g4clhep_lib=CLHEP
|
|
;;
|
|
esac
|
|
|
|
#while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Please, specify where CLHEP is installed:
|
|
|
|
CLHEP_BASE_DIR: $g4clhep_base_dir
|
|
|
|
According to it will be set:
|
|
|
|
CLHEP_INCLUDE_DIR: \\$CLHEP_BASE_DIR/include
|
|
CLHEP_LIB_DIR: \\$CLHEP_BASE_DIR/lib
|
|
CLHEP_LIB: CLHEP
|
|
|
|
If you need to change one of those last three you can do it by editing
|
|
the generated config.sh at the end of this session.
|
|
EOM`
|
|
|
|
|
|
#dflt="Press [Enter] for default settings"
|
|
#fn='d~'
|
|
rp=$g4message
|
|
#. ./myread
|
|
#gans=$ans
|
|
|
|
# case $gans in
|
|
|
|
# 1)
|
|
dflt=$g4clhep_base_dir
|
|
fn='d~'
|
|
# rp="Where is CLHEP installed?"
|
|
. ./getfile
|
|
g4clhep_base_dir=$ans
|
|
g4clhep_include_dir=$ans/include
|
|
g4clhep_lib_dir=$ans/lib
|
|
# ;;
|
|
# 2)
|
|
# dflt=$g4clhep_include_dir
|
|
# fn='d~'
|
|
# rp="Where is CLHEP include directory?"
|
|
# . ./getfile
|
|
# g4clhep_include_dir=$ans
|
|
# ;;
|
|
# 3)
|
|
# dflt=$g4clhep_lib_dir
|
|
# fn='d~'
|
|
# rp="Where is CLHEP lib directory?"
|
|
# . ./getfile
|
|
# g4clhep_lib_dir=$ans
|
|
# ;;
|
|
# 4)
|
|
# dflt=$g4clhep_lib
|
|
# rp="What is CLHEP lib title?"
|
|
# . ./myread
|
|
# g4clhep_lib=$ans
|
|
# ;;
|
|
## [eE])
|
|
## break
|
|
## ;;
|
|
# *)
|
|
# echo " "
|
|
# break
|
|
# ;;
|
|
# esac
|
|
#done
|
|
echo " "
|
|
|
|
case "$g4data" in
|
|
'')
|
|
g4data=$g4install/data
|
|
;;
|
|
esac
|
|
|
|
case "$g4levelgammadata" in
|
|
'')
|
|
g4levelgammadata=$g4data/PhotonEvaporation
|
|
;;
|
|
esac
|
|
|
|
case "$g4radioactivedata" in
|
|
'')
|
|
g4radioactivedata=$g4data/RadiativeDecay
|
|
;;
|
|
esac
|
|
|
|
case "$g4ledata" in
|
|
'')
|
|
g4ledata=$g4install/../G4EMLOW
|
|
;;
|
|
esac
|
|
|
|
case "$g4neutronhpcrosssections" in
|
|
'')
|
|
g4neutronhpcrosssections=$g4install/../G4NDL
|
|
;;
|
|
esac
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Please, specify directories where the Geant4 data is installed:
|
|
|
|
1) G4LEVELGAMMADATA: $g4levelgammadata
|
|
|
|
2) G4RADIOACTIVEDATA: $g4radioactivedata
|
|
|
|
Data which is not part of the default Geant4 distribution:
|
|
|
|
3) G4LEDATA: $g4ledata
|
|
|
|
4) NeutronHPCrossSections: $g4neutronhpcrosssections
|
|
|
|
Select from list above (e.g. 2)
|
|
EOM`
|
|
|
|
#dflt="NO DEFAULT ANSWER"
|
|
dflt="Press [Enter] for default settings"
|
|
#fn='d~'
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
|
|
case $gans in
|
|
|
|
1)
|
|
dflt=$g4levelgammadata
|
|
fn='f~'
|
|
rp="Where is Geant4 PhotonEvaporation data installed?"
|
|
. ./getfile
|
|
g4levelgammadata=$ans
|
|
;;
|
|
2)
|
|
dflt=$g4radioactivedata
|
|
fn='f~'
|
|
rp="Where is Geant4 RadiativeDecay data installed?"
|
|
. ./getfile
|
|
g4radioactivedata=$ans
|
|
;;
|
|
3)
|
|
dflt=$g4ledata
|
|
fn='f~'
|
|
rp="Where is G4EMLOW0.3 data installed ?"
|
|
. ./getfile
|
|
g4ledata=$ans
|
|
;;
|
|
4)
|
|
dflt=$g4neutronhpcrosssections
|
|
fn='f~'
|
|
rp="Where is G4NDL0.2 installed?"
|
|
. ./getfile
|
|
g4neutronhpcrosssections=$ans
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
*)
|
|
break
|
|
# echo " "
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo " "
|
|
case "$g4debug" in
|
|
'')
|
|
g4debug=""
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Ask about g4debug - default "(empty)".
|
|
#
|
|
echo ""
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Do you want to compile libraries in DEBUG mode (-g)?
|
|
EOM`
|
|
|
|
dflt="n"
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
g4debug=1
|
|
break
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
# *)
|
|
# echo " "
|
|
# break
|
|
# ;;
|
|
esac
|
|
done
|
|
|
|
echo " "
|
|
case "$g4global" in
|
|
'')
|
|
g4global=n
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Ask about g4global - default "(empty)".
|
|
#
|
|
echo ""
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Do you want to build 'global' compound libraries?
|
|
EOM`
|
|
|
|
dflt=$g4global
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4global=n
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
g4global=y
|
|
break
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
# *)
|
|
# echo " "
|
|
# break
|
|
# ;;
|
|
esac
|
|
done
|
|
|
|
echo " "
|
|
case "$g4granular" in
|
|
'')
|
|
g4granular=n
|
|
;;
|
|
esac
|
|
|
|
if [ X$g4global = Xy ] ; then
|
|
#
|
|
# Ask about g4granular - default "n".
|
|
#
|
|
echo ""
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Granular libraries are used by defaults, you asked to build global
|
|
compound libraries. Do you want to build 'granular' libraries too?
|
|
EOM`
|
|
|
|
dflt=$g4granular
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4granular=n
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
g4granular=y
|
|
break
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
# *)
|
|
# echo " "
|
|
# break
|
|
# ;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
echo " "
|
|
case "$g4lib_use_granular" in
|
|
'')
|
|
g4lib_use_granular=n
|
|
;;
|
|
esac
|
|
|
|
if [ X$g4granular = Xy ] ; then
|
|
#
|
|
# Ask about g4lib_use_granular - default "n".
|
|
#
|
|
echo ""
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Global libraries are used by defaults, you asked to build global
|
|
compound libraries and granular libraries.
|
|
Do you want to use 'granular' libraries instead?
|
|
EOM`
|
|
|
|
dflt=$g4lib_use_granular
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
g4lib_use_granular=y
|
|
break
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
# *)
|
|
# echo " "
|
|
# break
|
|
# ;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
echo " "
|
|
case "$g4lib_build_shared" in
|
|
'')
|
|
g4lib_build_shared=n
|
|
;;
|
|
esac
|
|
|
|
echo " "
|
|
case "$g4lib_build_static" in
|
|
'')
|
|
g4lib_build_static=n
|
|
;;
|
|
esac
|
|
|
|
echo " "
|
|
case "$g4lib_use_shared" in
|
|
'')
|
|
g4lib_use_shared=n
|
|
;;
|
|
esac
|
|
|
|
echo " "
|
|
case "$g4lib_use_static" in
|
|
'')
|
|
g4lib_use_static=n
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Ask about building of SHARED|STATIC libraries - default STATIC.
|
|
#
|
|
echo ""
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
By default 'static' (.a) libraries are built.
|
|
|
|
Do you want to build 'shared' (.so) libraries?
|
|
EOM`
|
|
|
|
dflt=$g4lib_build_shared
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
g4lib_build_shared=y
|
|
# g4lib_build_static=""
|
|
# g4lib_use_shared=1
|
|
# g4lib_use_static=""
|
|
break
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
# *)
|
|
# echo " "
|
|
# break
|
|
# ;;
|
|
esac
|
|
done
|
|
|
|
if [ X$g4lib_build_shared = Xy ] ; then
|
|
#
|
|
# Ask about g4lib_build_static - default "n".
|
|
#
|
|
echo ""
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You selected to build 'shared' (.so) libraries.
|
|
Do you want to build 'static' (.a) libraries too?
|
|
EOM`
|
|
|
|
dflt=$g4lib_build_static
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
# g4lib_build_shared=1
|
|
g4lib_build_static=y
|
|
# g4lib_use_shared=1
|
|
# g4lib_use_static=""
|
|
break
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
# *)
|
|
# echo " "
|
|
# break
|
|
# ;;
|
|
esac
|
|
done
|
|
|
|
if [ X$g4lib_build_static = Xy ] ; then
|
|
#
|
|
# Ask about g4lib_use_static - default "n".
|
|
#
|
|
echo ""
|
|
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You selected to build 'shared' (.so) and 'static' (.a) libraries.
|
|
Do you want to use 'static' (.a) libraries?
|
|
EOM`
|
|
|
|
dflt=$g4lib_use_static
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
# g4lib_build_shared=1
|
|
# g4lib_build_static=1
|
|
# g4lib_use_shared=1
|
|
g4lib_use_static=y
|
|
break
|
|
;;
|
|
# [eE])
|
|
# break
|
|
# ;;
|
|
# *)
|
|
# echo " "
|
|
# break
|
|
# ;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
echo " "
|
|
case "$g4use_ospace" in
|
|
'')
|
|
g4use_ospace=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ospace_base_dir" in
|
|
'')
|
|
g4ospace_base_dir=""
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Ask about g4install used.
|
|
#
|
|
echo ""
|
|
|
|
g4message=`cat << EOM
|
|
|
|
In case your compiler do not provide 'native' STL and choose for a non
|
|
ISO/ANSI installation, ObjectSpace STL (if available in your system) may
|
|
be used and its installation path specified.
|
|
|
|
Do you want to use ObjectSpace STL?
|
|
EOM`
|
|
|
|
dflt=$g4use_ospace
|
|
rp=$g4message
|
|
. ./myread
|
|
g4use_ospace=$ans
|
|
|
|
if [ X$g4use_ospace = Xy ] ; then
|
|
|
|
dflt=$g4ospace_base_dir
|
|
fn='d~'
|
|
rp="Where is OSPACE installed?"
|
|
. ./getfile
|
|
g4ospace_base_dir=$ans
|
|
|
|
fi
|
|
|
|
#if test "X$g4use_ospace" = "X[NOT DEFINED]" ; then
|
|
#g4use_ospace=""
|
|
#fi
|
|
|
|
echo " "
|
|
case "$g4ui_build_terminal_session" in
|
|
'')
|
|
g4ui_build_terminal_session=y
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_use_terminal" in
|
|
'')
|
|
g4ui_use_terminal=y
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_build_gag_session" in
|
|
'')
|
|
g4ui_build_gag_session=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_use_gag" in
|
|
'')
|
|
g4ui_use_gag=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_build_xm_session" in
|
|
'')
|
|
g4ui_build_xm_session=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_build_xaw_session" in
|
|
'')
|
|
g4ui_build_xaw_session=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_use_xm" in
|
|
'')
|
|
g4ui_use_xm=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_use_xaw" in
|
|
'')
|
|
g4ui_use_xaw=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_build_win32_session" in
|
|
'')
|
|
g4ui_build_win32_session=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_use_win32" in
|
|
'')
|
|
g4ui_use_win32=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4ui_use_tcsh" in
|
|
'')
|
|
g4ui_use_tcsh=n
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4UI_BUILD_TERMINAL_SESSION
|
|
Specifies to include in kernel library a basic dumb terminal
|
|
user interface (default).
|
|
|
|
G4UI_USE_TERMINAL
|
|
Specifies to use dumb terminal interface in the application to be
|
|
built (default).
|
|
EOM`
|
|
|
|
dflt=$g4ui_use_terminal
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4ui_build_terminal_session=n
|
|
g4ui_use_terminal=n
|
|
;;
|
|
y*|Y*)
|
|
g4ui_build_terminal_session=y
|
|
g4ui_use_terminal=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4UI_BUILD_GAG_SESSION
|
|
Specifies to include in kernel library the GAG based
|
|
user interface.
|
|
|
|
G4UI_USE_GAG
|
|
Specifies to use the GAG interface in the application to be
|
|
built.
|
|
EOM`
|
|
|
|
dflt=$g4ui_use_gag
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4ui_build_gag_session=n
|
|
g4ui_use_gag=n
|
|
;;
|
|
y*|Y*)
|
|
g4ui_build_gag_session=y
|
|
g4ui_use_gag=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4UI_BUILD_XAW_SESSION
|
|
Specifies to include in kernel library the XAW
|
|
Motif-based user interfaces.
|
|
|
|
G4UI_USE_XAW
|
|
Specifies to use the XAW interfaces in the
|
|
application to be built.
|
|
EOM`
|
|
|
|
dflt=$g4ui_use_xaw
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4ui_build_xaw_session=n
|
|
g4ui_use_xaw=n
|
|
;;
|
|
y*|Y*)
|
|
g4ui_build_xaw_session=y
|
|
g4ui_use_xaw=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4UI_BUILD_XM_SESSION
|
|
Specifies to include in kernel library the XM
|
|
Motif-based user interfaces.
|
|
|
|
G4UI_USE_XM
|
|
Specifies to use the XM interfaces in the
|
|
application to be built.
|
|
EOM`
|
|
|
|
dflt=$g4ui_use_xm
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4ui_build_xm_session=n
|
|
g4ui_use_xm=n
|
|
;;
|
|
y*|Y*)
|
|
g4ui_build_xm_session=y
|
|
g4ui_use_xm=y
|
|
;;
|
|
esac
|
|
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4UI_BUILD_WIN32_SESSION
|
|
Specifies to include in kernel library the WIN32 terminal interface
|
|
for Windows systems.
|
|
|
|
G4UI_USE_WIN32
|
|
Specifies to use the WIN32 interfaces in the application to be built
|
|
on Windows systems.
|
|
EOM`
|
|
|
|
dflt=$g4ui_use_win32
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4ui_build_win32_session=n
|
|
g4ui_use_win32=n
|
|
;;
|
|
y*|Y*)
|
|
g4ui_build_win32_session=y
|
|
g4ui_use_win32=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4UI_USE_TCSH
|
|
Specifies to use the tcsh-style terminal in the application
|
|
to be built.
|
|
EOM`
|
|
|
|
dflt=$g4ui_use_tcsh
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4ui_use_tcsh=n
|
|
;;
|
|
y*|Y*)
|
|
g4ui_use_tcsh=y
|
|
;;
|
|
esac
|
|
|
|
|
|
echo " "
|
|
case "$g4use_hepodbms" in
|
|
'')
|
|
g4use_hepodbms=n
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4USE_HEPODBMS
|
|
In Geant4, object persistency is provided as an optional category, so
|
|
that the users could be able to run Geant4 with or without a commercial
|
|
ODBMS package. How to store and retrieve Geant4 events, hits and geometry
|
|
objects is explained in documentation.
|
|
EOM`
|
|
|
|
dflt=$g4use_hepodbms
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4use_hepodbms=n
|
|
;;
|
|
y*|Y*)
|
|
g4use_hepodbms=y
|
|
;;
|
|
esac
|
|
|
|
|
|
echo " "
|
|
case "$g4vis_build_dawn_driver" in
|
|
'')
|
|
g4vis_build_dawn_driver=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_build_dawnfile_driver" in
|
|
'')
|
|
g4vis_build_dawnfile_driver=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_build_opacs_driver" in
|
|
'')
|
|
g4vis_build_opacs_driver=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_build_openglx_driver" in
|
|
'')
|
|
g4vis_build_openglx_driver=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_build_openglxm_driver" in
|
|
'')
|
|
g4vis_build_openglxm_driver=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_build_oix_driver" in
|
|
'')
|
|
g4vis_build_oix_driver=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_build_raytracer_driver" in
|
|
'')
|
|
g4vis_build_raytracer_driver=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_build_vrml_driver" in
|
|
'')
|
|
g4vis_build_vrml_driver=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_build_vrmlfile_driver" in
|
|
'')
|
|
g4vis_build_vrmlfile_driver=n
|
|
;;
|
|
esac
|
|
|
|
# Set by default!
|
|
case "$g4vis_build_asciitree_driver" in
|
|
'')
|
|
g4vis_build_asciitree_driver=y
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_dawn" in
|
|
'')
|
|
g4vis_use_dawn=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_dawnfile" in
|
|
'')
|
|
g4vis_use_dawnfile=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_opacs" in
|
|
'')
|
|
g4vis_use_opacs=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_openglx" in
|
|
'')
|
|
g4vis_use_openglx=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_openglxm" in
|
|
'')
|
|
g4vis_use_openglxm=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_oix" in
|
|
'')
|
|
g4vis_use_oix=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_raytracer" in
|
|
'')
|
|
g4vis_use_raytracer=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_vrml" in
|
|
'')
|
|
g4vis_use_vrml=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4vis_use_vrmlfile" in
|
|
'')
|
|
g4vis_use_vrmlfile=n
|
|
;;
|
|
esac
|
|
|
|
# Set by default!
|
|
case "$g4vis_use_asciitree" in
|
|
'')
|
|
g4vis_use_asciitree=y
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_DAWN_DRIVER
|
|
G4VIS_USE_DAWN
|
|
|
|
DAWN drivers are interfaces to Fukui Renderer DAWN. It is a vectorized 3D
|
|
PostScript processor, and so well suited to prepare technical high
|
|
quality outputs for presentation and/or documentation.
|
|
When Geant4 Visualization is performed with the DAWN driver,
|
|
the visualized view is automatically saved to a file
|
|
named g4.eps in the current directory, which describes a vectorized
|
|
(Encapsulated) PostScript data of the view.
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_dawn
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_dawn_driver=n
|
|
g4vis_use_dawn=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_dawn_driver=y
|
|
g4vis_use_dawn=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_DAWNFILE_DRIVER
|
|
G4VIS_USE_DAWNFILE
|
|
|
|
DAWN drivers are interfaces to Fukui Renderer DAWN. It is a vectorized 3D
|
|
PostScript processor, and so well suited to prepare technical high
|
|
quality outputs for presentation and/or documentation.
|
|
The DAWNFILE driver sends 3D data to DAWN via an intermediate file,
|
|
named g4.prim in the current directory. The file g4.prim is able to
|
|
be re-visualized later without the help of Geant4.
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_dawnfile
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_dawnfile_driver=n
|
|
g4vis_use_dawnfile=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_dawnfile_driver=y
|
|
g4vis_use_dawnfile=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_OPACS_DRIVER
|
|
G4VIS_USE_OPACS
|
|
|
|
OPACS is a visualization environment based on X windows and OpenGL.
|
|
It is written in ANSI C and is highly portable (UNIX, NT/X11, VMS).
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_opacs
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_opacs_driver=n
|
|
g4vis_use_opacs=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_opacs_driver=y
|
|
g4vis_use_opacs=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_OPENGLX_DRIVER
|
|
G4VIS_USE_OPENGLX
|
|
|
|
It is an interface to the de facto standard 3D graphics library, OpenGL.
|
|
It is well suited for real-time fast visualization
|
|
and demonstration. Fast visualization is realized with hardware
|
|
acceleration, reuse of shapes stored in a display list, etc.
|
|
NURBS visualization is also supported. This is version for Xlib.
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_openglx
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_openglx_driver=n
|
|
g4vis_use_openglx=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_openglx_driver=y
|
|
g4vis_use_openglx=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_OPENGLXM_DRIVER
|
|
G4VIS_USE_OPENGLXM
|
|
|
|
It is an interface to the de facto standard 3D graphics library, OpenGL.
|
|
It is well suited for real-time fast visualization
|
|
and demonstration. Fast visualization is realized with hardware
|
|
acceleration, reuse of shapes stored in a display list, etc.
|
|
NURBS visualization is also supported. This is version for Motif.
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_openglxm
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_openglxm_driver=n
|
|
g4vis_use_openglxm=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_openglxm_driver=y
|
|
g4vis_use_openglxm=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_OIX_DRIVER
|
|
G4VIS_USE_OIX
|
|
|
|
These drivers are based on the "Hepvis class library".
|
|
The OpenInventor drivers and the Hepvis class library are based on the
|
|
well-established OpenInventor technology for scientific visualization.
|
|
They have high extendibility.
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_oix
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_oix_driver=n
|
|
g4vis_use_oix=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_oix_driver=y
|
|
g4vis_use_oix=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_RAYTRACER_DRIVER
|
|
G4VIS_USE_RAYTRACER
|
|
|
|
It performs ray-tracing visualization using the tracking routines of Geant4.
|
|
It is, therefore, available for debugging tracking routines.
|
|
It is well suited for photo-realistic high quality output for
|
|
presentation, and for intuitive debugging of detector geometry.
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_raytracer
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_raytracer_driver=n
|
|
g4vis_use_raytracer=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_raytracer_driver=y
|
|
g4vis_use_raytracer=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_VRML_DRIVER
|
|
G4VIS_USE_VRML
|
|
|
|
This driver generates VRML files, which describe 3D scenes to be
|
|
visualized with a proper VRML viewer, at either a local or a remote host.
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_vrml
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_vrml_driver=n
|
|
g4vis_use_vrml=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_vrml_driver=y
|
|
g4vis_use_vrml=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_VRMLFILE_DRIVER
|
|
G4VIS_USE_VRMLFILE
|
|
|
|
This driver generates VRML files, which describe 3D scenes to be
|
|
visualized with a proper VRML viewer, at either a local or a remote host.
|
|
The VRMLFILE driver sends 3D data to your VRML viewer, which is running
|
|
in the same host machine as Geant4, via an intermediate file named
|
|
g4.wrl created in the current directory. This file is available for
|
|
re-visualization afterwards. In visualization, you should specify a
|
|
name of the VRML viewer by setting the environment variable G4VRML_VIEWER
|
|
beforehand.
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_vrmlfile
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_vrmlfile_driver=n
|
|
g4vis_use_vrmlfile=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_vrmlfile_driver=y
|
|
g4vis_use_vrmlfile=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_ASCIITREE_DRIVER
|
|
G4VIS_USE_ASCIITREE
|
|
|
|
Description????????????????????????
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_asciitree
|
|
rp=$g4message
|
|
# Don't ask by default and set to 'y'!
|
|
#. ./myread
|
|
gans=y
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_asciitree_driver=n
|
|
g4vis_use_asciitree=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_asciitree_driver=y
|
|
g4vis_use_asciitree=y
|
|
;;
|
|
esac
|
|
|
|
|
|
echo " "
|
|
case "$g4wanalysis_build" in
|
|
'')
|
|
g4wanalysis_build=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4wanalysis_build_jas" in
|
|
'')
|
|
g4wanalysis_build_jas=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4wanalysis_build_lab" in
|
|
'')
|
|
g4wanalysis_build_lab=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4wanalysis_build_lizard" in
|
|
'')
|
|
g4wanalysis_build_lizard=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4wanalysis_use" in
|
|
'')
|
|
g4wanalysis_use=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4wanalysis_use_jas" in
|
|
'')
|
|
g4wanalysis_use_jas=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4wanalysis_use_lab" in
|
|
'')
|
|
g4wanalysis_use_lab=n
|
|
;;
|
|
esac
|
|
|
|
case "$g4wanalysis_use_lizard" in
|
|
'')
|
|
g4wanalysis_use_lizard=n
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4ANALYSIS_BUILD
|
|
G4ANALYSIS_USE
|
|
Specifies to include building (using) of the abstract G4analysisManager for
|
|
activating interfaces based on AIDA to analysis drivers.
|
|
No histogramming capabilities are possible without a specific
|
|
wanalysis driver activated.
|
|
EOM`
|
|
|
|
dflt=$g4wanalysis_use
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4wanalysis_build=n
|
|
g4wanalysis_use=n
|
|
;;
|
|
y*|Y*)
|
|
g4wanalysis_build=y
|
|
g4wanalysis_use=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4ANALYSIS_BUILD_LAB
|
|
Includes the Open Scientist proxy driver for analysis in the kernel.
|
|
|
|
G4ANALYSIS_USE_LAB
|
|
To use Open Scientist as analysis system in the application
|
|
to be built.
|
|
EOM`
|
|
|
|
dflt=$g4wanalysis_use_lab
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4wanalysis_build_lab=n
|
|
g4wanalysis_use_lab=n
|
|
;;
|
|
y*|Y*)
|
|
g4wanalysis_build_lab=y
|
|
g4wanalysis_use_lab=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4ANALYSIS_BUILD_LIZARD
|
|
Includes the Lizard proxy driver for analysis in the kernel.
|
|
|
|
G4ANALYSIS_USE_LIZARD
|
|
To use Lizard as analysis system in the application to be built.
|
|
EOM`
|
|
|
|
dflt=$g4wanalysis_use_lizard
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4wanalysis_build_lizard=n
|
|
g4wanalysis_use_lizard=n
|
|
;;
|
|
y*|Y*)
|
|
g4wanalysis_build_lizard=y
|
|
g4wanalysis_use_lizard=y
|
|
;;
|
|
esac
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4ANALYSIS_BUILD_JAS
|
|
Includes the JAS proxy driver for analysis in the kernel.
|
|
|
|
G4ANALYSIS_USE_JAS
|
|
To use JAS as analysis system in the application to be built.
|
|
EOM`
|
|
|
|
dflt=$g4wanalysis_use_jas
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4wanalysis_build_jas=n
|
|
g4wanalysis_use_jas=n
|
|
;;
|
|
y*|Y*)
|
|
g4wanalysis_build_jas=y
|
|
g4wanalysis_use_jas=y
|
|
;;
|
|
esac
|
|
|
|
|
|
: end of configuration questions
|
|
echo " "
|
|
echo "End of configuration phase."
|
|
echo " "
|
|
|
|
: back to where it started
|
|
if test -d ../UU; then
|
|
cd ..
|
|
fi
|
|
|
|
: configuration may be patched via a 'config.over' file
|
|
if $test -f config.over; then
|
|
echo " "
|
|
dflt=y
|
|
rp='A config.over file exists. Do you wish to load it?'
|
|
. UU/myread
|
|
case "$ans" in
|
|
n*) echo "OK, I'll ignore it.";;
|
|
*) . ./config.over
|
|
echo "Configuration settings have been loaded."
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
: in case they want portability, strip down executable paths
|
|
case "$d_portable" in
|
|
"$define")
|
|
echo " "
|
|
echo "Stripping down executable paths..." >&4
|
|
for file in $loclist $trylist; do
|
|
eval $file="\$file"
|
|
done
|
|
;;
|
|
esac
|
|
|
|
: create config.sh file
|
|
echo " "
|
|
echo "Creating config.sh..." >&4
|
|
mkdir -p $g4conf
|
|
$spitshell <<EOT > $g4conf/config.sh
|
|
$startsh
|
|
#
|
|
# This file was produced by running the Configure script. It holds all the
|
|
# definitions figured out by Configure. Should you modify one of these values,
|
|
# do not forget to propagate your changes by running "Configure -der". You may
|
|
# instead choose to run each of the .SH files by yourself, or "Configure -S".
|
|
#
|
|
|
|
# Package name : $package
|
|
# Source directory : $src
|
|
# Configuration time: $cf_time
|
|
# Configured by : $cf_by
|
|
# Target system : $myuname
|
|
|
|
Author='$Author'
|
|
Date='$Date'
|
|
Header='$Header'
|
|
Id='$Id'
|
|
Locker='$Locker'
|
|
Log='$Log'
|
|
Mcc='$Mcc'
|
|
RCSfile='$RCSfile'
|
|
Revision='$Revision'
|
|
Source='$Source'
|
|
State='$State'
|
|
ar='$ar'
|
|
awk='$awk'
|
|
bash='$bash'
|
|
bison='$bison'
|
|
byacc='$byacc'
|
|
c='$c'
|
|
cat='$cat'
|
|
cf_by='$cf_by'
|
|
cf_time='$cf_time'
|
|
chgrp='$chgrp'
|
|
chmod='$chmod'
|
|
chown='$chown'
|
|
comm='$comm'
|
|
compress='$compress'
|
|
contains='$contains'
|
|
cp='$cp'
|
|
cpio='$cpio'
|
|
cpp='$cpp'
|
|
csh='$csh'
|
|
d_portable='$d_portable'
|
|
date='$date'
|
|
echo='$echo'
|
|
egrep='$egrep'
|
|
emacs='$emacs'
|
|
eunicefix='$eunicefix'
|
|
expr='$expr'
|
|
find='$find'
|
|
flex='$flex'
|
|
g4base='$g4base'
|
|
g4bin='$g4bin'
|
|
g4clhep_base_dir='$g4clhep_base_dir'
|
|
g4clhep_include_dir='$g4clhep_include_dir'
|
|
g4clhep_lib='$g4clhep_lib'
|
|
g4clhep_lib_dir='$g4clhep_lib_dir'
|
|
g4compiler='$g4compiler'
|
|
g4conf='$g4conf'
|
|
g4data='$g4data'
|
|
g4debug='$g4debug'
|
|
g4global='$g4global'
|
|
g4granular='$g4granular'
|
|
g4include='$g4include'
|
|
g4install='$g4install'
|
|
g4ledata='$g4ledata'
|
|
g4levelgammadata='$g4levelgammadata'
|
|
g4lib='$g4lib'
|
|
g4lib_build_shared='$g4lib_build_shared'
|
|
g4lib_build_static='$g4lib_build_static'
|
|
g4lib_use_granular='$g4lib_use_granular'
|
|
g4lib_use_shared='$g4lib_use_shared'
|
|
g4lib_use_static='$g4lib_use_static'
|
|
g4neutronhpcrosssections='$g4neutronhpcrosssections'
|
|
g4osname='$g4osname'
|
|
g4ospace_base_dir='$g4ospace_base_dir'
|
|
g4radioactivedata='$g4radioactivedata'
|
|
g4system='$g4system'
|
|
g4tmp='$g4tmp'
|
|
g4ui_build_gag_session='$g4ui_build_gag_session'
|
|
g4ui_build_terminal_session='$g4ui_build_terminal_session'
|
|
g4ui_build_win32_session='$g4ui_build_win32_session'
|
|
g4ui_build_xaw_session='$g4ui_build_xaw_session'
|
|
g4ui_build_xm_session='$g4ui_build_xm_session'
|
|
g4ui_use_gag='$g4ui_use_gag'
|
|
g4ui_use_tcsh='$g4ui_use_tcsh'
|
|
g4ui_use_terminal='$g4ui_use_terminal'
|
|
g4ui_use_win32='$g4ui_use_win32'
|
|
g4ui_use_xaw='$g4ui_use_xaw'
|
|
g4ui_use_xm='$g4ui_use_xm'
|
|
g4use_hepodbms='$g4use_hepodbms'
|
|
g4use_ospace='$g4use_ospace'
|
|
g4vis_build_asciitree_driver='$g4vis_build_asciitree_driver'
|
|
g4vis_build_dawn_driver='$g4vis_build_dawn_driver'
|
|
g4vis_build_dawnfile_driver='$g4vis_build_dawnfile_driver'
|
|
g4vis_build_oix_driver='$g4vis_build_oix_driver'
|
|
g4vis_build_opacs_driver='$g4vis_build_opacs_driver'
|
|
g4vis_build_openglx_driver='$g4vis_build_openglx_driver'
|
|
g4vis_build_openglxm_driver='$g4vis_build_openglxm_driver'
|
|
g4vis_build_raytracer_driver='$g4vis_build_raytracer_driver'
|
|
g4vis_build_vrml_driver='$g4vis_build_vrml_driver'
|
|
g4vis_build_vrmlfile_driver='$g4vis_build_vrmlfile_driver'
|
|
g4vis_use_asciitree='$g4vis_use_asciitree'
|
|
g4vis_use_dawn='$g4vis_use_dawn'
|
|
g4vis_use_dawnfile='$g4vis_use_dawnfile'
|
|
g4vis_use_oix='$g4vis_use_oix'
|
|
g4vis_use_opacs='$g4vis_use_opacs'
|
|
g4vis_use_openglx='$g4vis_use_openglx'
|
|
g4vis_use_openglxm='$g4vis_use_openglxm'
|
|
g4vis_use_raytracer='$g4vis_use_raytracer'
|
|
g4vis_use_vrml='$g4vis_use_vrml'
|
|
g4vis_use_vrmlfile='$g4vis_use_vrmlfile'
|
|
g4wanalysis_build='$g4wanalysis_build'
|
|
g4wanalysis_build_jas='$g4wanalysis_build_jas'
|
|
g4wanalysis_build_lab='$g4wanalysis_build_lab'
|
|
g4wanalysis_build_lizard='$g4wanalysis_build_lizard'
|
|
g4wanalysis_use='$g4wanalysis_use'
|
|
g4wanalysis_use_jas='$g4wanalysis_use_jas'
|
|
g4wanalysis_use_lab='$g4wanalysis_use_lab'
|
|
g4wanalysis_use_lizard='$g4wanalysis_use_lizard'
|
|
g4workdir='$g4workdir'
|
|
gcc='$gcc'
|
|
grep='$grep'
|
|
gzip='$gzip'
|
|
hint='$hint'
|
|
inews='$inews'
|
|
ksh='$ksh'
|
|
less='$less'
|
|
line='$line'
|
|
lint='$lint'
|
|
ln='$ln'
|
|
lns='$lns'
|
|
lp='$lp'
|
|
lpr='$lpr'
|
|
ls='$ls'
|
|
mail='$mail'
|
|
mailx='$mailx'
|
|
make='$make'
|
|
mkdir='$mkdir'
|
|
more='$more'
|
|
mv='$mv'
|
|
myuname='$myuname'
|
|
n='$n'
|
|
nroff='$nroff'
|
|
osname='$osname'
|
|
osvers='$osvers'
|
|
package='$package'
|
|
perl='$perl'
|
|
pg='$pg'
|
|
pmake='$pmake'
|
|
pr='$pr'
|
|
rm='$rm'
|
|
rmail='$rmail'
|
|
sed='$sed'
|
|
sendmail='$sendmail'
|
|
sh='$sh'
|
|
shar='$shar'
|
|
sharpbang='$sharpbang'
|
|
shsharp='$shsharp'
|
|
sleep='$sleep'
|
|
smail='$smail'
|
|
sort='$sort'
|
|
spackage='$spackage'
|
|
spitshell='$spitshell'
|
|
src='$src'
|
|
startsh='$startsh'
|
|
submit='$submit'
|
|
tail='$tail'
|
|
tar='$tar'
|
|
tbl='$tbl'
|
|
test='$test'
|
|
touch='$touch'
|
|
tr='$tr'
|
|
troff='$troff'
|
|
uname='$uname'
|
|
uniq='$uniq'
|
|
uuname='$uuname'
|
|
vi='$vi'
|
|
zcat='$zcat'
|
|
zip='$zip'
|
|
EOT
|
|
|
|
: add special variables
|
|
mkdir -p $g4conf
|
|
$test -f $src/patchlevel.h && \
|
|
awk '/^#define/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >> $g4conf/config.sh
|
|
echo "CONFIG=true" >> $g4conf/config.sh
|
|
|
|
: propagate old symbols
|
|
if $test -f UU/config.sh; then
|
|
<UU/config.sh sort | uniq >UU/oldconfig.sh
|
|
sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' config.sh config.sh UU/oldconfig.sh |\
|
|
sort | uniq -u >UU/oldsyms
|
|
set X `cat UU/oldsyms`
|
|
shift
|
|
case $# in
|
|
0) ;;
|
|
*)
|
|
cat <<EOM
|
|
|
|
Hmm...You had some extra variables I don't know about...
|
|
I'll try to keep 'em...
|
|
|
|
EOM
|
|
echo "# Variables propagated from previous config.sh file." >>.config/bin/$g4system/config.sh
|
|
for sym in `cat UU/oldsyms`; do
|
|
echo " Propagating $hint variable "'$'"$sym..."
|
|
eval 'tmp="$'"${sym}"'"'
|
|
echo "$tmp" | \
|
|
sed -e "s/'/'\"'\"'/g" -e "s/^/$sym='/" -e "s/$/'/" >>.config/bin/$g4system/config.sh
|
|
done
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
: preserve RCS keywords in files with variable substitution, grrr
|
|
Id='$Id'
|
|
|
|
: Finish up by extracting the .SH files
|
|
case "$alldone" in
|
|
exit)
|
|
$rm -rf UU
|
|
echo "Done."
|
|
exit 0
|
|
;;
|
|
cont)
|
|
;;
|
|
'')
|
|
dflt=''
|
|
nostick=true
|
|
$cat <<EOM
|
|
|
|
WARNING: You can check and edit!
|
|
If you'd like to make any change to the $g4conf/config.sh file before the final
|
|
configuration, do it as a shell escape now (e.g. !vi $g4conf/config.sh).
|
|
|
|
EOM
|
|
rp="Press [Enter] to start installation or use a shell escape to edit config.sh:"
|
|
. UU/myread
|
|
nostick=''
|
|
case "$ans" in
|
|
'') ;;
|
|
*) : in case they cannot read
|
|
sh 1>&4 -c "$ans";;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
: if this fails, just run all the .SH files by hand
|
|
. $g4conf/config.sh
|
|
|
|
echo " "
|
|
exec 1>&4
|
|
. ./UU/extract
|
|
|
|
if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then
|
|
dflt=y
|
|
case "$silent" in
|
|
true) ;;
|
|
*)
|
|
$cat <<EOM
|
|
|
|
Now you need to generate make dependencies by running "make depend".
|
|
You might prefer to run it in background: "make depend > makedepend.out &"
|
|
It can take a while, so you might not want to run it right now.
|
|
|
|
EOM
|
|
;;
|
|
esac
|
|
rp="Run make depend now?"
|
|
. UU/myread
|
|
case "$ans" in
|
|
y*)
|
|
make depend && echo "Now you must run a make."
|
|
;;
|
|
*)
|
|
echo "You must run 'make depend' then 'make'."
|
|
;;
|
|
esac
|
|
elif test -f [Mm]akefile; then
|
|
echo " "
|
|
echo "Now you must run a make."
|
|
elif test -f $g4conf/install.sh; then
|
|
echo " "
|
|
echo "Now starting Geant4 libraries installation..."
|
|
echo " "
|
|
. $g4conf/install.sh
|
|
else
|
|
echo " "
|
|
echo "WARNING: Geant4 is NOT installed yet!"
|
|
echo "You (or the administrator if you have not enough privileges)"
|
|
echo "should start with \$G4INSTALL/Configure -install"
|
|
echo "(where \$G4INSTALL is Geant4 install directory)."
|
|
echo " "
|
|
fi
|
|
|
|
$rm -f kit*isdone ark*isdone
|
|
$rm -rf UU
|
|
|
|
: End of Configure
|
|
|