6170 lines
139 KiB
Bash
Executable File
6170 lines
139 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.139 2010/12/03 11:10:39 bmorgan Exp $
|
|
#
|
|
# Generated on Fri Dec 3 11:08:58 GMT 2010 [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 '\\\\' / `
|
|
#?X: That's a bug in ksh5.22
|
|
# 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 .config/UU || mkdir -p .config/UU
|
|
unset CDPATH
|
|
cd .config/UU && rm -f ./*
|
|
|
|
eunicefix=''
|
|
g4compiler=''
|
|
g4osname=''
|
|
g4system=''
|
|
hint=''
|
|
myuname=''
|
|
osname=''
|
|
osvers=''
|
|
g4_qt_cxxflags=''
|
|
g4_qt_gl_cxxflags=''
|
|
g4_qt_gl_libs=''
|
|
g4_qt_libs=''
|
|
g4_qt_moc=''
|
|
g4_qt_version=''
|
|
Author=''
|
|
Date=''
|
|
Header=''
|
|
Id=''
|
|
Locker=''
|
|
Log=''
|
|
RCSfile=''
|
|
Revision=''
|
|
Source=''
|
|
State=''
|
|
cf_by=''
|
|
cf_time=''
|
|
contains=''
|
|
d_portable=''
|
|
g4base=''
|
|
g4conf=''
|
|
g4final_install=''
|
|
g4include=''
|
|
g4includes_flag=''
|
|
g4install=''
|
|
g4workdir=''
|
|
g4bin=''
|
|
g4lib=''
|
|
g4tmp=''
|
|
g4abladata=''
|
|
g4data=''
|
|
g4elasticdata=''
|
|
g4ledata=''
|
|
g4levelgammadata=''
|
|
g4neutronhpcrosssections=''
|
|
g4neutronxsdata=''
|
|
g4piidata=''
|
|
g4radioactivedata=''
|
|
g4realsurfacedata=''
|
|
g4clhep_base_dir=''
|
|
g4clhep_include_dir=''
|
|
g4clhep_lib=''
|
|
g4clhep_lib_dir=''
|
|
g4lib_build_shared=''
|
|
g4lib_build_static=''
|
|
g4lib_use_dll=''
|
|
g4lib_use_dyn=''
|
|
g4lib_use_shared=''
|
|
g4lib_use_static=''
|
|
g4global=''
|
|
g4granular=''
|
|
g4lib_use_granular=''
|
|
g4debug=''
|
|
g4ui_build_gag_session=''
|
|
g4ui_build_terminal_session=''
|
|
g4ui_build_win32_session=''
|
|
g4ui_build_xaw_session=''
|
|
g4ui_build_xm_session=''
|
|
g4ui_none=''
|
|
g4ui_use_gag=''
|
|
g4ui_use_tcsh=''
|
|
g4ui_use_terminal=''
|
|
g4ui_use_win32=''
|
|
g4ui_use_xaw=''
|
|
g4ui_use_xm=''
|
|
g4ui_xawflags=''
|
|
g4ui_xawhome=''
|
|
g4ui_xawlibs=''
|
|
g4vis_xmflags=''
|
|
g4vis_xmhome=''
|
|
g4vis_xmlibs=''
|
|
g4ui_build_qt_session=''
|
|
g4ui_use_qt=''
|
|
g4vis_build_asciitree_driver=''
|
|
g4vis_build_dawn_driver=''
|
|
g4vis_build_dawnfile_driver=''
|
|
g4vis_build_oiwin32_driver=''
|
|
g4vis_build_oix_driver=''
|
|
g4vis_build_openglwin32_driver=''
|
|
g4vis_build_openglx_driver=''
|
|
g4vis_build_openglxm_driver=''
|
|
g4vis_build_raytracer_driver=''
|
|
g4vis_build_raytracerx_driver=''
|
|
g4vis_build_vrml_driver=''
|
|
g4vis_build_vrmlfile_driver=''
|
|
g4vis_oglhome=''
|
|
g4vis_oivhome=''
|
|
g4vis_use_asciitree=''
|
|
g4vis_use_dawn=''
|
|
g4vis_use_dawnfile=''
|
|
g4vis_use_oiwin32=''
|
|
g4vis_use_oix=''
|
|
g4vis_use_openglwin32=''
|
|
g4vis_use_openglx=''
|
|
g4vis_use_openglxm=''
|
|
g4vis_use_raytracer=''
|
|
g4vis_use_raytracerx=''
|
|
g4vis_use_vrml=''
|
|
g4vis_use_vrmlfile=''
|
|
g4vis_xmflags=''
|
|
g4vis_xmhome=''
|
|
g4vis_xmlibs=''
|
|
g4vis_build_openglqt_driver=''
|
|
g4vis_use_openglqt=''
|
|
g4gdml_xercesc_root=''
|
|
g4lib_build_gdml=''
|
|
g4_gmake=''
|
|
g4_gmake_version=''
|
|
g4_make=''
|
|
g4_make_version=''
|
|
g4make=''
|
|
g4make_jobs=''
|
|
g4w_use_g3tog4=''
|
|
g4wlib_build_g3tog4=''
|
|
g4w_use_zlib=''
|
|
g4wlib_build_zlib=''
|
|
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
|
|
|
|
#INITIALIZE LIBRARY BUILD OPTIONS
|
|
g4lib_build_shared='y'
|
|
g4lib_use_shared='y'
|
|
g4lib_build_static='n'
|
|
g4lib_use_static='n'
|
|
g4lib_build_dll='n'
|
|
g4lib_build_dyn='n'
|
|
#INITIALIZE GLOBAL/GRANULAR LIBRARY OPTIONS
|
|
g4global='y'
|
|
g4granular='n'
|
|
g4lib_use_granular='n'
|
|
#INITIALIZE DEBUGGING OPTIONS
|
|
g4debug='n'
|
|
#INITIALIZE QT UI OPTIONS
|
|
g4ui_none='n'
|
|
g4ui_build_terminal_session='y'
|
|
g4ui_use_terminal='y'
|
|
g4ui_build_gag_session='y'
|
|
g4ui_use_gag='y'
|
|
g4ui_build_xm_session='n'
|
|
g4ui_use_xm='n'
|
|
g4ui_build_xaw_session='n'
|
|
g4ui_use_xaw='n'
|
|
g4ui_build_win32_session='n'
|
|
g4ui_use_win32='n'
|
|
g4ui_use_tcsh='y'
|
|
#INITIALIZE QT UI OPTIONS
|
|
g4ui_build_qt_session='n'
|
|
g4ui_use_qt='n'
|
|
#END QT UI OPTIONS
|
|
#INITIALIZE VIS DRIVER OPTIONS
|
|
g4vis_none='n'
|
|
g4vis_build_openglwin32_driver='n'
|
|
g4vis_use_openglwin32='n'
|
|
g4vis_build_oiwin32_driver='n'
|
|
g4vis_use_oiwin32='n'
|
|
g4vis_build_dawn_driver='n'
|
|
g4vis_use_dawn='n'
|
|
g4vis_build_dawnfile_driver='y'
|
|
g4vis_use_dawnfile='y'
|
|
g4vis_build_openglx_driver='n'
|
|
g4vis_use_openglx='n'
|
|
g4vis_build_openglxm_driver='n'
|
|
g4vis_use_openglxm='n'
|
|
g4vis_build_oix_driver='n'
|
|
g4vis_use_oix='n'
|
|
g4vis_build_raytracerx_driver='n'
|
|
g4vis_use_raytracerx='n'
|
|
g4vis_build_raytracer_driver='y'
|
|
g4vis_use_raytracer='y'
|
|
g4vis_build_vrmlfile_driver='y'
|
|
g4vis_use_vrmlfile='y'
|
|
g4vis_build_vrml_driver='n'
|
|
g4vis_use_vrml='n'
|
|
g4vis_build_asciitree_driver='y'
|
|
g4vis_use_asciitree='y'
|
|
g4vis_build_gagtree_driver='y'
|
|
g4vis_use_gagtree='y'
|
|
#INITIALIZE QT VIS DRIVER OPTIONS
|
|
g4vis_build_openglqt_driver='n'
|
|
g4vis_use_openglqt='n'
|
|
#END QT VIS DRIVER OPTIONS
|
|
#INITIALIZE GDML OPTIONS
|
|
g4lib_build_gdml='n'
|
|
#INITIALIZE G4MAKE
|
|
g4make=""
|
|
g4make_jobs=1
|
|
#END G4MAKE INITIALIZATION
|
|
#INITIALIZE G3TOG4 OPTIONS
|
|
g4wlib_build_g3tog4='n'
|
|
g4wlib_use_g3tog4='n'
|
|
#INITIALIZE BUILTIN ZLIB OPTIONS
|
|
g4wlib_build_zlib='n'
|
|
g4w_use_zlib='n'
|
|
|
|
: 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
|
|
#
|
|
# $xcat is wrong on WIN32: there is no /bin/cat and /usr/bin/cat by default.
|
|
# But we are sure that sharpbang is to be '#!' and let 'today' will be !=0.
|
|
#
|
|
# ./try > today
|
|
echo "#!$xcat" >today
|
|
|
|
if test -s today; then
|
|
sharpbang='#!'
|
|
else
|
|
echo "#! $xcat" > try
|
|
$eunicefix try
|
|
chmod +x try
|
|
#
|
|
# $xcat is wrong on WIN32: there is no /bin/cat and /usr/bin/cat by default.
|
|
# But we are sure that sharpbang is to be '#!' and let 'today' will be !=0.
|
|
#
|
|
# ./try > today
|
|
echo "#!$xcat" >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;;
|
|
-build) shift; g4build=yes;;
|
|
-incflags)
|
|
shift
|
|
g4incflags=yes
|
|
g4query_conf=yes;;
|
|
-install) shift; install=yes;;
|
|
-cppflags)
|
|
shift
|
|
g4query_conf=yes
|
|
g4cppflags=yes;;
|
|
-cxxflags)
|
|
shift
|
|
g4query_conf=yes
|
|
g4cxxflags=yes;;
|
|
-ldlibs)
|
|
shift
|
|
g4query_conf=yes
|
|
g4ldlibs=yes;;
|
|
-ldflags)
|
|
shift
|
|
g4query_conf=yes
|
|
g4ldflags=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 .config/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] [-build] [-libs] [-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.
|
|
-build : start configuration AND build of Geant4 libraries.
|
|
-cppflags : retrieve the list of cppflags
|
|
-cxxflags : retrieve the list of cxxflags
|
|
-incflags : retrieve the list of incflags
|
|
-install : start installation of Geant4 libraries.
|
|
-ldflags : retrieve the list of directories where libraries are placed
|
|
-ldlibs : retrieve the list of libraries to link
|
|
-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
|
|
yescontyes|yesexityes) ;;
|
|
*)
|
|
if test "x$g4query_conf" != "xyes" ; then
|
|
if test ! -t 0; then
|
|
echo "Say 'sh Configure', not 'sh <Configure'"
|
|
exit 1
|
|
fi
|
|
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
|
|
echo "Please, use absolute path or relative with './' to Configure." >&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 ../..
|
|
. .config/UU/extract
|
|
rm -rf .config/UU
|
|
echo "Done."
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
: Eunice requires " " instead of "", can you believe it
|
|
#echo " "
|
|
: Here we go...
|
|
|
|
trap 'echo " ";rm -rf ../../.config/UU; test -d ../../.config/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$g4build = Xyes ] ; then
|
|
|
|
echo " "
|
|
echo " --- Geant4 Toolkit Build ---"
|
|
echo " "
|
|
|
|
if $contains "^$user\$" ../../.config/instruct >/dev/null 2>&1; then
|
|
firsttime=false
|
|
rp='Would you like to see the instructions?'
|
|
dflt=n
|
|
. ./myread
|
|
case "$ans" in
|
|
[yY]*) ;;
|
|
*) needman=false;;
|
|
esac
|
|
fi
|
|
fi
|
|
|
|
if [ X$install = Xyes ] ; then
|
|
needman=false
|
|
fi
|
|
|
|
if [ X$install = X -a X$g4build = 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.
|
|
|
|
On AFS it is allowed to specify either absolute or relative
|
|
paths (i.e. starting with the ~username construct).
|
|
|
|
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 answers saved in a configuration
|
|
previously 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 as specified in the Geant4 Installation Guide.
|
|
|
|
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
|
|
echo
|
|
expr
|
|
grep
|
|
rm
|
|
sed
|
|
touch
|
|
tr
|
|
"
|
|
trylist="
|
|
date
|
|
gcc
|
|
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." > /dev/null
|
|
;;
|
|
?:[\\/]*)
|
|
echo "$file is in $xxx." > /dev/null
|
|
;;
|
|
*)
|
|
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." > /dev/null
|
|
;;
|
|
?:[\\/]*)
|
|
echo "$file is in $xxx." > /dev/null
|
|
;;
|
|
*)
|
|
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." > /dev/null
|
|
;;
|
|
*)
|
|
if `sh -c "PATH= test true" >/dev/null 2>&1`; then
|
|
echo "Using the test built into your sh." > /dev/null
|
|
test=test
|
|
_test=test
|
|
fi
|
|
;;
|
|
esac
|
|
case "$echo" in
|
|
echo)
|
|
echo "Hopefully echo is built into your sh." > /dev/null
|
|
;;
|
|
'') ;;
|
|
*)
|
|
# 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." > /dev/null
|
|
else
|
|
case "$n" in
|
|
'-n') n='' c='\c';;
|
|
*) n='-n' c='';;
|
|
esac
|
|
#We suppress the following message to avoid problems where the system points
|
|
#sh to dash (Ubuntu). If you have problems with echo, uncomment the cat and
|
|
#two $echo s to see if you're warned!!
|
|
# 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`
|
|
|
|
mygcc=`( ($g++ -v) 2>/dev/null) 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 ../..
|
|
|
|
if $test -d $src/hints ; then
|
|
(cd $src/hints; ls -C *.sh 2> /dev/null) | $sed 's/\.sh/ /g' >&4
|
|
fi
|
|
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"
|
|
;;
|
|
cygwin*) osname=win32
|
|
;;
|
|
darwin*) osname=darwin
|
|
;;
|
|
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 | .config/UU/tr '[A-Z]' '[a-z]') > .config/UU/kernel.what 2>&1
|
|
if $contains news-os .config/UU/kernel.what >/dev/null 2>&1; then
|
|
osname=news_os
|
|
fi
|
|
$rm -f .config/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?"
|
|
. .config/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 >> .config/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?"
|
|
. .config/UU/myread
|
|
for file in $ans; do
|
|
if $test -f "$src/hints/$file.sh"; then
|
|
. $src/hints/$file.sh
|
|
$cat $src/hints/$file.sh >> .config/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
|
|
;;
|
|
'solaris') g4osname=SUN
|
|
;;
|
|
'win32') g4osname=WIN32
|
|
;;
|
|
'darwin') g4osname=Darwin
|
|
;;
|
|
esac
|
|
esac
|
|
|
|
#echo " "
|
|
|
|
case "$g4compiler" in
|
|
|
|
'')
|
|
case "$g4osname" in
|
|
'AIX')
|
|
g4compiler=xlC
|
|
;;
|
|
'DEC')
|
|
g4compiler=cxx
|
|
;;
|
|
'HP')
|
|
g4compiler=aCC
|
|
;;
|
|
'Linux')
|
|
# g4compiler=g++
|
|
# Assume if "gcc" is in place then "g++" is here
|
|
gcccompiler=`( ($gcc -v) 1>/dev/null || echo "ERROR: There is no 'gcc' ('g++'?) compiler.") 2>&1`
|
|
case $gcccompiler in
|
|
*egcs*) g4compiler=egcs
|
|
;;
|
|
*2.96*)
|
|
echo "WARNING: Found version of g++ (2.96.XXX) is known to be buggy!"
|
|
g4compiler="g++"
|
|
;;
|
|
*) g4compiler="g++"
|
|
;;
|
|
esac
|
|
|
|
;;
|
|
'SGI')
|
|
g4compiler=CC
|
|
;;
|
|
'SUN')
|
|
g4compiler=CC
|
|
;;
|
|
'WIN32')
|
|
g4compiler=VC
|
|
clcompiler=`( cl 1>/dev/null || echo "ERROR: There is no cl compiler.") 2>&1`
|
|
case $clcompiler in
|
|
*"Version 12"*) g4compiler=VC6
|
|
;;
|
|
*"Version 13"*) g4compiler=VC
|
|
;;
|
|
*) g4compiler=VC
|
|
;;
|
|
esac
|
|
;;
|
|
'Darwin')
|
|
g4compiler=g++
|
|
;;
|
|
esac
|
|
esac
|
|
|
|
if [ X$g4system = X ] ; then
|
|
|
|
if [ X$g4build = Xyes ] ; then
|
|
while test 1 = 1 ; do
|
|
|
|
g4message=`cat << EOM
|
|
|
|
Definition of G4SYSTEM variable is $g4osname-$g4compiler.
|
|
That stands for:
|
|
|
|
1) OS : $g4osname
|
|
|
|
2) Compiler : $g4compiler
|
|
|
|
To modify default settings, select number above (e.g. 2)
|
|
EOM`
|
|
|
|
dflt="Press [Enter] for default settings"
|
|
rp=$g4message
|
|
. .config/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
|
|
;;
|
|
'win32')
|
|
g4osnamerec=WIN32
|
|
;;
|
|
'darwin')
|
|
g4osnamerec=Darwin
|
|
;;
|
|
esac
|
|
dflt=$g4osname
|
|
rp="What is your OS'?"
|
|
. .config/UU/myread
|
|
tans=$ans
|
|
|
|
if test X$tans != X$g4osnamerec ; then
|
|
echo ""
|
|
echo "You are configuring Geant4 for a different platform to the native system!"
|
|
echo "You are on your own!!!"
|
|
|
|
dflt=$tans
|
|
rp="Confirm your selection or set native '$g4osnamerec'!"
|
|
. .config/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
|
|
;;
|
|
'WIN32')
|
|
g4compilerrec=VC
|
|
;;
|
|
'Darwin')
|
|
g4compilerrec=g++
|
|
;;
|
|
esac
|
|
dflt=$g4compiler
|
|
rp="Which C++ compiler?"
|
|
. .config/UU/myread
|
|
tans=$ans
|
|
|
|
if test X$tans != X$g4compilerrec ; then
|
|
echo " "
|
|
echo "The recommmended compiler for this platform ($g4osname) is $g4compilerrec."
|
|
echo "Use of $tans on $g4osname is not supported - you are on your own!"
|
|
|
|
|
|
dflt=$tans
|
|
rp="Confirm your selection or set recommended '$g4compilerrec'!"
|
|
. .config/UU/myread
|
|
tans=$ans
|
|
fi
|
|
|
|
g4compiler=$tans
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
fi
|
|
|
|
#
|
|
# Ask about compiler used.
|
|
#
|
|
g4system=$g4osname-$g4compiler
|
|
|
|
fi
|
|
|
|
cd .config/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$g4build = X ] ; then
|
|
|
|
if test -f $src/.config/bin/$g4system/env.sh; then
|
|
|
|
# create not_display flag
|
|
|
|
if [ X$g4ldlibs != X -o X$g4ldflags != X -o X$g4cxxflags != X -o X$g4cppflags != X -o X$g4incflags != X ] ; then
|
|
g4non_display=yes
|
|
# echo g4non_display=$g4non_display
|
|
fi
|
|
|
|
if [ X$install = Xyes ] ; then
|
|
|
|
$rm -rf .config/UU
|
|
|
|
. $src/.config/bin/$g4system/move.sh
|
|
|
|
exit 1
|
|
|
|
fi #end of cppflags
|
|
|
|
if [ X$g4cppflags = Xyes ] ; then
|
|
|
|
. $src/.config/bin/$g4system/env.sh
|
|
|
|
CPPFLAGS=`grep 'CPPFLAGS_FINAL :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'`
|
|
|
|
# echo CPPFLAGS=$CPPFLAGS
|
|
echo $CPPFLAGS
|
|
|
|
$rm -rf .config/UU
|
|
exit 1
|
|
|
|
fi #end of cppflags
|
|
|
|
if [ X$g4cxxflags = Xyes ] ; then
|
|
|
|
. $src/.config/bin/$g4system/env.sh
|
|
|
|
CXXFLAGS=`grep 'CXXFLAGS_FINAL :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'`
|
|
|
|
# echo CXXFLAGS=$CXXFLAGS
|
|
echo $CXXFLAGS
|
|
|
|
$rm -rf .config/UU
|
|
exit 1
|
|
|
|
fi #end of cxxflags
|
|
|
|
|
|
|
|
g4install_lib_AAA=`echo $g4install/lib|sed -e "s/\//AAA/g"`
|
|
g4final_install_lib_AAA=`echo $g4final_install/lib/geant4|sed -e "s/\//AAA/g"`
|
|
|
|
|
|
#############################################################################
|
|
if [ X$g4incflags = Xyes ] ; then
|
|
|
|
. $src/.config/bin/$g4system/env.sh
|
|
|
|
### Getting G4FIRST_INSTALL
|
|
G4FIRST_INSTALL_AAA=`grep 'G4INSTALL =' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\)= //'|$sed -e 's/\//AAA/g'`
|
|
G4INSTALL_AAA=`echo $G4INSTALL|sed -e "s/\//AAA/g"`
|
|
###
|
|
INCFLAGS_AAA=`grep 'INCFLAGS_FINAL :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'|$sed -e 's/\//AAA/g'`
|
|
|
|
# echo INCFLAGS_AAA=$INCFLAGS_AAA
|
|
# echo G4INSTALL_AAA=$G4INSTALL_AAA
|
|
# echo G4FIRST_INSTALL_AAA=$G4FIRST_INSTALL_AAA
|
|
|
|
INCFLAGS_AAA_NEW=`echo $INCFLAGS_AAA| $sed -e "s/$G4FIRST_INSTALL_AAA/$G4INSTALL_AAA/g"`
|
|
|
|
# echo INCFLAGS_AAA_NEW=$INCFLAGS_AAA_NEW
|
|
|
|
INCFLAGS=`echo $INCFLAGS_AAA_NEW| $sed -e "s/AAA/\//g"`
|
|
|
|
# echo INCFLAGS=$INCFLAGS
|
|
|
|
if [ X$G4INCLUDE = X ] ; then
|
|
echo $INCFLAGS
|
|
else
|
|
echo -I$G4INCLUDE
|
|
fi
|
|
|
|
$rm -rf .config/UU
|
|
exit 1
|
|
|
|
fi #end of incflags
|
|
#############################################################################
|
|
|
|
|
|
#############################################################################
|
|
if [ X$g4ldflags = Xyes ] ; then
|
|
|
|
. $src/.config/bin/$g4system/env.sh
|
|
|
|
### Getting G4FIRST_INSTALL
|
|
G4FIRST_LIB_AAA=`grep 'G4LIB =' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\)= //'|$sed -e 's/\//AAA/g'`
|
|
G4LIB_AAA=`echo $G4LIB|sed -e "s/\//AAA/g"`
|
|
###
|
|
# G4FIRST_INSTALL_LIB_AAA=${G4FIRST_INSTALL_AAA}AAAlib
|
|
# G4INSTALL_LIB_AAA=${G4INSTALL_AAA}AAAlibAAAgeant4
|
|
|
|
# echo G4FIRST_INSTALL_LIB_AAA=$G4FIRST_INSTALL_LIB_AAA
|
|
# echo G4INSTALL_LIB_AAA=$G4INSTALL_LIB_AAA
|
|
|
|
LDFLAGS_AAA=`grep 'LDFLAGS_FINAL :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'|$sed -e 's/\//AAA/g'`
|
|
LDFLAGS_AAA_NEW=`echo $LDFLAGS_AAA| $sed -e "s/$G4FIRST_LIB_AAA/$G4LIB_AAA/g"`
|
|
LDFLAGS=`echo $LDFLAGS_AAA_NEW| $sed -e "s/AAA/\//g"`
|
|
|
|
# echo LDFLAGS=$LDFLAGS
|
|
echo $LDFLAGS
|
|
|
|
$rm -rf .config/UU
|
|
exit 1
|
|
|
|
fi #end of ldflags
|
|
#############################################################################
|
|
|
|
if [ X$g4ldlibs = Xyes ] ; then
|
|
|
|
# cat >&2 <<EOM
|
|
#---------------------------------------------------
|
|
#LibList mode :)
|
|
#---------------------------------------------------
|
|
#EOM
|
|
|
|
. $src/.config/bin/$g4system/env.sh
|
|
|
|
# echo TEST
|
|
|
|
# ls -l $G4INSTALL/config/scripts/GNUmakefile
|
|
# ls -l $G4LIB/$G4SYSTEM/GNUmakefile.db
|
|
|
|
# LDLIBS_1=`grep 'LDLIBS_FINAL :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | awk -F := '{print $2}'`
|
|
# LDLIBS_2=`echo $LDLIBS_1 | awk -F -lMarker '{print $2}'`
|
|
|
|
# echo LDLIBS_2=$LDLIBS_2
|
|
# echo $LDLIBS_2
|
|
|
|
if [ X$G4LIB_USE_GRANULAR = X ] ; then
|
|
|
|
# Global libs
|
|
|
|
### LDLIBS_1=`grep 'LDLIBS_FINAL :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'`
|
|
### LDLIBS_2=`echo $LDLIBS_1 | $sed -e 's/^\(.*\)-lMarker//'`
|
|
### echo "$LDLIBS_2 $c"
|
|
|
|
LIBLIST_LIST=`$G4LIB/$G4SYSTEM/liblist -m $G4LIB/$G4SYSTEM < $G4LIB/$G4SYSTEM/libname.map`
|
|
|
|
LDLIBS3=`grep 'LDLIBS3 :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'`
|
|
LDLIBS4=`grep 'LDLIBS4 :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'`
|
|
|
|
LDLIBS=$LIBLIST_LIST $LDLIBS3 $LDLIBS4
|
|
|
|
echo $LDLIBS
|
|
|
|
# echo "-L$G4WORKDIR/lib/$G4SYSTEM -lG4persistency -lG4readout -lG4run -lG4event -lG4tracking -lG4parmodels -lG4processes -lG4digits+hits -lG4track -lG4particles -lG4geometry -lG4materials -lG4graphics_reps -lG4intercoms -lG4global $c"
|
|
|
|
$rm -rf .config/UU
|
|
exit 1
|
|
|
|
else
|
|
|
|
# Granular libs
|
|
|
|
# echo $n "-L$G4WORKDIR/lib/$G4SYSTEM $c" ; $G4WORKDIR/lib/$G4SYSTEM/liblist -m $G4WORKDIR/lib/$G4SYSTEM < $G4WORKDIR/lib/$G4SYSTEM/libname.map
|
|
|
|
# echo G4LIB=$G4LIB/$G4SYSTEM
|
|
|
|
LIBLIST_LIST=`$G4LIB/$G4SYSTEM/liblist -m $G4LIB/$G4SYSTEM < $G4LIB/$G4SYSTEM/libname.map`
|
|
|
|
LDLIBS3=`grep 'LDLIBS3 :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'`
|
|
LDLIBS4=`grep 'LDLIBS4 :=' $G4LIB/$G4SYSTEM/GNUmakefile.db | $sed -e 's/^\(.*\):=//'`
|
|
|
|
LDLIBS=$LIBLIST_LIST $LDLIBS3 $LDLIBS4
|
|
|
|
echo $LDLIBS
|
|
|
|
$rm -rf .config/UU
|
|
|
|
exit 1
|
|
fi #end of check for global/granular
|
|
|
|
else #if not -lib but user mode
|
|
|
|
# header for User
|
|
echo " "
|
|
echo " --- Geant4 Toolkit Installation ---"
|
|
echo " (setting environments for USER )"
|
|
echo " "
|
|
|
|
cat >&2 <<EOM
|
|
---------------------------------------------------
|
|
The Geant4 toolkit installation was found.
|
|
The files env.[c]sh will be copied to your current directory.
|
|
For setting Geant4 environments you should make:
|
|
|
|
source env.csh
|
|
|
|
or
|
|
|
|
. env.sh
|
|
|
|
It will also check G4WORKDIR setting and set it to
|
|
your HOME if needed.
|
|
You can use these files also for further modifications
|
|
(adding your own environments).
|
|
---------------------------------------------------
|
|
EOM
|
|
$rm -rf .config/UU
|
|
|
|
cp -i $src/.config/bin/$g4system/env.csh .
|
|
cp -i $src/.config/bin/$g4system/env.sh .
|
|
|
|
exit 1
|
|
fi #end of -lib or user
|
|
else #there is no env.sh
|
|
|
|
# header for Installer
|
|
echo " "
|
|
echo " --- Geant4 Toolkit Installation ---"
|
|
echo " "
|
|
|
|
echo " "
|
|
echo "WARNING: Geant4 is NOT built yet!"
|
|
echo "You (or the administrator if you have not enough privileges)"
|
|
echo "should start with \$G4INSTALL/Configure -build."
|
|
echo "(where \$G4INSTALL is Geant4 install directory)."
|
|
echo " "
|
|
$rm -rf .config/UU
|
|
exit 1
|
|
fi #end of check for existence of env.sh
|
|
fi #end of check for "not -install"
|
|
|
|
cd .config/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 .config/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?"
|
|
. .config/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 .config/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 .config/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 .config/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
|
|
|
|
cat <<EOSC >qt
|
|
$startsh
|
|
#
|
|
# Autoconf(ish) style check for Qt headers, libraries and moc application
|
|
#
|
|
|
|
#
|
|
# These are variables that the final unit generated script may use
|
|
#
|
|
with_qt_dir="\$qt_search_dir"
|
|
|
|
#
|
|
# Only run if we haven't succesfully found Qt already
|
|
#
|
|
if test "x\$g4_qt_is_configured" = "x" ; then
|
|
#
|
|
# Flag specifying if we've configured Qt o.k.
|
|
#
|
|
g4_qt_is_configured="yes" # Optimism
|
|
|
|
# Flag to be set if any part of configuration fails
|
|
g4_havegoodqt="yes" # Optimism
|
|
|
|
# Qt4 flag
|
|
g4_is_qt4="no"
|
|
|
|
# Variables to be set
|
|
g4_qt_include_dir=''
|
|
g4_qt_lib_dir=''
|
|
g4_qt_moc=''
|
|
|
|
g4_qt_version=''
|
|
g4_qt_cxxflags=''
|
|
g4_qt_gl_cxxflags=''
|
|
g4_qt_libs=''
|
|
g4_qt_gl_libs=''
|
|
|
|
#
|
|
# User may supply a value for 'QTDIR' and in that case we ASSUME a
|
|
# Trolltech style installation or a Mac Framework. The latter has a
|
|
# higher priority in the list of search paths because otherwise we may
|
|
# miss the presence of a Framework (see Bug #1095)
|
|
#
|
|
if test "x\$with_qt_dir" != "x" ; then
|
|
g4_qt_dir="\$with_qt_dir"
|
|
g4_qt_possible_qt_include_dirs="\$with_qt_dir/QtCore.framework/Headers
|
|
\$with_qt_dir/lib*/QtCore.framework/Headers
|
|
\$with_qt_dir/include/QtCore
|
|
\$with_qt_dir/include/Qt
|
|
\`ls -dr \$with_qt_dir/include/qt*/QtCore 2>/dev/null\`
|
|
\`ls -dr \$with_qt_dir/include/qt*/Qt 2>/dev/null\`
|
|
\`ls -dr \$with_qt_dir/include/qt* 2>/dev/null\`
|
|
\$with_qt_dir/include"
|
|
|
|
# Check for qglobal.h
|
|
g4_qglobal_loc=\`./loc qglobal.h no \$g4_qt_possible_qt_include_dirs\`
|
|
|
|
if test "x\$g4_qglobal_loc" = "xno" ; then
|
|
g4_havegoodqt=no
|
|
g4_qt_include_dir=no
|
|
fi
|
|
echo "checking for qglobal.h... \$g4_qglobal_loc"
|
|
|
|
if test "x\$g4_qglobal_loc" != "xno" ; then
|
|
g4_qt_include_dir="\`dirname \$g4_qglobal_loc\`"
|
|
fi
|
|
|
|
else
|
|
# We use standard search paths, again preferencing Frameworks so that
|
|
# these are not missed
|
|
qt_direct_test_header="qglobal.h"
|
|
|
|
g4_qt_include_path_list="
|
|
\`ls -dr /Library/Frameworks/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /System/Library/Frameworks/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /usr/local/Qt*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /usr/local/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /usr/local/lib*/Qt*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /opt/local/Qt*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /opt/local/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /opt/local/lib/Qt*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /opt/local/lib*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /opt/Qt*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /opt/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /usr/lib/QtCore.framework/Headers 2>/dev/null\`
|
|
\`ls -dr /usr/lib/Qt*/QtCore.framework/Headers 2>/dev/null\`
|
|
/usr/include/QtCore
|
|
\`ls -dr /usr/include/qt*/QtCore 2>/dev/null\`
|
|
\`ls -dr /usr/local/include/QtCore 2>/dev/null\`
|
|
\`ls -dr /usr/local/include/qt*/QtCore 2>/dev/null\`
|
|
\`ls -dr /usr/local/qt*/include/QtCore 2>/dev/null\`
|
|
\`ls -dr /opt/qt*/include/QtCore 2>/dev/null\`
|
|
\`ls -dr /usr/qt*/include/QtCore 2>/dev/null\`
|
|
\`ls -dr /usr/qt/*/include/QtCore 2>/dev/null\`
|
|
\`ls -dr /usr/include/qt/*/QtCore 2>/dev/null\`
|
|
\`ls -dr /sw/include/QtCore 2>/dev/null\`
|
|
\`ls -dr /sw/qt*/include/QtCore 2>/dev/null\`
|
|
\`ls -dr /sw/qt/*/include/QtCore 2>/dev/null\`
|
|
/usr/include
|
|
\`ls -dr /usr/include/qt* 2>/dev/null\`
|
|
\`ls -dr /usr/local/include 2>/dev/null\`
|
|
\`ls -dr /usr/local/include/qt* 2>/dev/null\`
|
|
\`ls -dr /usr/local/qt*/include 2>/dev/null\`
|
|
\`ls -dr /opt/qt*/include 2>/dev/null\`
|
|
\`ls -dr /usr/qt*/include 2>/dev/null\`
|
|
\`ls -dr /usr/qt/*/include 2>/dev/null\`
|
|
\`ls -dr /usr/include/qt/* 2>/dev/null\`
|
|
\`ls -dr /sw/include 2>/dev/null\`
|
|
\`ls -dr /sw/qt*/include 2>/dev/null\`
|
|
\`ls -dr /sw/qt/*/include 2>/dev/null\`
|
|
/usr/include/Qt
|
|
\`ls -dr /usr/include/qt*/Qt 2>/dev/null\`
|
|
\`ls -dr /usr/local/include/Qt 2>/dev/null\`
|
|
\`ls -dr /usr/local/include/qt*/Qt 2>/dev/null\`
|
|
\`ls -dr /opt/qt*/include/Qt 2>/dev/null\`
|
|
\`ls -dr /usr/qt*/include/Qt 2>/dev/null\`
|
|
\`ls -dr /usr/qt/*/include/Qt 2>/dev/null\`
|
|
\`ls -dr /usr/include/qt/*/Qt 2>/dev/null\`
|
|
\`ls -dr /sw/include/Qt 2>/dev/null\`
|
|
\`ls -dr /sw/qt*/include/Qt 2>/dev/null\`
|
|
\`ls -dr /sw/qt/*/include/Qt 2>/dev/null\`
|
|
"
|
|
|
|
# Find ALL installed versions of qglobal.h
|
|
for g4_qt_dir in \$g4_qt_include_path_list ; do
|
|
if test -r "\$g4_qt_dir/\$qt_direct_test_header" ; then
|
|
g4_qt_found_dirs="\$g4_qt_found_dirs \$g4_qt_dir"
|
|
fi
|
|
done
|
|
|
|
# Which one relates to the newest Qt?
|
|
g4_qt_prev_ver=0
|
|
for g4_qt_dir in \$g4_qt_found_dirs ; do
|
|
g4_qt_this_ver=\`grep -w '#define QT_VERSION' \$g4_qt_dir/\$qt_direct_test_header | sed s/'#define QT_VERSION'//\`
|
|
|
|
if expr \$g4_qt_this_ver '>' \$g4_qt_prev_ver > /dev/null ; then
|
|
g4_qt_include_dir=\$g4_qt_dir
|
|
g4_qt_prev_ver=\$g4_qt_this_ver
|
|
fi
|
|
done
|
|
|
|
if test "x\$g4_qt_include_dir" = "x" ; then
|
|
g4_qt_include_dir=no
|
|
g4_havegoodqt=no
|
|
echo "checking for qglobal.h... no"
|
|
else
|
|
echo "checking for qglobal.h... \$g4_qt_include_dir/qglobal.h"
|
|
fi
|
|
fi # END TEST with_qt_dir is set
|
|
|
|
#
|
|
# Result of above tests should have given us g4_qt_include_dir
|
|
# We can now use this to check other things, taking care to deal with the
|
|
# correct paths...
|
|
#
|
|
|
|
# Immediate and obvious Darwin check...
|
|
if test "x\`basename \$g4_qt_include_dir\`" = "xHeaders" ; then
|
|
#check for moc - we have a framework so we first need to check for
|
|
#a bin directory below g4_qt_include_dir. Depending on how the
|
|
#Framework was installed, this may be below the level that
|
|
#QtCore.framework is at.
|
|
|
|
# Find base framework directory
|
|
g4_qt_fmwk_base_dir=\`dirname \$g4_qt_include_dir\`
|
|
g4_qt_fmwk_base_dir=\`dirname \$g4_qt_fmwk_base_dir\`
|
|
|
|
if test "x\`basename \$g4_qt_fmwk_base_dir\`" = "xlib" ; then
|
|
#This is probably an independent install
|
|
echo "checking Mac Framework location... trolltech/custom"
|
|
g4_qt_dir=\`dirname \$g4_qt_fmwk_base_dir\`
|
|
|
|
#Check for moc
|
|
if test -x "\$g4_qt_dir/bin/moc" ; then
|
|
g4_qt_moc="\$g4_qt_dir/bin/moc"
|
|
echo "checking for moc... \$g4_qt_moc"
|
|
|
|
g4_qt_version="4"
|
|
g4_qt_cxxflags="-I\$g4_qt_dir/lib/QtCore.framework/Headers -I\$g4_qt_dir/lib/QtGui.framework/Headers"
|
|
g4_qt_gl_cxxflags="-I\$g4_qt_dir/lib/QtOpenGl.framework/Headers"
|
|
g4_qt_libs="-F\$g4_qt_dir/lib -framework QtCore -framework QtGui"
|
|
g4_qt_gl_libs="-framework QtOpenGL"
|
|
else
|
|
echo "checking for moc... no"
|
|
g4_havegoodqt=no
|
|
fi
|
|
elif test "x\`basename \$g4_qt_fmwk_base_dir\`" = "xFrameworks" ; then
|
|
#This looks like a system install
|
|
echo "Checking Mac Framework location... Frameworks"
|
|
if test -x "/usr/bin/moc" ; then
|
|
g4_qt_moc="/usr/bin/moc"
|
|
echo "checking for moc... \$g4_qt_moc"
|
|
|
|
g4_qt_dir=\$g4_qt_fmwk_base_dir
|
|
|
|
g4_qt_version="4"
|
|
g4_qt_cxxflags="-I\$g4_qt_dir/QtCore.framework/Headers -I\$g4_qt_dir/QtGui.framework/Headers"
|
|
g4_qt_gl_cxxflags="-I\$g4_qt_dir/QtOpenGl.framework/Headers"
|
|
g4_qt_libs="-F\$g4_qt_dir -framework QtCore -framework QtGui"
|
|
g4_qt_gl_libs="-framework QtOpenGL"
|
|
else
|
|
echo "checking for moc... no"
|
|
g4_havegoodqt=no
|
|
fi
|
|
fi
|
|
elif test "x\$g4_qt_include_dir" != "x" ; then
|
|
# Probably have Unix-style installation, in which case estimated
|
|
# 'QTDIR' equivalent is $with_qt_dir if supplied, or directory
|
|
# one level below the 'include' directory in \$g4_qt_include_dir
|
|
if test "x\$with_qt_dir" = "x" ; then
|
|
# We need to strip g4_qt_include_dir, if it was found
|
|
g4_qt_dir=\$g4_qt_include_dir
|
|
|
|
# Only do this IF there's an 'include' in the path name!
|
|
if test "x\`echo \$g4_qt_dir | grep include\`" != "x" ; then
|
|
while test "x\`basename \$g4_qt_dir\`" != "xinclude" ;
|
|
do
|
|
g4_qt_dir=\`dirname \$g4_qt_dir\`
|
|
done
|
|
fi
|
|
|
|
#Now should be one level above equivalent QTDIR
|
|
g4_qt_dir=\`dirname \$g4_qt_dir\`
|
|
fi
|
|
|
|
# At this point, we need get Qt version of detected qglobal.h because
|
|
# Qt3/4 libraries MAY be installed alongside each other...
|
|
qt_direct_test_header=qglobal.h
|
|
g4_qt_major_ver=\`grep QT_VERSION_STR \$g4_qt_include_dir/\$qt_direct_test_header 2>/dev/null | sed 's/.* \"\([0-9]\)\..*\"/\1/'\`
|
|
|
|
#
|
|
# We might have an odd install where our found qglobal.h #includes
|
|
# the real qglobal...
|
|
#
|
|
if test "x\$g4_qt_major_ver" = "x" ; then
|
|
# check for a #include of qglobal...
|
|
possible_actual_qglobal=\`grep '#include.*qglobal' \$g4_qt_include_dir/\$qt_direct_test_header 2>/dev/null\`
|
|
|
|
if test "x\$possible_actual_qglobal" != "x" ; then
|
|
#We did get something, and it's likely the include
|
|
#will give us a relative path (but an ASSUMPTION at present)
|
|
relative_path_to_qglobal=\`grep '#include.*qglobal' \$g4_qt_include_dir/\$qt_direct_test_header 2>/dev/null | sed 's/.*\"\(.*\)\"/\1/'\`
|
|
|
|
if test -r \$g4_qt_include_dir/\$relative_path_to_qglobal ; then
|
|
g4_qt_major_ver=\`grep QT_VERSION_STR \$g4_qt_include_dir/\$relative_path_to_qglobal 2>/dev/null | sed 's/.* \"\([0-9]\)\..*\"/\1/'\`
|
|
else
|
|
g4_qt_major_ver=no
|
|
g4_havegoodqt=no
|
|
fi
|
|
else
|
|
g4_qt_major_ver=no
|
|
g4_havegoodqt=no
|
|
fi
|
|
fi #END TEST odd qglobal includes qglobal behaviour
|
|
|
|
if test "x\$g4_qt_major_ver" = "x4" ; then
|
|
g4_is_qt4=yes
|
|
else
|
|
g4_is_qt4=no
|
|
fi
|
|
echo "checking Qt major version... \$g4_qt_major_ver"
|
|
|
|
#
|
|
# We also need to check for Qt4 installations with QtCore type
|
|
# directory structures. That being the case, make sure we have
|
|
# the extra headers..
|
|
#
|
|
if test "x\`basename \$g4_qt_include_dir\`" = "xQtCore" ; then
|
|
g4_qt_extra_headers=""
|
|
g4_qt_gl_headers=""
|
|
g4_qt_extra_packages="QtGui"
|
|
g4_qt_gl_packages="QtOpenGL"
|
|
|
|
for i in \$g4_qt_extra_packages ; do
|
|
if test -d "\`dirname \$g4_qt_include_dir\`/\$i" ; then
|
|
echo "checking for \$i headers... yes"
|
|
g4_qt_extra_headers="\$g4_qt_extra_headers \`dirname \$g4_qt_include_dir\`/\$i"
|
|
else
|
|
echo "checking for \$i headers... no"
|
|
g4_havegoodqt=no
|
|
fi
|
|
done
|
|
|
|
for i in \$g4_qt_gl_packages ; do
|
|
if test -d "\`dirname \$g4_qt_include_dir\`/\$i" ; then
|
|
echo "checking for \$i headers... yes"
|
|
g4_qt_gl_headers="\$g4_qt_gl_headers \`dirname \$g4_qt_include_dir\`/\$i"
|
|
else
|
|
echo "checking for \$i headers... no"
|
|
g4_havegoodqt=no
|
|
fi
|
|
done
|
|
|
|
fi #END TEST QtCore style install
|
|
|
|
|
|
#
|
|
# Now check for appropriate library...
|
|
#
|
|
if test -d "\$g4_qt_dir/lib64" ; then
|
|
# Damn, this doesn't guarantee we're on a 64bit system, some distros/packages
|
|
# will have a lib64 dir even on an i*86 machine...
|
|
# We don't ever cross-compile Geant4, so must have the native libraries.
|
|
# Double check for this craziness...
|
|
case "`uname -m`" in
|
|
i*86)
|
|
g4_qt_lib_dir=\$g4_qt_dir/lib
|
|
;;
|
|
*)
|
|
g4_qt_lib_dir=\$g4_qt_dir/lib64
|
|
;;
|
|
esac
|
|
else
|
|
g4_qt_lib_dir=\$g4_qt_dir/lib
|
|
fi
|
|
|
|
if test "x\$g4_is_qt4" = "xyes" ; then
|
|
g4_qt_lib="\`ls \$g4_qt_lib_dir/libQtCore* 2> /dev/null | sed -n 1p |
|
|
sed s@\$g4_qt_lib_dir/lib@@ | sed s@[.].*@@\`"
|
|
|
|
if test "x\$g4_qt_lib" = "x" ; then
|
|
# We might be on Windows...
|
|
g4_qt_lib="\`ls \$g4_qt_lib_dir/QtCore4.lib 2> /dev/null | sed -n 1p | sed s@\$g4_qt_lib_dir/@@\`"
|
|
fi
|
|
|
|
if test "x\$g4_qt_lib" != "x" ; then
|
|
echo "checking for QtCore library... \$g4_qt_lib"
|
|
else
|
|
echo "checking for QtCore library... no"
|
|
g4_havegoodqt=no
|
|
fi
|
|
else
|
|
g4_qt_lib="\`ls \$g4_qt_lib_dir/libqt-mt.* \$g4_qt_lib_dir/libqt.* 2> /dev/null | sed -n 1p | sed s@\$g4_qt_lib_dir/lib@@ | sed s@[.].*@@\`"
|
|
|
|
if test "x\$g4_qt_lib" != "x" ; then
|
|
echo "checking for qt-mt or qt library... \$g4_qt_lib"
|
|
|
|
# On Darwin we also need libqui for Qt3
|
|
if test "x\$osname" = "xdarwin" ; then
|
|
g4_qt_lib_qui="\`ls \$g4_qt_lib_dir/libqui.* 2> /dev/null |
|
|
sed -n 1p | sed s@\$g4_qt_lib_dir/lib@@ |
|
|
sed s@[.].*@@\`"
|
|
if test "x\$g4_qt_lib_qui" != "x" ; then
|
|
echo "checking for qui library... yes"
|
|
else
|
|
echo "checking for qui library... no"
|
|
g4_havegoodqt=no
|
|
fi
|
|
fi
|
|
else
|
|
echo "checking for qt-mt or qt library... no"
|
|
g4_havegoodqt=no
|
|
fi
|
|
fi #END TEST for Qt4/3 libraries
|
|
|
|
#
|
|
# Finally, we need to search for moc
|
|
# We use prior knowledge of the detected Qt version to
|
|
# try and grab the correct moc straight off.
|
|
#
|
|
g4_qt_bin_dir=\$g4_qt_dir/bin
|
|
g4_qtmoc=no
|
|
g4_qt_cross_check_moc=no
|
|
|
|
if test "x\$g4_is_qt4" = "xyes" ; then
|
|
# Try the qt4 variants first...
|
|
if test -x "\$g4_qt_bin_dir/moc-qt4" ; then
|
|
g4_qtmoc="\$g4_qt_bin_dir/moc-qt4"
|
|
elif test -x "\$g4_qt_bin_dir/qt4-moc" ; then
|
|
g4_qtmoc="\$g4_qt_bin_dir/qt4-moc"
|
|
elif test -x "\$g4_qt_bin_dir/moc" ; then
|
|
g4_qtmoc="\$g4_qt_bin_dir/moc"
|
|
g4_qt_cross_check_moc=yes
|
|
else
|
|
g4_havegoodqt=no
|
|
fi
|
|
else
|
|
# We've probably got Qt3, so check for
|
|
# the qt3 variants first
|
|
if test -x "\$g4_qt_bin_dir/moc-qt3" ; then
|
|
g4_qtmoc="\$g4_qt_bin_dir/moc-qt3"
|
|
elif test -x "\$g4_qt_bin_dir/qt3-moc" ; then
|
|
g4_qtmoc="\$g4_qt_bin_dir/qt3-moc"
|
|
elif test -x "\$g4_qt_bin_dir/moc" ; then
|
|
g4_qtmoc="\$g4_qt_bin_dir/moc"
|
|
g4_qt_cross_check_moc=yes
|
|
else
|
|
g4_havegoodqt=no
|
|
fi
|
|
fi
|
|
echo "checking for moc... \$g4_qtmoc"
|
|
|
|
#
|
|
# If pure 'moc' was found, cross check its version
|
|
# against previously detected Qt major version
|
|
#
|
|
if test "x\$g4_qt_cross_check_moc" = "xyes" ; then
|
|
$echo $n "Checking \$g4_qtmoc major version is \$g4_qt_major_ver... $c"
|
|
# Grab version of found moc
|
|
g4_qt_found_moc_major_version=\`\$g4_qtmoc -v 2>&1 | sed 's/^.*(Qt \([0-9]\)\..*/\1/'\`
|
|
if test "x\$g4_qt_found_moc_major_version" != "x\$g4_qt_major_ver" ; then
|
|
# We need to ask the user where correct moc is
|
|
$echo "no"
|
|
promptend="no"
|
|
user_moc="\$g4_qtmoc"
|
|
|
|
while test "x\$promptend" = "xno" ; do
|
|
echo " "
|
|
g4message=\`cat << EOM
|
|
Qt moc was found as \$user_moc and has major version \$g4_qt_found_moc_major_version.
|
|
This does not match the version of the detected Qt install
|
|
which is \$g4_qt_major_ver.
|
|
Please enter the full path to the moc program which matches this Qt
|
|
version, or type '-' to CANCEL the Qt checks.
|
|
EOM\`
|
|
dflt="\$user_moc"
|
|
rp=\$g4message
|
|
. ./myread
|
|
|
|
# Check for user cancellation
|
|
if test "x\$ans" = "x-" ; then
|
|
g4_havegoodqt="no"
|
|
g4_qtmoc=""
|
|
promptend="yes"
|
|
else
|
|
user_moc="\$ans"
|
|
if test -x "\$user_moc" ; then
|
|
g4_qt_found_moc_major_version=\`\$user_moc -v 2>&1 | sed 's/^.*(Qt \([0-9]\)\..*/\1/'\`
|
|
if test "x\$g4_qt_found_moc_major_version" != "x\$g4_qt_major_ver" ; then
|
|
echo "Checking if \$user_moc version is \$g4_qt_major_ver... no"
|
|
else
|
|
echo "Checking if \$user_moc version is \$g4_qt_major_ver... yes"
|
|
g4_qtmoc=\$user_moc
|
|
promptend=yes
|
|
fi
|
|
else
|
|
echo "warning: \$user_moc is not executable."
|
|
user_moc="<null>"
|
|
g4_qt_found_moc_major_version="<null>"
|
|
fi
|
|
fi
|
|
# We need to ask the user where correct moc is
|
|
done
|
|
else
|
|
$echo "yes"
|
|
fi
|
|
fi
|
|
|
|
## THIS IS POINT AT WHICH TO DO FALLBACK TESTS I.E DOES
|
|
## COMPILATION OF SMALL TEST PROGRAM WORK - THEN HEADERS AND
|
|
## LIBS ARE AUTOMATICALLY FOUND BY LINKER
|
|
|
|
#
|
|
## Finally, set output variables, raw for now
|
|
#
|
|
if test "x\$g4_havegoodqt" = "xyes" ; then
|
|
g4_qt_version=\$g4_qt_major_ver
|
|
|
|
# Take care of Qt4 style header structure...
|
|
if test "x\`basename \$g4_qt_include_dir\`" = "xQtCore"; then
|
|
g4_qt_cxxflags="-I\`dirname \$g4_qt_include_dir\` -I\$g4_qt_include_dir"
|
|
else
|
|
g4_qt_cxxflags="-I\$g4_qt_include_dir"
|
|
fi
|
|
if test "x\$g4_is_qt4" = "xyes" ; then
|
|
for i in \$g4_qt_extra_headers ; do
|
|
g4_qt_cxxflags="\$g4_qt_cxxflags -I\$i"
|
|
done
|
|
for i in \$g4_qt_gl_headers ; do
|
|
g4_qt_gl_cxxflags="\$g4_qt_gl_cxxflags -I\$i"
|
|
done
|
|
fi
|
|
|
|
g4_qt_libs="-L\$g4_qt_lib_dir"
|
|
if test "x\$g4_qt_lib" = "xQtCore4.lib" ; then
|
|
#We have Windows...
|
|
g4_qt_libs="\$g4_qt_libs QtCore4.lib QtGui4.lib"
|
|
g4_qt_gl_libs="QtOpenGL4.lib"
|
|
else
|
|
g4_qt_libs="\$g4_qt_libs -l\$g4_qt_lib"
|
|
if test "x\$g4_is_qt4" = "xyes" ; then
|
|
g4_qt_libs="\$g4_qt_libs -lQtGui"
|
|
g4_qt_gl_libs="-lQtOpenGL"
|
|
fi
|
|
fi
|
|
if test "x\$g4_qt_lib_qui" != "x" ; then
|
|
g4_qt_libs="\$g4_qt_libs -lqui"
|
|
fi
|
|
|
|
|
|
g4_qt_moc=\$g4_qtmoc
|
|
|
|
g4_qt_is_configured=yes
|
|
else
|
|
g4_qt_is_configured=''
|
|
fi
|
|
else
|
|
#We couldn't find qglobal...
|
|
g4_havegoodqt="no"
|
|
fi #END TEST for Darwin Framework
|
|
|
|
else
|
|
#Probably also want flags here to reset variables if requested
|
|
echo "configure: Qt already configured, no recheck neccessary"
|
|
fi #END TEST "x\$g4_qt_is_configured" = "x"
|
|
|
|
EOSC
|
|
: 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 ";;
|
|
esac
|
|
. .config/UU/myread
|
|
if test -f .config/UU/getfile.ok && \
|
|
$contains "^$ans\$" .config/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=`.config/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?"
|
|
. .config/UU/myread
|
|
dflt=''
|
|
case "$ans" in
|
|
y*) type='';;
|
|
*) echo " ";;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
done
|
|
cd .config/UU
|
|
ans="$value"
|
|
|
|
# Check for Windows!
|
|
if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then
|
|
|
|
checkdrive=`echo $ans|cut -d"/" -f2`
|
|
|
|
if test "X$checkdrive" = "Xcygdrive"; then
|
|
|
|
windrive=`echo $ans|cut -d"/" -f3`
|
|
winpath=`echo $ans|cut -d"/" -f4-`
|
|
|
|
fullwinpath="$windrive:/$winpath"
|
|
ans=$fullwinpath
|
|
|
|
fi # if cygwin syntax is used
|
|
fi # if Win
|
|
|
|
rp="$orig_rp"
|
|
dflt="$orig_dflt"
|
|
rm -f getfile.ok
|
|
EOSC
|
|
|
|
echo " "
|
|
echo "*OPTIONS FOR GEANT4 INSTALLATION PATHS*"
|
|
|
|
if [ X$src = X. ] ; then
|
|
cd ../..
|
|
abssrc=`pwd`
|
|
cd .config/UU
|
|
else
|
|
abssrc=$src
|
|
fi
|
|
|
|
case "$g4conf" in
|
|
'')
|
|
g4conf=$abssrc/.config/bin/$g4system
|
|
;;
|
|
esac
|
|
|
|
|
|
case "$g4install" in
|
|
'')
|
|
if test $g4system = "WIN32-VC" -o $g4system = "WIN32-VC7"; then
|
|
g4install=$abssrc
|
|
else
|
|
g4install=$abssrc
|
|
fi
|
|
|
|
# Check for Windows!
|
|
if test $g4system = "WIN32-VC" -o $g4system = "WIN32-VC7"; then
|
|
checkdrive=`echo $g4install|cut -d"/" -f2`
|
|
|
|
if test $checkdrive = "cygdrive"; then
|
|
windrive=`echo $g4install|cut -d"/" -f3`
|
|
winpath=`echo $g4install|cut -d"/" -f4-`
|
|
fullwinpath="$windrive:/$winpath"
|
|
g4install=$fullwinpath
|
|
fi
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
case "$g4final_install" in
|
|
'')
|
|
g4final_install=$g4install
|
|
;;
|
|
esac
|
|
|
|
case "$g4workdir" in
|
|
'')
|
|
g4workdir=$g4install
|
|
;;
|
|
esac
|
|
|
|
case "$g4includes_flag" in
|
|
'')
|
|
g4includes_flag=n
|
|
;;
|
|
esac
|
|
|
|
|
|
g4message="What is the path to the Geant4 source tree?"
|
|
dflt=$g4install
|
|
fn='d~'
|
|
rp=$g4message
|
|
. ./getfile
|
|
g4install=$ans
|
|
g4workdir=$g4install
|
|
|
|
#################################
|
|
echo " "
|
|
g4message="Where should Geant4 be installed?"
|
|
dflt=$g4final_install
|
|
fn='d~'
|
|
rp=$g4message
|
|
. ./getfile
|
|
g4final_install=$ans
|
|
|
|
##################################
|
|
echo " "
|
|
g4message="Do you want to install all Geant4 headers in one directory?"
|
|
dflt=$g4includes_flag
|
|
rp=$g4message
|
|
. ./myread
|
|
g4includes_flag=$ans
|
|
|
|
if [ X$g4includes_flag = Xy ] ; then
|
|
case "$g4include" in
|
|
'')
|
|
g4include=$g4install/include
|
|
;;
|
|
esac
|
|
|
|
# Set constantly!
|
|
if [ X$g4install != X$g4final_install ] ; then
|
|
g4include=$g4final_install/include/geant4
|
|
else
|
|
g4include=$g4final_install/include
|
|
fi
|
|
fi
|
|
|
|
|
|
echo " "
|
|
echo "*GEANT4 LIBRARY BUILD OPTIONS*"
|
|
|
|
if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then
|
|
while test 1 = 1 ; do
|
|
g4message="Do you want to build DLL (.dll) libraries?"
|
|
dflt=$g4lib_build_dll
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
g4lib_build_dll=n
|
|
g4lib_build_shared=n
|
|
g4lib_build_static=y
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
g4lib_build_dll=y
|
|
g4lib_build_shared=n
|
|
g4lib_build_static=n
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" ; then
|
|
while test 1 = 1 ; do
|
|
g4message="Do you want to build shared libraries?"
|
|
dflt=$g4lib_build_shared
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
g4lib_build_shared=n
|
|
g4lib_build_static=y
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
g4lib_build_shared=y
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ X$g4lib_build_shared = Xy ] ; then
|
|
#
|
|
# Ask about g4lib_build_static - default "n".
|
|
#
|
|
while test 1 = 1 ; do
|
|
g4message="Do you want to build static libraries too?"
|
|
dflt=$g4lib_build_static
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
g4lib_build_static=n
|
|
break
|
|
;;
|
|
y*|Y*)
|
|
g4lib_build_static=y
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
fi # if !Win
|
|
|
|
|
|
|
|
if test \( \( "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7" \) -a "X$g4lib_build_dll" = "Xy" \) -o \( "X$g4system" = "XDarwin-g++" -a "X$g4lib_build_dyn" = "Xy" \) ; then
|
|
|
|
g4global=n
|
|
g4granular=n
|
|
g4lib_use_granular=n
|
|
|
|
fi
|
|
|
|
if test \( "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" -a "X$g4system" != "XDarwin-g++" \) -o \( \( "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7" \) -a "X$g4lib_build_dll" = "Xn" \) -o \( "X$g4system" = "XDarwin-g++" -a "X$g4lib_build_dyn" = "Xn" \) ; then
|
|
#
|
|
# Ask about g4global - default "(empty)".
|
|
#
|
|
g4message="Do you want to build global libraries?"
|
|
dflt=$g4global
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
# If global libs not wanted, we must force build and use of granular
|
|
g4global=n
|
|
g4granular=y
|
|
g4lib_use_granular=y
|
|
;;
|
|
y*|Y*)
|
|
# If we do want global libs, leave granular alone to preserve default settings
|
|
g4global=y
|
|
;;
|
|
esac
|
|
|
|
if [ X$g4global = Xy ] ; then
|
|
#
|
|
# Ask about g4granular - default "n".
|
|
#
|
|
g4message="Do you want to build granular libraries as well?"
|
|
dflt=$g4granular
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
# If granular libraries not built, also force use_granular to no
|
|
g4granular=n
|
|
g4lib_use_granular=n
|
|
;;
|
|
y*|Y*)
|
|
g4granular=y
|
|
;;
|
|
esac
|
|
|
|
if [ X$g4granular = Xy ] ; then
|
|
#
|
|
# Ask about g4lib_use_granular - default "n".
|
|
#
|
|
g4message="Do you want to use granular libraries in your applications?"
|
|
dflt=$g4lib_use_granular
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
g4lib_use_granular=n
|
|
;;
|
|
y*|Y*)
|
|
g4lib_use_granular=y
|
|
;;
|
|
esac
|
|
fi
|
|
fi
|
|
fi # !Win
|
|
|
|
### End file - without will be problem! Check in others...
|
|
|
|
|
|
g4message="Do you want to build libraries with debugging information?"
|
|
dflt=$g4debug
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
g4debug=n
|
|
;;
|
|
y*|Y*)
|
|
g4debug=y
|
|
;;
|
|
esac
|
|
|
|
g4data_photonevaporation_version='PhotonEvaporation2.1'
|
|
g4data_radioactivedecay_version='RadioactiveDecay3.3'
|
|
g4data_g4emlow_version='G4EMLOW6.19'
|
|
g4data_g4ndl_version='G4NDL3.14'
|
|
g4data_g4abla_version='G4ABLA3.0'
|
|
g4data_realsurface_version='RealSurface1.0'
|
|
g4data_neutronxs_version='G4NEUTRONXS1.0'
|
|
g4data_pii_version='G4PII1.2'
|
|
#END GEANT4 DATA OPTIONS
|
|
echo " "
|
|
echo "*CHECKS AND OPTIONS FOR GEANT4 PHYSICS DATA FILES*"
|
|
|
|
|
|
#
|
|
# Set defaults for data paths - here, because we depend on g4install
|
|
#
|
|
case "$g4data" in
|
|
'')
|
|
g4data=$g4install/data
|
|
;;
|
|
esac
|
|
|
|
case "$g4levelgammadata" in
|
|
'')
|
|
g4levelgammadata=$g4data/$g4data_photonevaporation_version
|
|
;;
|
|
esac
|
|
|
|
case "$g4radioactivedata" in
|
|
'')
|
|
g4radioactivedata=$g4data/$g4data_radioactivedecay_version
|
|
;;
|
|
esac
|
|
|
|
case "$g4ledata" in
|
|
'')
|
|
g4ledata=$g4data/$g4data_g4emlow_version
|
|
;;
|
|
esac
|
|
|
|
case "$g4neutronhpcrosssections" in
|
|
'')
|
|
g4neutronhpcrosssections=$g4data/$g4data_g4ndl_version
|
|
;;
|
|
esac
|
|
|
|
case "$g4abladata" in
|
|
'')
|
|
g4abladata=$g4data/$g4data_g4abla_version
|
|
;;
|
|
esac
|
|
|
|
case "$g4realsurfacedata" in
|
|
'')
|
|
g4realsurfacedata=$g4data/$g4data_realsurface_version
|
|
;;
|
|
esac
|
|
|
|
case "$g4neutronxsdata" in
|
|
'')
|
|
g4neutronxsdata=$g4data/$g4data_neutronxs_version
|
|
;;
|
|
esac
|
|
|
|
case "$g4piidata" in
|
|
'')
|
|
g4piidata=$g4data/$g4data_pii_version
|
|
;;
|
|
esac
|
|
|
|
|
|
#
|
|
# Now we have defaults, prompt user to see if this is where they want to use
|
|
#
|
|
g4data_alllibs="$g4data_photonevaporation_version $g4data_radioactivedecay_version $g4data_g4emlow_version $g4data_g4ndl_version $g4data_g4abla_version $g4data_realsurface_version $g4data_neutronxs_version $g4data_pii_version"
|
|
|
|
g4message=`cat <<EOM
|
|
Specify the path where the Geant4 data libraries are installed:
|
|
EOM`
|
|
|
|
dflt=$g4data
|
|
rp=$g4message
|
|
. ./myread
|
|
g4data=$ans
|
|
|
|
#
|
|
# Using this, we can now check that the libs exist, but only on a directory
|
|
# level
|
|
#
|
|
g4data_foundall='yes'
|
|
promptend="no"
|
|
g4data_customize="no"
|
|
|
|
while test "x$promptend" = "xno" ; do
|
|
### PhotonEvaporation
|
|
$echo $n "checking for $g4data_photonevaporation_version... $c"
|
|
if test -d "$g4data/$g4data_photonevaporation_version" ; then
|
|
$echo "yes"
|
|
g4levelgammadata=$g4data/$g4data_photonevaporation_version
|
|
else
|
|
$echo "no"
|
|
g4data_foundall="no"
|
|
fi
|
|
|
|
### RadioactiveDecay
|
|
$echo $n "checking for $g4data_radioactivedecay_version... $c"
|
|
if test -d "$g4data/$g4data_radioactivedecay_version" ; then
|
|
$echo "yes"
|
|
g4radioactivedata=$g4data/$g4data_radioactivedecay_version
|
|
else
|
|
$echo "no"
|
|
g4data_foundall="no"
|
|
fi
|
|
|
|
### G4EMLOW
|
|
$echo $n "checking for $g4data_g4emlow_version... $c"
|
|
if test -d "$g4data/$g4data_g4emlow_version" ; then
|
|
$echo "yes"
|
|
g4ledata=$g4data/$g4data_g4emlow_version
|
|
else
|
|
$echo "no"
|
|
g4data_foundall="no"
|
|
fi
|
|
|
|
### G4NDL
|
|
$echo $n "checking for $g4data_g4ndl_version... $c"
|
|
if test -d "$g4data/$g4data_g4ndl_version" ; then
|
|
$echo "yes"
|
|
g4neutronhpcrosssections=$g4data/$g4data_g4ndl_version
|
|
else
|
|
$echo "no"
|
|
g4data_foundall="no"
|
|
fi
|
|
|
|
### G4ABLA
|
|
$echo $n "checking for $g4data_g4abla_version... $c"
|
|
if test -d "$g4data/$g4data_g4abla_version" ; then
|
|
$echo "yes"
|
|
g4abladata=$g4data/$g4data_g4abla_version
|
|
else
|
|
$echo "no"
|
|
g4data_foundall="no"
|
|
fi
|
|
|
|
### G4REALSURFACE
|
|
$echo $n "checking for $g4data_realsurface_version... $c"
|
|
if test -d "$g4data/$g4data_realsurface_version" ; then
|
|
$echo "yes"
|
|
g4realsurfacedata=$g4data/$g4data_realsurface_version
|
|
else
|
|
$echo "no"
|
|
g4data_foundall="no"
|
|
fi
|
|
|
|
### G4NEUTRONXS
|
|
$echo $n "checking for $g4data_neutronxs_version... $c"
|
|
if test -d "$g4data/$g4data_neutronxs_version" ; then
|
|
$echo "yes"
|
|
g4neutronxsdata=$g4data/$g4data_neutronxs_version
|
|
else
|
|
$echo "no"
|
|
g4data_foundall="no"
|
|
fi
|
|
|
|
### G4PII
|
|
$echo $n "checking for $g4data_pii_version... $c"
|
|
if test -d "$g4data/$g4data_pii_version" ; then
|
|
$echo "yes"
|
|
g4piidata=$g4data/$g4data_pii_version
|
|
else
|
|
$echo "no"
|
|
g4data_foundall="no"
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
# If we haven't found all the data, query the user as to whether they
|
|
# want to
|
|
# 1) try again with a different path
|
|
# 2) use the path they input
|
|
# 3) customize paths
|
|
#
|
|
if test "x$g4data_foundall" = "xyes" ; then
|
|
promptend=yes
|
|
else
|
|
g4message=`cat << EOM
|
|
|
|
Failed to locate one or more of the Geant4 data libraries in
|
|
|
|
$g4data
|
|
|
|
Please enter
|
|
1) Another path to search in
|
|
2) 'f' to force the use of the path you entered previously (the data libraries
|
|
are NOT needed to build Geant4, but are needed to run applications later).
|
|
3) 'c' to customize the data paths, e.g. if you have the data libraries
|
|
installed in different locations.
|
|
EOM`
|
|
dflt="f"
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
if test "x$gans" = "xf" ; then
|
|
# Force paths
|
|
promptend="yes"
|
|
g4levelgammadata="$g4data/$g4data_photonevaporation_version"
|
|
g4radioactivedata="$g4data/$g4data_radioactivedecay_version"
|
|
g4ledata="$g4data/$g4data_g4emlow_version"
|
|
g4neutronhpcrosssections="$g4data/$g4data_g4ndl_version"
|
|
g4abladata="$g4data/$g4data_g4abla_version"
|
|
g4realsurfacedata="$g4data/$g4data_realsurface_version"
|
|
g4neutronxsdata="$g4data/$g4data_neutronxs_version"
|
|
g4piidata="$g4data/$g4data_pii_version"
|
|
|
|
|
|
elif test "x$gans" = "xc" ; then
|
|
# enable customization - we use input g4data to set
|
|
# defaults
|
|
promptend="yes"
|
|
g4data_customize="yes"
|
|
|
|
g4levelgammadata="$g4data/$g4data_photonevaporation_version"
|
|
g4radioactivedata="$g4data/$g4data_radioactivedecay_version"
|
|
g4ledata="$g4data/$g4data_g4emlow_version"
|
|
g4neutronhpcrosssections="$g4data/$g4data_g4ndl_version"
|
|
g4abladata="$g4data/$g4data_g4abla_version"
|
|
g4realsurfacedata="$g4data/$g4data_realsurface_version"
|
|
g4neutronxsdata="$g4data/$g4data_neutronxs_version"
|
|
g4piidata="$g4data/$g4data_pii_version"
|
|
|
|
else
|
|
#try again
|
|
g4data_foundall=yes
|
|
g4data=$gans
|
|
fi
|
|
fi
|
|
done
|
|
|
|
|
|
#
|
|
# Now customize paths if required
|
|
#
|
|
if test "x$g4data_customize" = "xyes" ; then
|
|
while test "x" = "x" ; do
|
|
|
|
g4message=`cat <<EOM
|
|
|
|
You have chosen to customize the Geant4 data library paths.
|
|
|
|
1) $g4data_photonevaporation_version:
|
|
$g4levelgammadata
|
|
2) $g4data_radioactivedecay_version:
|
|
$g4radioactivedata
|
|
3) $g4data_g4emlow_version:
|
|
$g4ledata
|
|
4) $g4data_g4ndl_version:
|
|
$g4neutronhpcrosssections
|
|
5) $g4data_g4abla_version:
|
|
$g4abladata
|
|
6) $g4data_realsurface_version:
|
|
$g4realsurfacedata
|
|
7) $g4data_neutronxs_version:
|
|
$g4neutronxsdata
|
|
8) $g4data_pii_version:
|
|
$g4piidata
|
|
|
|
Choose a number from the list above to customize that path (e.g. 2)
|
|
EOM`
|
|
|
|
dflt="Press [Enter] to exit customization with paths as above"
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
"1")
|
|
dflt=$g4levelgammadata
|
|
fn='d~'
|
|
rp="Custom path to $g4data_photonevaporation_version?"
|
|
. ./getfile
|
|
g4levelgammadata=$ans
|
|
;;
|
|
|
|
"2")
|
|
dflt=$g4radioactivedata
|
|
fn='d~'
|
|
rp="Custom path to $g4data_radioactivedecay_version?"
|
|
. ./getfile
|
|
g4radioactivedata=$ans
|
|
;;
|
|
|
|
"3")
|
|
dflt=$g4ledata
|
|
fn='d~'
|
|
rp="Custom path to $g4data_g4emlow_version?"
|
|
. ./getfile
|
|
g4ledata=$ans
|
|
;;
|
|
|
|
"4")
|
|
dflt=$g4neutronhpcrosssections
|
|
fn='d~'
|
|
rp="Custom path to $g4data_g4ndl_version?"
|
|
. ./getfile
|
|
g4neutronhpcrosssections=$ans
|
|
;;
|
|
|
|
"5")
|
|
dflt=$g4abladata
|
|
fn='d~'
|
|
rp="Custom path to $g4data_g4abla_version?"
|
|
. ./getfile
|
|
g4abladata=$ans
|
|
;;
|
|
|
|
"6")
|
|
dflt=$g4realsurfacedata
|
|
fn='d~'
|
|
rp="Custom path to $g4data_realsurface_version?"
|
|
. ./getfile
|
|
g4realsurfacedata=$ans
|
|
;;
|
|
|
|
"7")
|
|
dflt=$g4neutronxsdata
|
|
fn='d~'
|
|
rp="Custom path to $g4data_neutronxs_version?"
|
|
. ./getfile
|
|
g4neutronxsdata=$ans
|
|
;;
|
|
|
|
"8")
|
|
dflt=$g4piidata
|
|
fn='d~'
|
|
rp="Custom path to $g4data_pii_version?"
|
|
. ./getfile
|
|
g4piidata=$ans
|
|
;;
|
|
|
|
*)
|
|
break
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
# Configure which make to use...
|
|
# On WIN32, we have to watch for cygwin/Matlab clash
|
|
# Here, cygwin supplies make, Matlab 'gmake', but we must select
|
|
# cygwin make.
|
|
#
|
|
# Yes, we could use Loc's built in make, but want full control
|
|
# for now....
|
|
#
|
|
|
|
echo " "
|
|
echo "*CHECKS FOR CORRECT MAKE IMPLEMENTATION*"
|
|
|
|
g4_make_loc="no"
|
|
g4_gmake_loc="no"
|
|
|
|
g4_make_program=make
|
|
g4_gmake_program=gmake
|
|
|
|
g4_check_make_msg="Checking for $g4_make_program..."
|
|
g4_check_gmake_msg="Checking for $g4_gmake_program..."
|
|
|
|
g4_make_isgnu="no"
|
|
g4_gmake_isgnu="no"
|
|
|
|
g4_make_dirs=`echo $PATH | sed 's/\:/ /g'`
|
|
|
|
# Check for 'make' on all systems
|
|
g4_make_loc=`./loc $g4_make_program no $g4_make_dirs`
|
|
echo "$g4_check_make_msg $g4_make_loc"
|
|
|
|
|
|
# On anything but Windows, check for gmake as well
|
|
if test "x$g4osname" != "xWIN32" ; then
|
|
g4_gmake_loc=`./loc $g4_gmake_program no $g4_make_dirs`
|
|
echo "$g4_check_gmake_msg $g4_gmake_loc"
|
|
fi
|
|
|
|
|
|
# Now see if make/gmake are GNU make.
|
|
if test "x$g4_make_loc" != "xno" ; then
|
|
g4_make_version=`$g4_make_loc -v 2>/dev/null | sed s"/'//"`
|
|
|
|
case $g4_make_version in
|
|
GNU*)
|
|
g4_make_isgnu=yes
|
|
;;
|
|
*)
|
|
g4_make_isgnu=no
|
|
;;
|
|
esac
|
|
echo "Checking if make is GNU make... $g4_make_isgnu"
|
|
fi
|
|
|
|
if test "x$g4osname" != "xWIN32" ; then
|
|
if test "x$g4_gmake_loc" != "xno" ; then
|
|
g4_gmake_version=`$g4_gmake_loc -v 2>/dev/null | sed s"/'//"`
|
|
|
|
case $g4_gmake_version in
|
|
GNU*)
|
|
g4_gmake_isgnu=yes
|
|
;;
|
|
*)
|
|
g4_gmake_isgnu=no
|
|
;;
|
|
esac
|
|
echo "Checking if gmake is GNU make... $g4_gmake_isgnu"
|
|
fi
|
|
fi
|
|
|
|
# Now perform selection on following logic
|
|
# 1) If we have gmake AND it's GNU make, use that
|
|
# 2) If we have make AND it's GNU make, use that
|
|
# 3) If none of the above, prompt user for path to make program
|
|
if test "x$g4_gmake_loc" != "xno" -a "x$g4_gmake_isgnu" = "xyes" ; then
|
|
g4make=$g4_gmake_loc
|
|
elif test "x$g4_make_loc" != "xno" -a "x$g4_make_isgnu" = "xyes" ; then
|
|
g4make=$g4_make_loc
|
|
else
|
|
g4_got_user_make="no"
|
|
while test "x$g4_got_user_make" = "xno"; do
|
|
g4message=`cat << EOM
|
|
|
|
G4MAKE
|
|
|
|
A GNU make program could not be located on your system.
|
|
Please enter the full path to the GNU make program you
|
|
want to use:
|
|
EOM`
|
|
dflt=$g4make
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
#Check if this is GNU make...
|
|
g4_user_make_version=`$gans -v 2>/dev/null | sed s"/'//"`
|
|
|
|
case $g4_user_make_version in
|
|
"GNU Make"*)
|
|
echo "Checking that $gans is GNU Make... yes"
|
|
g4make=$gans
|
|
g4_got_user_make=yes
|
|
;;
|
|
*)
|
|
echo "Checking that $gans is GNU Make... no"
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
|
|
#
|
|
# As we now have a suitable make, query the user for how many parallel jobs
|
|
# they want to launch. Make sure they give a sensible response (n>0)
|
|
#
|
|
g4_sensible_job_number="no"
|
|
|
|
while test "x$g4_sensible_job_number" = "xno" ; do
|
|
g4message="How many parallel jobs should make launch?"
|
|
dflt=$g4make_jobs
|
|
rp=$g4message
|
|
. ./myread
|
|
gans="$ans"
|
|
|
|
# Check that response is reasonable
|
|
if test $gans -gt 0 ; then
|
|
echo "Checking that $gans is a valid number... yes"
|
|
g4make_jobs=$gans
|
|
g4_sensible_job_number="yes"
|
|
else
|
|
echo "Checking that $gans is a valid number... no"
|
|
fi
|
|
done
|
|
|
|
|
|
echo " "
|
|
echo "*CHECKS FOR REQUIRED EXTERNAL PACKAGE CLHEP*"
|
|
|
|
if test "X$g4clhep_base_dir" = "X" ; then
|
|
clhep_dirs=`find $g4clhep_base_dir /usr/local/include /usr/include -type d -name CLHEP 2>/dev/null |xargs echo`
|
|
fi
|
|
|
|
if test "X$clhep_dirs" != "X" ; then
|
|
g4clhep_base_dir_found=`echo $clhep_dirs|cut -d" " -f1`
|
|
g4clhep_base_dir_found=`dirname $g4clhep_base_dir_found`
|
|
g4clhep_base_dir_found=`dirname $g4clhep_base_dir_found`
|
|
|
|
g4clhep_base_dir=$g4clhep_base_dir_found
|
|
fi
|
|
|
|
|
|
if test "X$g4clhep_base_dir" != "X" ; then
|
|
echo "checking for a CLHEP installation... $g4clhep_base_dir"
|
|
|
|
echo " "
|
|
g4message="Is this the CLHEP installation you want to use?"
|
|
|
|
dflt=$g4clhep_base_dir
|
|
fn='d~'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/CLHEP" ; then
|
|
cend="yes"
|
|
g4clhep_base_dir=$ans
|
|
else
|
|
g4message=`cat << EOM
|
|
|
|
Could not find CLHEP installed in $ans!
|
|
Please, specify where CLHEP is installed:
|
|
|
|
CLHEP_BASE_DIR:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
|
|
else
|
|
g4message=`cat << EOM
|
|
|
|
Could not find CLHEP installed on this system!
|
|
Please, specify where CLHEP is installed:
|
|
|
|
CLHEP_BASE_DIR:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/CLHEP" ; then
|
|
cend="yes"
|
|
g4clhep_base_dir=$ans
|
|
else
|
|
g4message=`cat << EOM
|
|
|
|
Could not find CLHEP installed in $ans!
|
|
Please, specify where CLHEP is installed:
|
|
|
|
CLHEP_BASE_DIR:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
fi
|
|
|
|
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
|
|
'')
|
|
if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then
|
|
g4clhep_lib="CLHEP.lib"
|
|
else
|
|
g4clhep_lib=CLHEP
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
while test 1 = 1 ; do
|
|
g4message_1=`cat << You
|
|
|
|
You can customize paths and library name of you CLHEP installation:
|
|
|
|
1) CLHEP_INCLUDE_DIR: $g4clhep_include_dir
|
|
2) CLHEP_LIB_DIR: $g4clhep_lib_dir
|
|
3) CLHEP_LIB: $g4clhep_lib
|
|
|
|
You`
|
|
|
|
g4message_2=" need to use full library name with its extension (e.g. libCLHEP.lib)."
|
|
|
|
g4message_3=`cat << EOM
|
|
|
|
To modify default settings, select number above (e.g. 2)
|
|
EOM`
|
|
|
|
|
|
if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then
|
|
rp=$g4message_1$g4message_3
|
|
else
|
|
rp=$g4message_1$g4message_2$g4message_3
|
|
fi
|
|
|
|
dflt="Press [Enter] for default settings"
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
1)
|
|
dflt=$g4clhep_include_dir
|
|
fn='d~'
|
|
rp="Where is the CLHEP include directory?"
|
|
. ./getfile
|
|
g4clhep_include_dir=$ans
|
|
;;
|
|
2)
|
|
dflt=$g4clhep_lib_dir
|
|
fn='d~'
|
|
rp="Where is the CLHEP lib directory?"
|
|
. ./getfile
|
|
g4clhep_lib_dir=$ans
|
|
;;
|
|
3)
|
|
dflt=$g4clhep_lib
|
|
rp="What is the name of the CLHEP library?"
|
|
. ./myread
|
|
g4clhep_lib=$ans
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
echo " "
|
|
echo "*OPTIONS FOR GEANT4 USER INTERFACE MODULES*"
|
|
|
|
g4message="Enable building of User Interface (UI) modules?"
|
|
|
|
dflt='y'
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4ui_none=y
|
|
;;
|
|
y*|Y*)
|
|
g4ui_none=n
|
|
;;
|
|
esac
|
|
|
|
case $g4ui_none in
|
|
|
|
n)
|
|
|
|
if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then
|
|
|
|
g4message="Enable building of the XAW (X11 Athena Widget set) UI module?"
|
|
|
|
dflt=$g4ui_build_xaw_session
|
|
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
|
|
|
|
############################################################
|
|
############################################################
|
|
|
|
if test "X$g4ui_build_xaw_session" = "Xy" ; then
|
|
|
|
if test "X$g4ui_xawhome" = "X" ; then
|
|
xaw_dirs=`find $g4ui_xawhome /usr/X11R6/include /usr/local/include /usr/include /sw/include -type d -name Xaw 2>/dev/null |xargs echo`
|
|
#echo ogl_dirs=$ogl_dirs
|
|
|
|
if test "X$xaw_dirs" != "X" ; then
|
|
|
|
g4xaw_base_dir_found=`echo $xaw_dirs|cut -d" " -f1`
|
|
#echo g4ogl_base_dir_found=$g4ogl_base_dir_found
|
|
|
|
# That's right: should be 3 times! (e.g./usr/local/lib/libGLU.so -> /usr/local)
|
|
g4xaw_base_dir_found=`dirname $g4xaw_base_dir_found`
|
|
g4xaw_base_dir_found=`dirname $g4xaw_base_dir_found`
|
|
g4xaw_base_dir_found=`dirname $g4xaw_base_dir_found`
|
|
|
|
g4ui_xawhome=$g4xaw_base_dir_found
|
|
#else
|
|
#case "$g4ui_xawhome" in
|
|
#'')
|
|
# g4ui_xawhome=/usr/X11R6/
|
|
# ;;
|
|
#esac
|
|
fi
|
|
fi
|
|
|
|
##########################################################################
|
|
|
|
#if test "X$g4ui_xawhome" != "X" ; then
|
|
#xaw_dirs=$g4ui_xawhome
|
|
#fi
|
|
|
|
if test "X$g4ui_xawhome" != "X" ; then
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the XAW based user interfaces.
|
|
Specify the correct path where XAW is installed on your system.
|
|
It was found in $g4ui_xawhome. Press [Enter] to set this path or type the correct one.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XAW flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=$g4ui_xawhome
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/X11/Xaw" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4ui_xawhome=$ans
|
|
|
|
else
|
|
|
|
g4ui_build_xaw_session=n
|
|
g4ui_use_xaw=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the XAW based user interfaces.
|
|
But XAW was not found in $ans.
|
|
Please specify the correct path where XAW is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XAW flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the XAW based user interfaces.
|
|
But XAW was not found in expected place.
|
|
Please specify the correct path where XAW is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XAW flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/X11/Xaw" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4ui_xawhome=$ans
|
|
|
|
else
|
|
|
|
g4ui_build_xaw_session=n
|
|
g4ui_use_xaw=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the XAW based user interfaces.
|
|
But XAW was not found in $ans.
|
|
Please specify the correct path where XAW is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XAW flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux"; then
|
|
|
|
if test "X$g4ui_xawhome" = "X/usr" -o "X$g4ui_xawhome" = "X/usr/local" ; then
|
|
g4ui_xawhome=""
|
|
fi
|
|
fi
|
|
fi # g4vis_build_opheglxm_driver
|
|
|
|
###############################################
|
|
# Set XMFLAGS and XMLIBS
|
|
#
|
|
|
|
if test "X$g4ui_build_xaw_session" = "Xy" ; then
|
|
|
|
if test "X$g4osname" = "XAIX" ; then
|
|
g4ui_xawflags=" -I$g4ui_xawhome/include "
|
|
g4ui_xawlibs=" -L$g4ui_xawhome/lib -lXaw -lXmu -lXt -lX11 -lXext "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux" ; then
|
|
if test "X$g4ui_xawhome" = "X" ; then
|
|
g4ui_xawflags=""
|
|
else
|
|
g4ui_xawflags=" -I$g4ui_xawhome/include "
|
|
fi
|
|
|
|
if test "X$g4ui_xawhome" = "X/usr/X11R6" -o "X$g4ui_xawhome" = "X" ; then
|
|
g4ui_xawlibs=" -lXaw "
|
|
else
|
|
if test -d "$g4ui_xawhome/lib64" ; then
|
|
g4ui_xawlibs=" -L$g4ui_xawhome/lib64 -lXaw "
|
|
else
|
|
g4ui_xawlibs=" -L$g4ui_xawhome/lib -lXaw "
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "X$g4osname" = "XDarwin" ; then
|
|
g4ui_xawflags=" -I$g4ui_xawhome/include "
|
|
g4ui_xawlibs=" -L$g4ui_xawhome/lib -lXaw "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XDEC" ; then
|
|
g4ui_xawflags=" -I$g4ui_xawhome/include "
|
|
g4ui_xawlibs=" -L$g4ui_xawhome/lib -lXaw "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XHP" ; then
|
|
g4ui_xawflags=" -I$g4ui_xawhome/include "
|
|
g4ui_xawlibs=" -L$g4ui_xawhome/lib -lXaw "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XSGI" ; then
|
|
g4ui_xawflags=" -I$g4ui_xawhome/include "
|
|
g4ui_xawlibs=" -L$g4ui_xawhome/lib -lXaw "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XSUN" ; then
|
|
g4ui_xawflags=" -I$g4ui_xawhome/include "
|
|
g4ui_xawlibs=" -L$g4ui_xawhome/lib -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXaw -lXmu -lXt -lX11 -lXext "
|
|
fi
|
|
|
|
fi # end of XM build
|
|
|
|
###############################################
|
|
###############################################
|
|
|
|
g4message="Enable building of the X11-Motif (Xm) UI module?"
|
|
|
|
dflt=$g4ui_build_xm_session
|
|
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
|
|
|
|
|
|
############################################################
|
|
############################################################
|
|
|
|
if test "X$g4ui_build_xm_session" = "Xy" ; then
|
|
|
|
if test "X$g4vis_xmhome" = "X" ; then
|
|
xm_dirs=`find $g4vis_xmhome /usr/X11R6/include /usr/local/include /usr/include /sw/include -type d -name Xm 2>/dev/null |xargs echo`
|
|
#echo ogl_dirs=$ogl_dirs
|
|
|
|
if test "X$xm_dirs" != "X" ; then
|
|
|
|
g4xm_base_dir_found=`echo $xm_dirs|cut -d" " -f1`
|
|
#echo g4ogl_base_dir_found=$g4ogl_base_dir_found
|
|
|
|
# That's right: should be twice! (e.g./usr/local/lib/libGLU.so -> /usr/local)
|
|
g4xm_base_dir_found=`dirname $g4xm_base_dir_found`
|
|
g4xm_base_dir_found=`dirname $g4xm_base_dir_found`
|
|
|
|
g4vis_xmhome=$g4xm_base_dir_found
|
|
#else
|
|
#case "$g4vis_xmhome" in
|
|
#'')
|
|
# g4vis_xmhome=/usr/X11R6/
|
|
# ;;
|
|
#esac
|
|
fi
|
|
fi
|
|
|
|
##########################################################################
|
|
|
|
#if test "X$g4vis_xmhome" != "X" ; then
|
|
#xm_dirs=$g4vis_xmhome
|
|
#fi
|
|
|
|
if test "X$g4vis_xmhome" != "X" ; then
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the X11-Motif(Xm) based user interfaces.
|
|
Specify the correct path where Xm is installed on your system.
|
|
It was found in $g4vis_xmhome. Press [Enter] to set this path or type the correct one.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XM flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=$g4vis_xmhome
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/Xm" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_xmhome=$ans
|
|
|
|
else
|
|
|
|
g4ui_build_xm_session=n
|
|
g4ui_use_xm=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the X11-Motif(Xm) based user interfaces.
|
|
But Xm was not found in $ans.
|
|
Please specify the correct path where Xm is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XM flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the X11-Motif(Xm) based user interfaces.
|
|
But Xm was not found in the expected place.
|
|
Please specify the correct path where Xm is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XM flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/Xm" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_xmhome=$ans
|
|
|
|
else
|
|
|
|
g4ui_build_xm_session=n
|
|
g4ui_use_xm=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the X11-Motif(Xm) based user interfaces.
|
|
But Xm was not found in $ans.
|
|
Please specify the correct path where Xm is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XM flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux"; then
|
|
if test "X$g4vis_xmhome" = "X/usr" -o "X$g4vis_xmhome" = "X/usr/local" ; then
|
|
g4vis_xmhome=""
|
|
fi
|
|
fi
|
|
fi # g4vis_build_opheglxm_driver
|
|
|
|
###############################################
|
|
# Set XMFLAGS and XMLIBS
|
|
#
|
|
|
|
if test "X$g4ui_build_xm_session" = "Xy" ; then
|
|
|
|
if test "X$g4osname" = "XAIX" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm -lXt -lX11 "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux" ; then
|
|
if test "X$g4vis_xmhome" = "X" ; then
|
|
g4vis_xmflags=""
|
|
else
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
fi
|
|
|
|
if test "X$g4vis_xmhome" = "X/usr/X11R6" -o "X$g4vis_xmhome" = "X" ; then
|
|
g4vis_xmlibs=" -lXm -lXpm "
|
|
else
|
|
if test -d "$g4vis_xmhome/lib64" ; then
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib64 -lXm -lXpm "
|
|
else
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm -lXpm "
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "X$g4osname" = "XDarwin" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm -lXpm "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XDEC" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XHP" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include/Motif1.2 "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib/Motif1.2 -lXm "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XSGI" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XSUN" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXt -lXm -lX11 "
|
|
fi
|
|
|
|
fi # end of XM build
|
|
|
|
###############################################
|
|
###############################################
|
|
|
|
fi # if !WIN
|
|
|
|
if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then
|
|
|
|
g4message="Enable building of the WIN32 Terminal UI module?"
|
|
|
|
dflt=$g4ui_build_win32_session
|
|
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
|
|
|
|
fi # if WIN
|
|
|
|
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
|
|
gans=y
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4ui_use_tcsh=n
|
|
;;
|
|
y*|Y*)
|
|
g4ui_use_tcsh=y
|
|
;;
|
|
esac
|
|
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# BEGIN QT/QTUI PROBE
|
|
#
|
|
|
|
# Checks applied for all systems ONLY IF g4ui_none HAS NOT BEEN SET TO y
|
|
if test "x$g4ui_none" = "xn" ; then
|
|
# Query the user to see if build of Qt UI module is needed
|
|
g4message="Enable building of the Qt UI module?"
|
|
|
|
# Read in the user response
|
|
dflt=$g4ui_build_qt_session
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
# Check response and take set variables as needed.
|
|
case $gans in
|
|
n*|N*)
|
|
g4ui_build_qt_session=n
|
|
g4ui_use_qt=n
|
|
;;
|
|
y*|Y*)
|
|
g4ui_build_qt_session=y
|
|
g4ui_use_qt=y
|
|
;;
|
|
esac
|
|
|
|
##########
|
|
|
|
##########
|
|
# Now, if user chose to build module, we need to check for a Qt
|
|
# installation
|
|
#
|
|
if test "x$g4ui_build_qt_session" = "xy" ; then
|
|
# NB Have to supply arg to qt script, just blank in this case!
|
|
qt_search_dir=""
|
|
. ./qt
|
|
|
|
# If we didn't find Qt automatically, then ask user if they know
|
|
# where it's installed...
|
|
if test "x$g4_havegoodqt" = "xno" ; then
|
|
promptend="no"
|
|
user_qthome="the standard locations"
|
|
|
|
while test "x$promptend" = "xno" ; do
|
|
g4message=`cat << EOM
|
|
|
|
Autodetection failed to locate Qt3 or Qt4 in $qthomeloc on your system.
|
|
Please enter the path to your Qt3 OR Qt4 install (i.e. if Qt4 is installed
|
|
in PATH/include/QT, PATH/include or PATH/include/qt4, enter PATH),
|
|
or type '-' to CANCEL the build of the Qt UI module.
|
|
Qt path:
|
|
EOM`
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
user_qthome=$ans
|
|
|
|
if test "x$user_qthome" = "x-" ; then
|
|
# Cancel build...
|
|
g4ui_build_qt_session=n
|
|
g4ui_use_qt=n
|
|
echo "configure: build/use of Qt UI module cancelled"
|
|
promptend=yes
|
|
else
|
|
# Check for installation in user directory
|
|
echo " "
|
|
qt_search_dir=$user_qthome
|
|
. ./qt
|
|
|
|
if test "x$g4_havegoodqt" = "xyes" ; then
|
|
promptend=yes
|
|
fi
|
|
fi #END TEST user_qthome = -
|
|
done #END while promptend=no (for user input of Qt install)
|
|
fi #END TEST g4_havegoodqt = no (for user prompt)
|
|
fi #END TEST g4ui_build_qt_session (whether to build at all)
|
|
fi #END TEST g4ui_none = n
|
|
|
|
echo " "
|
|
echo "*OPTIONS FOR GEANT4 VISUALIZATION DRIVERS*"
|
|
|
|
g4message="Enable building of visualization drivers?"
|
|
dflt='y'
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_none=y
|
|
;;
|
|
y*|Y*)
|
|
g4vis_none=n
|
|
;;
|
|
esac
|
|
|
|
case $g4vis_none in
|
|
|
|
n)
|
|
|
|
if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then
|
|
|
|
g4message="Enable building of the X11 OpenGL visualization driver?"
|
|
|
|
dflt=$g4vis_build_openglx_driver
|
|
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="Enable building of the X11-Motif OpenGL visualization driver?"
|
|
|
|
dflt=$g4vis_build_openglxm_driver
|
|
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
|
|
|
|
############################################################
|
|
#echo xm_dirs=$xm_dirs
|
|
#echo g4vis_xmhome=$g4vis_xmhome
|
|
#echo g4ui_build_xm_session=$g4ui_build_xm_session
|
|
#echo g4vis_build_openglxm_driver=$g4vis_build_openglxm_driver
|
|
|
|
if test "X$g4ui_build_xm_session" = "Xn" ; then
|
|
|
|
#echo PASS1
|
|
|
|
if test "X$g4vis_build_openglxm_driver" = "Xy" ; then
|
|
|
|
#echo PASS2
|
|
|
|
if test "X$g4vis_xmhome" = "X" ; then
|
|
xm_dirs=`find $g4vis_xmhome /usr/X11R6/include /usr/local/include /usr/include /sw/include -type d -name Xm 2>/dev/null |xargs echo`
|
|
#echo ogl_dirs=$ogl_dirs
|
|
|
|
if test "X$xm_dirs" != "X" ; then
|
|
|
|
g4xm_base_dir_found=`echo $xm_dirs|cut -d" " -f1`
|
|
#echo g4ogl_base_dir_found=$g4ogl_base_dir_found
|
|
|
|
# That's right: should be twice! (e.g./usr/local/lib/libGLU.so -> /usr/local)
|
|
g4xm_base_dir_found=`dirname $g4xm_base_dir_found`
|
|
g4xm_base_dir_found=`dirname $g4xm_base_dir_found`
|
|
|
|
g4vis_xmhome=$g4xm_base_dir_found
|
|
#else
|
|
#case "$g4vis_xmhome" in
|
|
#'')
|
|
# g4vis_xmhome=/usr/X11R6/
|
|
# ;;
|
|
#esac
|
|
fi
|
|
fi
|
|
|
|
##########################################################################
|
|
|
|
#if test "X$g4vis_xmhome" != "X" ; then
|
|
#xm_dirs=$g4vis_xmhome
|
|
#fi
|
|
|
|
if test "X$g4vis_xmhome" != "X" ; then
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the OpenGL-Motif(Xm) driver.
|
|
Specify the correct path where Xm is installed in your system.
|
|
It was found in $g4vis_xmhome. Press [Enter] to set this path or type the correct one.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XM flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=$g4vis_xmhome
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/Xm" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_xmhome=$ans
|
|
|
|
else
|
|
|
|
g4vis_build_openglxm_driver=n
|
|
g4vis_use_openglxm=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the OpenGL-Motif(Xm) driver.
|
|
But Xm was not found in $ans.
|
|
Please specify the correct path where Xm is installed in your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XM flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the OpenGL-Motif(Xm) driver.
|
|
But Xm was not found in expected place.
|
|
Please specify the correct path where Xm is installed in your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XM flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/Xm" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_xmhome=$ans
|
|
|
|
else
|
|
|
|
g4vis_build_openglxm_driver=n
|
|
g4vis_use_openglxm=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the OpenGL-Motif(Xm) driver.
|
|
But Xm was not found in $ans.
|
|
Please specify the correct path where Xm is installed in your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the XM flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux"; then
|
|
|
|
if test "X$g4vis_xmhome" = "X/usr" -o "X$g4vis_xmhome" = "X/usr/local" ; then
|
|
g4vis_xmhome=""
|
|
fi
|
|
fi
|
|
fi # g4vis_build_opheglxm_driver
|
|
|
|
###############################################
|
|
# Set XMFLAGS and XMLIBS
|
|
#
|
|
|
|
if test "X$g4vis_build_openglxm_driver" = "Xy" ; then
|
|
|
|
if test "X$g4osname" = "XAIX" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm -lXt -lX11 "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux" ; then
|
|
if test "X$g4vis_xmhome" = "X" ; then
|
|
g4vis_xmflags=""
|
|
else
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
fi
|
|
|
|
if test "X$g4vis_xmhome" = "X/usr/X11R6" -o "X$g4vis_xmhome" = "X" ; then
|
|
g4vis_xmlibs=" -lXm -lXpm "
|
|
else
|
|
if test -d "$g4vis_xmhome/lib64" ; then
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib64 -lXm -lXpm "
|
|
else
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm -lXpm "
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "X$g4osname" = "XDarwin" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm -lXpm "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XDEC" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XHP" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include/Motif1.2 "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib/Motif1.2 -lXm "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XSGI" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm "
|
|
fi
|
|
|
|
if test "X$g4osname" = "XSUN" ; then
|
|
g4vis_xmflags=" -I$g4vis_xmhome/include "
|
|
g4vis_xmlibs=" -L$g4vis_xmhome/lib -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXt -lXm -lX11 "
|
|
fi
|
|
|
|
fi # end of XM build
|
|
fi
|
|
###############################################
|
|
|
|
fi # if !WIN
|
|
|
|
######################################################################
|
|
if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then
|
|
|
|
g4message="Enable building of the WIN32 OpenGL visualization driver?"
|
|
|
|
dflt=$g4vis_build_openglwin32_driver
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_openglwin32_driver=n
|
|
g4vis_use_openglwin32=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_openglwin32_driver=y
|
|
g4vis_use_openglwin32=y
|
|
;;
|
|
esac
|
|
|
|
fi # if WIN
|
|
###########################################
|
|
|
|
if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then
|
|
|
|
g4message="Enable building of the FukuiRenderer/DAWN visualization driver?"
|
|
dflt=$g4vis_build_dawn_driver
|
|
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="Enable building of the X11 OpenInventor visualization driver?"
|
|
|
|
dflt=$g4vis_build_oix_driver
|
|
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
|
|
|
|
############################################################
|
|
if test "X$g4vis_build_oix_driver" = "Xy" ; then
|
|
|
|
oiv_dirs=`find $g4vis_oivhome /usr/X11R6/include /usr/local/include /usr/include -type d -name Inventor 2>/dev/null|xargs echo`
|
|
#echo ogl_dirs=$ogl_dirs
|
|
|
|
if test "X$oiv_dirs" != "X" ; then
|
|
|
|
g4oiv_base_dir_found=`echo $oiv_dirs|cut -d" " -f1`
|
|
#echo g4ogl_base_dir_found=$g4ogl_base_dir_found
|
|
|
|
# That's right: should be twice! (e.g./usr/local/lib/libGLU.so -> /usr/local)
|
|
g4oiv_base_dir_found=`dirname $g4oiv_base_dir_found`
|
|
g4oiv_base_dir_found=`dirname $g4oiv_base_dir_found`
|
|
|
|
g4vis_oivhome=$g4oiv_base_dir_found
|
|
#else
|
|
#case "$g4vis_oivhome" in
|
|
#'')
|
|
# g4vis_oivhome=/usr
|
|
# ;;
|
|
#esac
|
|
fi
|
|
|
|
##########################################################################
|
|
|
|
#if test "X$g4vis_oivhome" != "X" ; then
|
|
#oiv_dirs=$g4vis_oivhome
|
|
#fi
|
|
|
|
if test "X$g4vis_oivhome" != "X" ; then
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the X11 OpenInventor driver.
|
|
Specify the path where OpenInventor is installed on your system.
|
|
It was found in $g4vis_oivhome. Press [Enter] to set this path or type the correct one.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenInventor flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=$g4vis_oivhome
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/Inventor" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_oivhome=$ans
|
|
|
|
else
|
|
|
|
g4vis_build_oix_driver=n
|
|
g4vis_use_oix=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the X11 OpenInventor driver.
|
|
But OpenInventor was not found in $ans.
|
|
Please specify the correct path where OpenInventor is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenInventor flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the X11 OpenInventor driver.
|
|
But OpenInventor was not found in the expected place.
|
|
Please specify the correct path where OpenInventor is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenInventor flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/Inventor" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_oivhome=$ans
|
|
|
|
else
|
|
|
|
g4vis_build_oix_driver=n
|
|
g4vis_use_oix=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the X11 OpenInventor driver.
|
|
But OpenInventor was not found in $ans.
|
|
Please specify the correct path where OpenInventor is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenInventor flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux"; then
|
|
|
|
if test "X$g4vis_oivhome" = "X/usr" -o "X$g4vis_oivhome" = "X/usr/local"; then
|
|
g4vis_oivhome=""
|
|
fi
|
|
fi
|
|
fi # g4vis_build_oix_driver
|
|
|
|
###############################################
|
|
|
|
g4message="Enable building of the X11 RayTracer visualization driver?"
|
|
|
|
dflt=$g4vis_build_raytracerx_driver
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_raytracerx_driver=n
|
|
g4vis_use_raytracerx=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_raytracerx_driver=y
|
|
g4vis_use_raytracerx=y
|
|
;;
|
|
esac
|
|
|
|
########################################################
|
|
fi # if !WIN
|
|
|
|
###############################################################
|
|
if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then
|
|
|
|
g4message="Enable building of the WIN32 OpenInventor visualization driver?"
|
|
|
|
dflt=$g4vis_build_oiwin32_driver
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_oiwin32_driver=n
|
|
g4vis_use_oiwin32=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_oiwin32_driver=y
|
|
g4vis_use_oiwin32=y
|
|
;;
|
|
esac
|
|
|
|
############################################################
|
|
if test "X$g4vis_build_oiwin32_driver" = "Xy" ; then
|
|
|
|
oiv_dirs=`find $g4vis_oivhome /usr/X11R6/include /usr/local/include /usr/include -type d -name Inventor 2>/dev/null|xargs echo`
|
|
#echo ogl_dirs=$ogl_dirs
|
|
|
|
if test "X$oiv_dirs" != "X" ; then
|
|
|
|
g4oiv_base_dir_found=`echo $oiv_dirs|cut -d" " -f1`
|
|
#echo g4ogl_base_dir_found=$g4ogl_base_dir_found
|
|
|
|
# That's right: should be twice! (e.g./usr/local/lib/libGLU.so -> /usr/local)
|
|
g4oiv_base_dir_found=`dirname $g4oiv_base_dir_found`
|
|
g4oiv_base_dir_found=`dirname $g4oiv_base_dir_found`
|
|
|
|
g4vis_oivhome=$g4oiv_base_dir_found
|
|
#else
|
|
#case "$g4vis_oivhome" in
|
|
#'')
|
|
# g4vis_oivhome=/usr
|
|
# ;;
|
|
#esac
|
|
fi
|
|
|
|
##########################################################################
|
|
|
|
#if test "X$g4vis_oivhome" != "X" ; then
|
|
#oiv_dirs=$g4vis_oivhome
|
|
#fi
|
|
|
|
if test "X$g4vis_oivhome" != "X" ; then
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the WIN32 OpenInventor driver.
|
|
Specify the correct path where OpenInventor is installed on your system.
|
|
It was found in $g4vis_oivhome. Press [Enter] to set this path or type the correct one.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenInventor flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=$g4vis_oivhome
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/Inventor" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_oivhome=$ans
|
|
|
|
else
|
|
|
|
g4vis_build_oiwin32_driver=n
|
|
g4vis_use_oiwin32=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the WIN32 OpenInventor driver.
|
|
But OpenInventor was not found in $ans.
|
|
Please specify the correct path where OpenInventor is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenInventor flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the WIN32 OpenInventor driver.
|
|
But OpenInventor was not found in expected place.
|
|
Please specify the correct path where OpenInventor is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenInventor flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/Inventor" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_oivhome=$ans
|
|
|
|
else
|
|
|
|
g4vis_build_oiwin32_driver=n
|
|
g4vis_use_oiwin32=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build the WIN32 OpenInventor driver.
|
|
But OpenInventor was not found in $ans.
|
|
Please specify the correct path where OpenInventor is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenInventor flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux"; then
|
|
|
|
if test "X$g4vis_oivhome" = "X/usr" -o "X$g4vis_oivhome" = "X/usr/local"; then
|
|
g4vis_oivhome=""
|
|
fi
|
|
fi
|
|
fi # g4vis_build_oiwin32_driver
|
|
|
|
###############################################
|
|
|
|
fi # if WIN
|
|
################################################################
|
|
|
|
if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then
|
|
|
|
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
|
|
gans=y
|
|
|
|
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_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
|
|
gans=y
|
|
|
|
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="Enable building of the VRML visualization driver?"
|
|
|
|
dflt=$g4vis_build_vrml_driver
|
|
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
|
|
gans=y
|
|
|
|
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
|
|
|
|
fi # if !WIN
|
|
|
|
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=$ans
|
|
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
|
|
|
|
|
|
g4message=`cat << EOM
|
|
|
|
G4VIS_BUILD_GAGTREE_DRIVER
|
|
G4VIS_USE_GAGTREE
|
|
|
|
Description????????????????????????
|
|
EOM`
|
|
|
|
dflt=$g4vis_use_gagtree
|
|
rp=$g4message
|
|
# Don't ask by default and set to 'y'!
|
|
#. ./myread
|
|
#gans=$ans
|
|
gans=y
|
|
|
|
case $gans in
|
|
|
|
n*|N*)
|
|
g4vis_build_gagtree_driver=n
|
|
g4vis_use_gagtree=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_gagtree_driver=y
|
|
g4vis_use_gagtree=y
|
|
;;
|
|
esac
|
|
|
|
;;
|
|
esac
|
|
|
|
if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" -a "X$g4system" != "XDarwin-g++"; then
|
|
|
|
#echo PASS1
|
|
|
|
if [ X$g4vis_build_openglx_driver = Xy ] || [ X$g4vis_build_openglxm_driver = Xy ] || [ X$g4vis_build_openglwin32_driver = Xy ] ; then
|
|
|
|
#echo PASS2
|
|
|
|
#####################################################################
|
|
ogl_dirs=`find $g4vis_oglhome /usr/X11R6/include /usr/local/include /usr/include -type d -name GL 2>/dev/null|xargs echo`
|
|
#echo ogl_dirs=$ogl_dirs
|
|
|
|
if test "X$ogl_dirs" != "X" ; then
|
|
|
|
g4ogl_base_dir_found=`echo $ogl_dirs|cut -d" " -f1`
|
|
#echo g4ogl_base_dir_found=$g4ogl_base_dir_found
|
|
|
|
# That's right: should be twice! (e.g./usr/local/lib/libGLU.so -> /usr/local)
|
|
g4ogl_base_dir_found=`dirname $g4ogl_base_dir_found`
|
|
g4ogl_base_dir_found=`dirname $g4ogl_base_dir_found`
|
|
|
|
g4vis_oglhome=$g4ogl_base_dir_found
|
|
#else
|
|
#case "$g4vis_oglhome" in
|
|
#'')
|
|
# g4vis_oglhome=/usr
|
|
# ;;
|
|
#esac
|
|
fi
|
|
|
|
##########################################################################
|
|
if test "X$g4vis_oglhome" != "X" ; then
|
|
ogl_dirs=$g4vis_oglhome
|
|
fi
|
|
|
|
if test "X$ogl_dirs" != "X" ; then
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build one or more drivers that require OpenGL.
|
|
Specify the correct path (OGLHOME) where OpenGL is installed on your system.
|
|
It was found in $g4vis_oglhome. Press [Enter] to set this path or type the correct one.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenGL flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=$g4vis_oglhome
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/GL" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_oglhome=$ans
|
|
|
|
else
|
|
|
|
g4vis_build_openglx_driver=n
|
|
g4vis_use_openglx=n
|
|
|
|
g4vis_build_openglxm_driver=n
|
|
g4vis_use_openglxm=n
|
|
|
|
g4vis_build_openglwin32_driver=n
|
|
g4vis_use_openglwin32=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build one or more drivers that require OpenGL.
|
|
But OpenGL was not found in $ans.
|
|
Please specify the correct path where OpenGL is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenGL flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build one or more drivers that require OpenGL.
|
|
But OpenGL was not found in the expected place.
|
|
Please specify the correct path where OpenGL is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenGL flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
cend="no"
|
|
while test "$cend" = "no" ; do
|
|
if test -e "$ans/include/GL" || [ "X$ans" = "X-" ]; then
|
|
cend="yes"
|
|
|
|
if test "X$ans" != "X-" ; then
|
|
|
|
g4vis_oglhome=$ans
|
|
|
|
else
|
|
|
|
g4vis_build_openglx_driver=n
|
|
g4vis_use_openglx=n
|
|
|
|
g4vis_build_openglxm_driver=n
|
|
g4vis_use_openglxm=n
|
|
|
|
g4vis_build_openglwin32_driver=n
|
|
g4vis_use_openglwin32=n
|
|
echo " "
|
|
|
|
fi
|
|
else
|
|
|
|
g4message=`cat << EOM
|
|
|
|
You have selected to build one or more drivers that require OpenGL.
|
|
But OpenGL was not found in $ans.
|
|
Please specify the correct path where OpenGL is installed on your system.
|
|
|
|
You can set '-' (without quotation) to CANCEL the OpenGL flag at all:
|
|
|
|
EOM`
|
|
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
fi
|
|
done
|
|
|
|
fi
|
|
|
|
if test "X$g4osname" = "XLinux"; then
|
|
|
|
if test "X$g4vis_oglhome" = "X/usr" -o "X$g4vis_oglhome" = "X/usr/local"; then
|
|
g4vis_oglhome=""
|
|
fi
|
|
|
|
fi # if platform (Linux vs SUN)
|
|
|
|
fi # if need
|
|
###########################################
|
|
fi # if platform (Unix vs Win)
|
|
|
|
#
|
|
# BEGIN QTVIS/QT PROBE
|
|
#
|
|
# Because the vis driver only works with UI, only probe if g4ui_none is
|
|
# NOT set AND g4vis_none is NOT set.
|
|
# Also, Qt vis driver has dependency on Qt UI module - so only ask if
|
|
# build is required IF Qt UI was selected.
|
|
#
|
|
if test "x$g4ui_none" = "xn" -a "x$g4vis_none" = "xn" ; then
|
|
if test "x$g4ui_build_qt_session" = "xy" ; then
|
|
# Query the user to see if build of Qt GL module is needed
|
|
g4message="Enable building of the Qt OpenGL visualization driver?"
|
|
|
|
# Read in the user response
|
|
dflt=$g4vis_build_openglqt_driver
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
# Check response and take set variables as needed.
|
|
case $gans in
|
|
n*|N*)
|
|
g4vis_build_openglqt_driver=n
|
|
g4vis_use_openglqt=n
|
|
;;
|
|
y*|Y*)
|
|
g4vis_build_openglqt_driver=y
|
|
g4vis_use_openglqt=y
|
|
;;
|
|
esac
|
|
|
|
##########
|
|
|
|
##########
|
|
# Now, if user chose to build module, we need to check for a Qt
|
|
# installation
|
|
#
|
|
if test "x$g4vis_build_openglqt_driver" = "xy" ; then
|
|
# NB Have to supply arg to qt script, just blank in this case!
|
|
qt_search_dir=""
|
|
. ./qt
|
|
|
|
# If we didn't find Qt automatically, then ask user if they know
|
|
# where it's installed...
|
|
if test "x$g4_havegoodqt" = "xno" ; then
|
|
promptend="no"
|
|
user_qthome="the standard locations"
|
|
|
|
while test "x$promptend" = "xno" ; do
|
|
g4message=`cat << EOM
|
|
|
|
Autodetection failed to locate Qt3 or Qt4 in $qthomeloc on your system.
|
|
Please enter the path to your Qt3 OR Qt4 install (i.e. if Qt4 is installed
|
|
in PATH/include/QT, PATH/include or PATH/include/qt4, enter PATH),
|
|
or type '-' to CANCEL the build of the Qt UI module.
|
|
Qt path:
|
|
EOM`
|
|
dflt=""
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
user_qthome=$ans
|
|
|
|
if test "x$user_qthome" = "x-" ; then
|
|
# Cancel build...
|
|
g4vis_build_openglqt_driver=n
|
|
g4vis_use_openglqt=n
|
|
echo "configure: build/use of Qt OpenGl driver cancelled"
|
|
promptend=yes
|
|
else
|
|
# Check for installation in user directory
|
|
echo " "
|
|
qt_search_dir=$user_qthome
|
|
. ./qt
|
|
|
|
if test "x$g4_havegoodqt" = "xyes" ; then
|
|
promptend=yes
|
|
fi
|
|
fi #END TEST user_qthome = -
|
|
done #END while promptend=no (for user input of Qt install)
|
|
fi #END TEST g4_havegoodqt = no (for user prompt)
|
|
fi #END TEST g4vis_build_openglqt_driver (whether to build at all)
|
|
else # TEST g4ui_build_qt_session
|
|
# Because we can 'drop through' this test on repeat
|
|
# running Configure, force build and use to n
|
|
g4vis_build_openglqt_driver=n
|
|
g4vis_use_openglqt=n
|
|
fi #END TEST g4ui_build_qt_session (dependency on Qt UI module)
|
|
fi #END TEST g4ui_none = n AND g4vis_none=n
|
|
|
|
|
|
# Now query the user to see if they want to build the GDML plugin
|
|
echo " "
|
|
echo "*OPTIONS FOR GEANT4 OPTIONAL EXTENSION MODULES*"
|
|
|
|
g4message="Enable the Geometry Description Markup Language (GDML) module?"
|
|
dflt=$g4lib_build_gdml
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
#
|
|
# Check response
|
|
#
|
|
case $gans in
|
|
n*|N*)
|
|
g4lib_build_gdml=n
|
|
;;
|
|
y*|Y*)
|
|
g4lib_build_gdml=y
|
|
;;
|
|
esac
|
|
|
|
|
|
#
|
|
# If user does want to build GDML plugin, now try to locate Xerces install
|
|
#
|
|
if test "X$g4lib_build_gdml" != "Xn"; then
|
|
|
|
# If g4system is WIN32-VC, we need to force the input of a search path
|
|
# though we can use with_xercesc_root as the dflt.
|
|
if test "X$g4system" = "XWIN32-VC" ; then
|
|
g4message=`cat << EOM
|
|
You have requested GDML support for Geant4 built on WIN32-VC.
|
|
This requires the Xerces-C library built for MSVC.
|
|
Please enter the path to the Xerces-C install (i.e. if XercesC is installed
|
|
in PATH\include\xercesc, enter PATH), or type '-' to CANCEL the build of the
|
|
GDML module.
|
|
XercesC path:
|
|
EOM`
|
|
dflt=$with_xercesc_root
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
with_xercesc_root=$ans
|
|
if test "X$with_xercesc_root" = "X-" ; then
|
|
g4lib_build_gdml=n
|
|
g4gdml_xercesc_root=""
|
|
echo "G4LIB_BUILD_GDML cancelled..."
|
|
echo " "
|
|
fi
|
|
fi
|
|
|
|
# We now have a suitable platform independent setup for probing for the
|
|
# Xerces-C install....
|
|
if test "X$with_xercesc_root" != "X-"; then
|
|
if test "X$with_xercesc_root" != "X" ; then
|
|
# Probe for Xerces-C in the supplied directory
|
|
xercesc_root=`find $with_xercesc_root/include -type d -name xercesc 2>/dev/null | xargs echo`
|
|
else
|
|
# Probe for Xerces-C in standard locations
|
|
xercesc_root=`find /usr/include /usr/local/include /opt/local/include /sw/include -type d -name xercesc 2>/dev/null | xargs echo`
|
|
fi
|
|
|
|
# What did we find??
|
|
if test "X$xercesc_root" = "X" ; then
|
|
g4gdml_xercesc_root=""
|
|
echo "checking for XercesC install... no"
|
|
else
|
|
# We'll have PATH/include/xercesc if we found it
|
|
g4gdml_xercesc_root=`dirname $xercesc_root`
|
|
g4gdml_xercesc_root=`dirname $g4gdml_xercesc_root`
|
|
|
|
echo "checking for XercesC install... $g4gdml_xercesc_root"
|
|
fi
|
|
|
|
# If we didn't find anything, fall back to the user...
|
|
if test "X$g4gdml_xercesc_root" = "X" ; then
|
|
promptend="no"
|
|
if test "X$with_xercesc_root" = "X" ; then
|
|
xercescloc="the standard locations"
|
|
else
|
|
xercescloc=$with_xercesc_root
|
|
fi
|
|
|
|
while test "$promptend" = "no"; do
|
|
g4message=`cat << EOM
|
|
|
|
Autodetection failed to locate XercesC in $xercescloc on your system.
|
|
Please enter the path to your XercesC install (i.e. if XercesC is installed
|
|
in PATH/include/xercesc, enter PATH), or type '-' to CANCEL the build of the
|
|
GDML module.
|
|
XercesC path:
|
|
EOM`
|
|
|
|
dflt=$g4gdml_xercesc_root
|
|
fn='d~(-)'
|
|
rp=$g4message
|
|
. ./getfile
|
|
|
|
#check for user cancellation
|
|
if test "X$ans" = "X-"; then
|
|
g4lib_build_gdml=n
|
|
g4gdml_xercesc_root=""
|
|
echo "G4LIB_BUILD_GDML cancelled..."
|
|
echo " "
|
|
promptend=yes
|
|
else
|
|
if test -r "$ans/include/xercesc"; then
|
|
g4gdml_xercesc_root=$ans
|
|
echo "checking for XercesC install... $g4gdml_xercesc_root"
|
|
echo " "
|
|
promptend=yes
|
|
else
|
|
xercesloc=$ans
|
|
echo "checking for Xercesc install... no"
|
|
fi
|
|
fi #END OF USER INPUT CHECKING
|
|
done #END OF WHILE LOOP OVER USER INPUT
|
|
fi #END OF USER INPUT SECTION
|
|
|
|
#
|
|
# If a filter on g4gdml_xerces_root is needed to remove common system paths
|
|
# then it should be put here...
|
|
#
|
|
if test "x$g4gdml_xercesc_root" = "x/usr" -o "x$g4gdml_xercesc_root" = "x/usr/local" ; then
|
|
g4gdml_xercesc_root=""
|
|
fi
|
|
fi # End outer check of WIN32-VC module cancellation
|
|
fi #END XERCES PROBE
|
|
|
|
#END OF GDML/XERCES PROBE
|
|
|
|
case "$g4tmp" in
|
|
'')
|
|
g4tmp=$g4workdir/tmp
|
|
;;
|
|
esac
|
|
|
|
case "$g4lib" in
|
|
'')
|
|
g4lib=$g4workdir/lib
|
|
;;
|
|
esac
|
|
|
|
|
|
|
|
g4message="Enable build of the g3tog4 utility module?"
|
|
dflt=$g4wlib_build_g3tog4
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
g4wlib_build_g3tog4=n
|
|
g4w_use_g3tog4=n
|
|
;;
|
|
y*|Y*)
|
|
g4wlib_build_g3tog4=y
|
|
g4w_use_g3tog4=y
|
|
;;
|
|
esac
|
|
|
|
|
|
#
|
|
# On WIN32, if GL or Inventor drivers are built, we MUST
|
|
# build zlib
|
|
#
|
|
if test "X$g4vis_build_oiwin32_driver" = "Xy" -o "X$g4vis_build_openglwin32_driver" = "Xy" ; then
|
|
# Force build of ZLIB
|
|
g4wlib_build_zlib='y'
|
|
g4w_use_zlib='y'
|
|
echo " "
|
|
echo "Configure: Auto-enable builtin zlib to support WIN32 visualization drivers"
|
|
echo " "
|
|
else
|
|
g4message="Enable internal zlib compression for HepRep visualization?"
|
|
dflt=$g4wlib_build_zlib
|
|
rp=$g4message
|
|
. ./myread
|
|
gans=$ans
|
|
|
|
case $gans in
|
|
n*|N*)
|
|
g4wlib_build_zlib=n
|
|
g4w_use_zlib=n
|
|
;;
|
|
y*|Y*)
|
|
g4wlib_build_zlib=y
|
|
g4w_use_zlib=y
|
|
;;
|
|
esac
|
|
fi
|
|
: end of configuration questions
|
|
echo " "
|
|
echo "End of configuration phase."
|
|
echo " "
|
|
|
|
: back to where it started
|
|
if test -d ../../.config/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?'
|
|
. .config/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 configuration setup file..." >&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'
|
|
RCSfile='$RCSfile'
|
|
Revision='$Revision'
|
|
Source='$Source'
|
|
State='$State'
|
|
c='$c'
|
|
cf_by='$cf_by'
|
|
cf_time='$cf_time'
|
|
contains='$contains'
|
|
d_portable='$d_portable'
|
|
eunicefix='$eunicefix'
|
|
g4_gmake='$g4_gmake'
|
|
g4_gmake_version='$g4_gmake_version'
|
|
g4_make='$g4_make'
|
|
g4_make_version='$g4_make_version'
|
|
g4_qt_cxxflags='$g4_qt_cxxflags'
|
|
g4_qt_gl_cxxflags='$g4_qt_gl_cxxflags'
|
|
g4_qt_gl_libs='$g4_qt_gl_libs'
|
|
g4_qt_libs='$g4_qt_libs'
|
|
g4_qt_moc='$g4_qt_moc'
|
|
g4_qt_version='$g4_qt_version'
|
|
g4abladata='$g4abladata'
|
|
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'
|
|
g4elasticdata='$g4elasticdata'
|
|
g4final_install='$g4final_install'
|
|
g4gdml_xercesc_root='$g4gdml_xercesc_root'
|
|
g4global='$g4global'
|
|
g4granular='$g4granular'
|
|
g4include='$g4include'
|
|
g4includes_flag='$g4includes_flag'
|
|
g4install='$g4install'
|
|
g4ledata='$g4ledata'
|
|
g4levelgammadata='$g4levelgammadata'
|
|
g4lib='$g4lib'
|
|
g4lib_build_gdml='$g4lib_build_gdml'
|
|
g4lib_build_shared='$g4lib_build_shared'
|
|
g4lib_build_static='$g4lib_build_static'
|
|
g4lib_use_dll='$g4lib_use_dll'
|
|
g4lib_use_dyn='$g4lib_use_dyn'
|
|
g4lib_use_granular='$g4lib_use_granular'
|
|
g4lib_use_shared='$g4lib_use_shared'
|
|
g4lib_use_static='$g4lib_use_static'
|
|
g4make='$g4make'
|
|
g4make_jobs='$g4make_jobs'
|
|
g4neutronhpcrosssections='$g4neutronhpcrosssections'
|
|
g4neutronxsdata='$g4neutronxsdata'
|
|
g4osname='$g4osname'
|
|
g4piidata='$g4piidata'
|
|
g4radioactivedata='$g4radioactivedata'
|
|
g4realsurfacedata='$g4realsurfacedata'
|
|
g4system='$g4system'
|
|
g4tmp='$g4tmp'
|
|
g4ui_build_gag_session='$g4ui_build_gag_session'
|
|
g4ui_build_qt_session='$g4ui_build_qt_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_none='$g4ui_none'
|
|
g4ui_use_gag='$g4ui_use_gag'
|
|
g4ui_use_qt='$g4ui_use_qt'
|
|
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'
|
|
g4ui_xawflags='$g4ui_xawflags'
|
|
g4ui_xawhome='$g4ui_xawhome'
|
|
g4ui_xawlibs='$g4ui_xawlibs'
|
|
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_oiwin32_driver='$g4vis_build_oiwin32_driver'
|
|
g4vis_build_oix_driver='$g4vis_build_oix_driver'
|
|
g4vis_build_openglqt_driver='$g4vis_build_openglqt_driver'
|
|
g4vis_build_openglwin32_driver='$g4vis_build_openglwin32_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_raytracerx_driver='$g4vis_build_raytracerx_driver'
|
|
g4vis_build_vrml_driver='$g4vis_build_vrml_driver'
|
|
g4vis_build_vrmlfile_driver='$g4vis_build_vrmlfile_driver'
|
|
g4vis_oglhome='$g4vis_oglhome'
|
|
g4vis_oivhome='$g4vis_oivhome'
|
|
g4vis_use_asciitree='$g4vis_use_asciitree'
|
|
g4vis_use_dawn='$g4vis_use_dawn'
|
|
g4vis_use_dawnfile='$g4vis_use_dawnfile'
|
|
g4vis_use_oiwin32='$g4vis_use_oiwin32'
|
|
g4vis_use_oix='$g4vis_use_oix'
|
|
g4vis_use_openglqt='$g4vis_use_openglqt'
|
|
g4vis_use_openglwin32='$g4vis_use_openglwin32'
|
|
g4vis_use_openglx='$g4vis_use_openglx'
|
|
g4vis_use_openglxm='$g4vis_use_openglxm'
|
|
g4vis_use_raytracer='$g4vis_use_raytracer'
|
|
g4vis_use_raytracerx='$g4vis_use_raytracerx'
|
|
g4vis_use_vrml='$g4vis_use_vrml'
|
|
g4vis_use_vrmlfile='$g4vis_use_vrmlfile'
|
|
g4vis_xmflags='$g4vis_xmflags'
|
|
g4vis_xmflags='$g4vis_xmflags'
|
|
g4vis_xmhome='$g4vis_xmhome'
|
|
g4vis_xmhome='$g4vis_xmhome'
|
|
g4vis_xmlibs='$g4vis_xmlibs'
|
|
g4vis_xmlibs='$g4vis_xmlibs'
|
|
g4w_use_g3tog4='$g4w_use_g3tog4'
|
|
g4w_use_zlib='$g4w_use_zlib'
|
|
g4wlib_build_g3tog4='$g4wlib_build_g3tog4'
|
|
g4wlib_build_zlib='$g4wlib_build_zlib'
|
|
g4workdir='$g4workdir'
|
|
hint='$hint'
|
|
lns='$lns'
|
|
myuname='$myuname'
|
|
n='$n'
|
|
osname='$osname'
|
|
osvers='$osvers'
|
|
package='$package'
|
|
sh='$sh'
|
|
sharpbang='$sharpbang'
|
|
shsharp='$shsharp'
|
|
spackage='$spackage'
|
|
spitshell='$spitshell'
|
|
src='$src'
|
|
startsh='$startsh'
|
|
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 .config/UU/config.sh; then
|
|
<.config/UU/config.sh sort | uniq >.config/UU/oldconfig.sh
|
|
sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' $g4conf/config.sh $g4conf/config.sh .config/UU/oldconfig.sh |\
|
|
sort | uniq -u >.config/UU/oldsyms
|
|
set X `cat .config/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 .config/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 .config/UU
|
|
echo "Done."
|
|
exit 0
|
|
;;
|
|
cont)
|
|
;;
|
|
'')
|
|
dflt=''
|
|
nostick=true
|
|
$cat <<EOM
|
|
|
|
WARNING: the generated configuration file
|
|
can be edited if necessary!
|
|
You can introduce any change to the configuration file
|
|
$g4conf/config.sh before the final installation.
|
|
To do so, use 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:"
|
|
. .config/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
|
|
. ./.config/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?"
|
|
. .config/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 [ -f $g4conf/install.sh -a X$g4build = Xyes ] ; then
|
|
echo " "
|
|
echo "Now starting Geant4 libraries build..."
|
|
echo " "
|
|
. $g4conf/install.sh
|
|
elif [ -f $g4conf/install.sh -a X$install = Xyes ] ; then
|
|
echo " "
|
|
echo "Now starting Geant4 libraries installation..."
|
|
echo " "
|
|
. $g4conf/move.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 .config/UU
|
|
|
|
: End of Configure
|
|
|