#! /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.104 2008/07/03 14:17:16 bmorgan Exp $
#
# Generated on Thu Jul  3 14:50:17 BST 2008 [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=''
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=''
g4radioactivedata=''
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=''
g4_qtmochome=''
g4_qtincdir=''
g4_qtlibdir=''
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=''
g4wanalysis_build=''
g4wanalysis_build_jas=''
g4wanalysis_build_lab=''
g4wanalysis_build_lizard=''
g4wanalysis_use=''
g4wanalysis_use_jas=''
g4wanalysis_use_lab=''
g4wanalysis_use_lizard=''
g4_gmake=''
g4_gmake_version=''
g4_make=''
g4_make_version=''
g4make=''
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 QT UI OPTIONS
g4ui_build_qt_session='n'
g4ui_use_qt='n'
g4_qtmochome=''
g4_qtincdir=''
g4_qtlibdir=''
#END QT UI OPTIONS
#INITIALIZE QT UI OPTIONS
g4ui_build_qt_session='n'
g4ui_use_qt='n'
g4_qtmochome=''
g4_qtincdir=''
g4_qtlibdir=''
#END QT UI OPTIONS
#INITIALIZE QT VIS DRIVER OPTIONS
g4vis_build_openglqt_driver='n'
g4ui_use_openglqt='n'
#END QT VIS DRIVER OPTIONS

: 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=''
echo "*********"
echo `pwd`
echo "*********"
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;;
	-install) shift; install=yes;;
	-cppflags) shift; g4cppflags=yes;;
	-cxxflags) shift; g4cxxflags=yes;;
	-ldlibs) shift; g4ldlibs=yes;;
	-ldflags) shift; 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
yescont|yesexit) ;;
*)
	if test ! -t 0; then
		echo "Say 'sh Configure', not 'sh <Configure'"
		exit 1
	fi
	;;
esac

exec 4>&1
case "$silent" in
true) exec 1>/dev/null;;
esac

: run the defines and the undefines, if any, but leave the file out there...
touch optdef.sh
. ./optdef.sh

: set package name
package=g4conf

: Some greps do not return status, grrr.
echo "grimblepritz" >grimble
if grep blurfldyick grimble >/dev/null 2>&1 ; then
	contains=contains
elif grep grimblepritz grimble >/dev/null 2>&1 ; then
	contains=grep
else
	contains=contains
fi
rm -f grimble
: the following should work in any shell
case "$contains" in
contains*)
	echo " "
	echo "Grep doesn't return a status!!  Attempting remedial action."
	cat >contains <<'EOSS'
grep "$1" "$2" >.greptmp && cat .greptmp && test -s .greptmp
EOSS
chmod +x contains
esac

: first determine how to suppress newline on echo command
#echo " "
#echo "Checking echo to see how to suppress newlines..."
(echo "hi there\c" ; echo " ") >.echotmp
if $contains c .echotmp >/dev/null 2>&1 ; then
#	echo "...using -n."
	n='-n'
	c=''
else
#	cat <<'EOM'
#...using \c
#EOM
	n=''
	c='\c'
fi
#echo $n "The star should be here-->$c"
#echo '*'
rm -f .echotmp

: compute the number of columns on the terminal for proper question formatting
case "$COLUMNS" in
'') COLUMNS='80';;
esac

: set up the echo used in my read
myecho="case \"\$xxxm\" in
'') echo $n \"\$rp $c\" >&4;;
*) case \"\$rp\" in
	'') echo $n \"[\$xxxm] $c\";;
	*)
		if test \`echo \"\$rp [\$xxxm]  \" | wc -c\` -ge $COLUMNS; then
			echo \"\$rp\" >&4
			echo $n \"[\$xxxm] $c\" >&4
		else
			echo $n \"\$rp [\$xxxm] $c\" >&4
		fi
		;;
	esac;;
esac"

: now set up to do reads with possible shell escape and default assignment
cat <<EOSC >myread
$startsh
xxxm=\$dflt
$myecho
ans='!'
case "\$fastread" in
yes) case "\$dflt" in
	'') ;;
	*) ans='';
		case "\$silent-\$rp" in
		true-) ;;
		*) echo " " >&4;;
		esac;;
	esac;;
*) case "\$silent" in
	true) case "\$rp" in
		'') ans='';;
		esac;;
	esac;;
esac
while expr "X\$ans" : "X!" >/dev/null; do
	read answ
	set x \$xxxm
	shift
	aok=''; eval "ans=\\"\$answ\\"" && aok=y
	case  "\$answ" in
	"!")
		sh 1>&4
		echo " "
		$myecho
		;;
	!*)
		set x \`expr "X\$ans" : "X!\(.*\)\$"\`
		shift
		sh 1>&4 -c "\$*"
		echo " "
		$myecho
		;;
	"\$ans")
		case "\$ans" in
		\\&*)
			set x \`expr "X\$ans" : "X&\(.*\)\$"\`
			shift
			case "\$1" in
			-d)
				fastread=yes
				echo "(OK, I'll run with -d after this question.)" >&4
				;;
			-*)
				echo "*** Sorry, \$1 not supported yet." >&4
				;;
			esac
			$myecho
			ans=!
			;;
		esac;;
	*)
		case "\$aok" in
		y)
			echo "*** Substitution done -- please confirm."
			xxxm="\$ans"
			ans=\`echo $n "\$ans$c" | tr '\012' ' '\`
			xxxm="\$ans"
			ans=!
			;;
		*)
			echo "*** Error -- try again."
			ans=!
			;;
		esac
		$myecho
		;;
	esac
	case "\$ans\$xxxm\$nostick" in
	'')
		ans=!
		$myecho
		;;
	esac
done
case "\$ans" in
'') ans="\$xxxm";;
esac
EOSC

: Find the path to the source tree
case "$src" in
'') src=`echo $0 | sed -e 's%/[^/][^/]*$%%'`
#echo "src=$src"
;;
esac
case "$src" in
'')
	src=.
	rsrc=..
	;;
/*) rsrc="$src/.."
#echo "rsrc=$rsrc"
;;
./*) 	cur_dir=`pwd`
	cd ../../$src
	src=`pwd`
	cd $cur_dir
	rsrc="$src/.."
rsrc="$src/.."
#echo "src=$src"
#echo "rsrc=$rsrc"
;;
*) rsrc="../../$src"
#echo "rsrc=$rsrc"
;;
esac
#cur_dir=`pwd`
#echo "cur_dir=$cur_dir"
if test -f $src/Configure && \
	$contains "^package=$package" $src/Configure >/dev/null 2>&1
then
   : found it, so we are ok.
else
	rsrc=''
	for src in . .. ../.. ../../.. ../../../..; do
		if test -f ../../$src/Configure && \
			$contains "^package=$package" ../../$src/Configure >/dev/null 2>&1
		then
			rsrc=../../$src
			break
		fi
	done
fi
case "$rsrc" in
'')
	echo " "
#	dflt=
#	rp="Directory where sources for $package are located?"
#	. ./myread
#	src="$ans"
	rsrc="$src"
#echo "src=$src"
#echo "rsrc=$rsrc"
	if test -f $rsrc/Configure && \
		$contains "^package=$package" $rsrc/Configure >/dev/null 2>&1
	then
		echo "Ok, I've found them under $src"
	else
		echo "Sorry, I can't seem to be able to locate $package sources." >&4
		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...
#if [ X$install = Xyes ] ; then
#echo " "
#echo " "
#echo " "
#echo "                --- Geant4 Toolkit Installation  ---"
#echo " "
#echo " "
#echo " "
#echo " "
#else
#echo " "
#echo " "
#echo " "
#echo "                --- Geant4 Toolkit Installation  ---"
#echo "                  (setting environments for USER )"
#echo " "
#echo " "
#echo " "
#fi

trap 'echo " ";rm -rf ../../.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$install = Xyes ] ; then
#
#echo " "
#echo " "
#echo " "
#echo "                --- Geant4 Toolkit Installation  ---"
#echo " "
#echo " "
#echo " "
#echo " "
#
##if $contains "^$user\$" ../../.config/instruct >/dev/null 2>&1; then
##	firsttime=false
##	echo " "
##	rp='Would you like to see the instructions?'
##	dflt=n
##	. ./myread
##	case "$ans" in
##	[yY]*) ;;
##	*) needman=false;;
##	esac
##fi
#fi

if [ X$g4build = Xyes ] ; then

echo " "
echo " "
echo " "
echo "                --- Geant4 Toolkit Build  ---"
echo " "
echo " "
echo " "
echo " "

if $contains "^$user\$" ../../.config/instruct >/dev/null 2>&1; then
	firsttime=false
	echo " "
	rp='Would you like to see the instructions?'
	dflt=n
	. ./myread
	case "$ans" in
	[yY]*) ;;
	*) needman=false;;
	esac
fi
fi

if [ X$install = 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
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
		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 ""

cat << EOM

		You are running 'Configure' on NOT native platform!
		You are on your own way !!!

EOM

		dflt=$tans
		rp="Confirm your selection or set native '$g4osnamerec'!"
		. .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 ""

cat << EOM

		The recommmended compiler for this platform ($g4osname) is $g4compilerrec.
		You are on your own way !!!

EOM

		dflt=$tans
		rp="Confirm your selection or set recommended '$g4compilerrec'!"
		. .config/UU/myread
		tans=$ans
		fi

		g4compiler=$tans
		;;
#	[eE]) 
#		break
#		;;
	*) 
#		echo " "
		break
		;;
	esac
done

fi

#
# Ask about compiler used. 
#
g4system=$g4osname-$g4compiler

fi

#cat << EOM
#
#G4SYSTEM is now set to $g4system.
#
#EOM

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 " "
echo " "
echo "                --- Geant4 Toolkit Installation  ---"
echo "                  (setting environments for USER )"
echo " "
echo " "
echo " "

#cat << EOM
#
#G4SYSTEM is now set to $g4system.
#
#EOM

	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 " "
echo " "
echo "                --- Geant4 Toolkit Installation  ---"
echo " "
echo " "
echo " "
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

: 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 "SSS"
#echo `pwd`
#echo "SSS"

if [ X$src = X. ] ; then
	cd ../..
	abssrc=`pwd`
	cd .config/UU
else
	abssrc=$src
fi

case "$g4conf" in
'')
	g4conf=$abssrc/.config/bin/$g4system
	;;
esac

#echo "g4conf=$g4conf"

case "$g4install" in
'')
if test $g4system = "WIN32-VC" -o $g4system = "WIN32-VC7"; then
#	g4install="c:/geant4"
	g4install=$abssrc
else
#	if [ X"$HOME" = X/ ] ; then
#	HOME=""
#	fi
#	g4install="$HOME"/geant4
	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=`cat << EOM

Where is Geant4 source installed?
EOM`

#dflt="NO DEFAULT ANSWER"
dflt=$g4install
fn='d~'
rp=$g4message
. ./getfile
g4install=$ans
g4workdir=$g4install
#################################
g4message=`cat << EOM

Specify the path where Geant4 libraries and source files should be
installed.
EOM`

#dflt="NO DEFAULT ANSWER"
dflt=$g4final_install
fn='d~'
rp=$g4message
. ./getfile
g4final_install=$ans
#g4workdir=$g4install

##################################
g4message=`cat << EOM

Do you want to copy all Geant4 headers 
in one directory?
EOM`

#dflt="NO DEFAULT ANSWER"
dflt=$g4includes_flag
#fn='d~'
rp=$g4message
. ./myread
g4includes_flag=$ans

if [ X$g4includes_flag = Xy ] ; then

case "$g4include" in
'')
	g4include=$g4install/include
#	g4include=''
	;;
esac

#g4message=`cat << EOM
#
#Where will be directory to copy all Geant4 headers?
#EOM`
#
##dflt="NO DEFAULT ANSWER"
####dflt=$g4install/include
#dflt=$g4include
#fn='d~+'
#rp=$g4message
#. ./getfile
#g4include=$ans

# Set constantly!
if [ X$g4install != X$g4final_install ] ; then
g4include=$g4final_install/include/geant4
else
g4include=$g4final_install/include
fi

fi

#if test "X$g4include" = "X[NOT DEFINED]" ; then
#g4include=""
#fi

echo " "

case "$g4tmp" in
'')
	g4tmp=$g4workdir/tmp
	;;
esac

case "$g4lib" in
'')
	g4lib=$g4workdir/lib
	;;
esac

#case "$g4bin" in
#'')
#	g4bin=$g4workdir/bin
#	;;
#esac

while test 1 = 0  ; do

g4message=`cat << EOM

(OPTIONAL) You can now customise installation directories:
  G4TMP - tmp/ containing temporary dependency (.d) and object (.o) files;
  G4LIB - lib/ containing final static (.a) or shared (.so) libraries;

1) G4TMP:		$g4tmp

2) G4LIB:		$g4lib

To modify default settings, select number above (e.g. 2) 
EOM`

#dflt="NO DEFAULT ANSWER"
dflt="Press [Enter] for default settings"
#fn='d~'
rp=$g4message
. ./myread
gans=$ans


	case $gans in

	1) 
		dflt=$g4tmp
		fn='d~+'
		rp="Where will be your Geant4 tmp directory?"
		. ./getfile
		g4tmp=$ans
		;;
	2) 
		dflt=$g4lib
		fn='d~+'
		rp="Where will be your Geant4 lib directory?"
		. ./getfile
		g4lib=$ans
		;;
#	3) 
#		dflt=$g4bin
#		fn='d~+'
#		rp="Where will be your Geant4 bin directory?"
#		. ./getfile
#		g4bin=$ans
#		;;

#	[eE]) 
#		break
#		;;
	*) 
		break
#		echo " "
		;;
	esac
done

echo " "

case "$g4data" in
'')
	g4data=$g4install/data
	;;
esac

case "$g4levelgammadata" in
'')
	g4levelgammadata=$g4data/PhotonEvaporation2.0
	;;
esac

case "$g4radioactivedata" in
'')
	g4radioactivedata=$g4data/RadioactiveDecay3.2
	;;
esac

case "$g4ledata" in
'')
	g4ledata=$g4data/G4EMLOW6.1
	;;
esac

case "$g4neutronhpcrosssections" in
'')
	g4neutronhpcrosssections=$g4data/G4NDL3.12
	;;
esac

case "$g4abladata" in
'')
	g4abladata=$g4data/G4ABLA3.0
	;;
esac


#case "$g4elasticdata" in
#'')
#	g4elasticdata=$g4data/G4ELASTIC1.1
#	;;
#esac

#########################################################################

# while test 1 = 1  ; do

g4message=`cat << EOM

Please, specify default directory where ALL the Geant4 data is installed:

 G4LEVELGAMMADATA:		$g4levelgammadata

 G4RADIOACTIVEDATA:		$g4radioactivedata

 G4LEDATA:			$g4ledata

 G4NEUTRONHPDATA:		$g4neutronhpcrosssections

 G4ABLADATA:                    $g4abladata

You will be asked about customizing these next.

EOM`

#dflt="NO DEFAULT ANSWER"
dflt=$g4data
#fn='d~'
rp=$g4message
#. ./myread
gans=$ans

		dflt=$g4data
		fn='d~'
		. ./getfile

		if [ X$g4data != X$ans ] ; then
		g4data=$ans

		g4levelgammadata=$g4data/PhotonEvaporation2.0
		g4radioactivedata=$g4data/RadioactiveDecay3.2
		g4ledata=$g4data/G4EMLOW6.1
		g4neutronhpcrosssections=$g4data/G4NDL3.12
		g4abladata=$g4data/G4ABLA3.0
#		g4elasticdata=$g4data/G4ELASTIC1.1
		fi
# done

###################################################################

while test 1 = 1  ; do

g4message=`cat << EOM

Please, specify default directory where the Geant4 data is installed:

1) G4LEVELGAMMADATA:		$g4levelgammadata

2) G4RADIOACTIVEDATA:		$g4radioactivedata

3) G4LEDATA:			$g4ledata

4) G4NEUTRONHPDATA:		$g4neutronhpcrosssections

5) G4ABLADATA:                  $g4abladata

To modify default settings, select number above (e.g. 2) 
EOM`

#dflt="NO DEFAULT ANSWER"
dflt="Press [Enter] for default settings"
#fn='d~'
rp=$g4message
. ./myread
gans=$ans


	case $gans in

	1) 
		dflt=$g4levelgammadata
		fn='d~'
		rp="Where is Geant4 PhotonEvaporation2.0 data installed?"
		. ./getfile
		g4levelgammadata=$ans
		;;
	2) 
		dflt=$g4radioactivedata
		fn='d~'
		rp="Where is Geant4 RadioactiveDecay3.2 data installed?"
		. ./getfile
		g4radioactivedata=$ans
		;;
	3) 
		dflt=$g4ledata
		fn='d~'
		rp="Where is G4EMLOW6.1 data installed ?"
		. ./getfile
		g4ledata=$ans
		;;
	4) 
		dflt=$g4neutronhpcrosssections
		fn='d~'
		rp="Where is G4NDL3.12 data installed?"
		. ./getfile
		g4neutronhpcrosssections=$ans
		;;

	5)
		dflt=$g4abladata
		fn='d~'
		rp="Where is G4ABLA3.0 data installed?"
		. ./getfile
		g4abladata=$ans
		;;

#	5) 
#		dflt=$g4elasticdata
#		fn='d~'
#		rp="Where is G4ELASTIC1.1 data installed?"
#		. ./getfile
#		g4elasticdata=$ans
#		;;

#	[eE]) 
#		break
#		;;
	*) 
		break
#		echo " "
		;;
	esac
done


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`
#echo clhep_dirs=$clhep_dirs

fi

if test "X$clhep_dirs" != "X" ; then

g4clhep_base_dir_found=`echo $clhep_dirs|cut -d" " -f1`
#echo g4clhep_base_dir_found=$g4clhep_base_dir_found


#g4clhep_base_dir_n=`echo $g4clhep_base_dir_found |awk -F"/" '{print NF}'`
#echo g4clhep_base_dir_n=$g4clhep_base_dir_n
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

#else
#case "$g4clhep_base_dir" in
#'')
#	if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then
#	g4clhep_base_dir="c:/usr/local"
#	else
#	g4clhep_base_dir=/usr/local
#	fi
#	;;
#esac
fi


#while test 1 = 1  ; do

#if test "X$g4clhep_base_dir" != "X" ; then
#clhep_dirs=$g4clhep_base_dir
#echo 1 g4clhep_base_dir=$g4clhep_base_dir
#fi

if test "X$g4clhep_base_dir" != "X" ; then

g4message=`cat << EOM

Please, specify where CLHEP is installed. It was found in:

CLHEP_BASE_DIR:			$g4clhep_base_dir

EOM`

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

#dflt="Press [Enter] for default settings"
#fn='d~'
#####rp=$g4message
#. ./myread
#gans=$ans

#	case $gans in

#	1) 
##		dflt=""
##		fn='d~'
#		rp="Where is CLHEP installed?"
##		. ./getfile
##		g4clhep_base_dir=$ans

#####		g4clhep_include_dir=$ans/include
#####		g4clhep_lib_dir=$ans/lib
#		;;
#	2) 
#		dflt=$g4clhep_include_dir
#		fn='d~'
#		rp="Where is CLHEP include directory?"
#		. ./getfile
#		g4clhep_include_dir=$ans
#		;;
#	3) 
#		dflt=$g4clhep_lib_dir
#		fn='d~'
#		rp="Where is CLHEP lib directory?"
#		. ./getfile
#		g4clhep_lib_dir=$ans
#		;;
#	4) 
#		dflt=$g4clhep_lib
#		rp="What is CLHEP lib title?"
#		. ./myread
#		g4clhep_lib=$ans
#		;;
##	[eE]) 
##		break
##		;;
#	*) 
#		echo " "
#		break
#		;;
#	esac
#done

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"
#fn='d~'
. ./myread
gans=$ans

	case $gans in

	1) 
		dflt=$g4clhep_include_dir
		fn='d~'
		rp="Where is CLHEP include directory?"
		. ./getfile
		g4clhep_include_dir=$ans
		;;
	2) 
		dflt=$g4clhep_lib_dir
		fn='d~'
		rp="Where is CLHEP lib directory?"
		. ./getfile
		g4clhep_lib_dir=$ans
		;;
	3) 
		dflt=$g4clhep_lib
		rp="What is CLHEP lib title?"
		. ./myread
		g4clhep_lib=$ans
		;;
#	[eE]) 
##		break
##		;;
	*) 
#		echo " "
		break
		;;
	esac
done

#if test "X$g4clhep_base_dir" = "X/usr" -o "X$g4clhep_base_dir" = "X/usr/local"; then
#g4clhep_base_dir=""
#fi
#
#if test "X$g4clhep_include_dir" = "X/usr/include" -o "X$g4clhep_include_dir" = "X/usr/local/include"; then
#g4clhep_include_dir=""
#fi
#
#if test "X$g4clhep_lib_dir" = "X/usr/lib" -o "X$g4clhep_lib_dir" = "X/usr/local/lib"; then
#g4clhep_lib_dir=""
#fi

echo " "

case "$g4lib_build_shared" in
'')
	g4lib_build_shared=n
	;;
esac

echo " "

case "$g4lib_build_static" in
'')
	g4lib_build_static=n
	;;
esac

echo " "

case "$g4lib_use_shared" in
'')
	g4lib_use_shared=n
	;;
esac

echo " "

case "$g4lib_use_static" in
'')
	g4lib_use_static=n
	;;
esac

case "$g4lib_build_dll" in
'')
	g4lib_build_dll=n
	;;
esac

case "$g4lib_build_dyn" in
'')
	g4lib_build_dyn=n
	;;
esac

#
# Ask about building of SHARED|STATIC libraries - default STATIC. 
#
echo ""

if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then

while test 1 = 1  ; do

g4message=`cat << EOM

By default 'static'  libraries are built.

Do you want to build DLL (.dll) libraries?
EOM`

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

#		g4lib_build_static=""
#		g4lib_use_shared=1
#		g4lib_use_static=""
		break
		;;
#	[eE]) 
#		break
#		;;
#	*) 
#		echo " "
#		break
#		;;
	esac
done

fi

if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" ; then

while test 1 = 1  ; do

g4message=`cat << EOM

By default 'static' (.a) libraries are built.

Do you want to build 'shared' (.so) libraries?
EOM`

dflt=$g4lib_build_shared
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4lib_build_shared=n
		g4lib_build_static=y
		break
		;;
	y*|Y*) 
		g4lib_build_shared=y
#		g4lib_build_static=""
#		g4lib_use_shared=1
#		g4lib_use_static=""
		break
		;;
#	[eE]) 
#		break
#		;;
#	*) 
#		echo " "
#		break
#		;;
	esac
done

if [ X$g4lib_build_shared = Xy ] ; then
#
# Ask about g4lib_build_static - default "n". 
#
echo ""

while test 1 = 1  ; do

g4message=`cat << EOM

You selected to build 'shared' (.so) libraries. 
Do you want to build 'static' (.a) libraries too?
EOM`

#dflt=$g4lib_build_static
dflt=n
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4lib_build_static=n
		break
		;;
	y*|Y*) 
#		g4lib_build_shared=1
		g4lib_build_static=y
#		g4lib_use_shared=1
#		g4lib_use_static=""
		break
		;;
#	[eE]) 
#		break
#		;;
#	*) 
#		echo " "
#		break
#		;;
	esac
done

## Comment out in waiting G4LIB_USE_STATIC and G4LIB_USE_SHARED.
#
#if [ X$g4lib_build_static = Xy ] ; then
##
## Ask about g4lib_use_static - default "n". 
##
#echo ""
#
#while test 1 = 1  ; do
#
#g4message=`cat << EOM
#
#You selected to build 'shared' (.so) and 'static' (.a) libraries. 
#Do you want to use 'static' (.a) libraries?
#EOM`
#
#dflt=$g4lib_use_static
#rp=$g4message
#. ./myread
#gans=$ans
#
#	case $gans in
#	
#	n*|N*) 
#		break
#		;;
#	y*|Y*) 
##		g4lib_build_shared=1
##		g4lib_build_static=1
##		g4lib_use_shared=1
#		g4lib_use_static=y
#		break
#		;;
##	[eE]) 
##		break
##		;;
##	*) 
##		echo " "
##		break
##		;;
#	esac
#done
#fi

fi

fi # if !Win

echo " "
case "$g4global" in
'')
	g4global=n
	;;
esac

echo " "
# By default it's 'grabular'!
case "$g4granular" in
'')
	g4granular=y
	;;
esac

echo " "
# Will be set (if needed) in GNUmakefile!
case "$g4lib_use_granular" in
'')
	g4lib_use_granular=y
	;;
esac

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)". 
#
echo ""

while test 1 = 1  ; do

g4message=`cat << EOM

Do you want to build 'global' compound libraries?
EOM`

dflt=$g4global
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4global=n
		g4granular=y
		g4lib_use_granular=y
		break
		;;
	y*|Y*) 
		g4global=y
# Shoud be comment out to keep settings from config.sh - not now to keep as in release
		g4granular=n
# Shoud be comment out to keep settings from config.sh - not now to keep as in release
		g4lib_use_granular=n
		break
		;;
#	[eE]) 
#		break
#		;;
#	*) 
#		echo " "
#		break
#		;;
	esac
done

if [ X$g4global = Xy ] ; then
#
# Ask about g4granular - default "n". 
#
echo ""

while test 1 = 1  ; do

g4message=`cat << EOM

Granular libraries are used by defaults, you asked to build global
compound libraries. Do you want to build 'granular' libraries too?
EOM`

dflt=$g4granular
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4granular=n
		break
		;;
	y*|Y*) 
		g4granular=y
		break
		;;
#	[eE]) 
#		break
#		;;
#	*) 
#		echo " "
#		break
#		;;
	esac
done

if [ X$g4granular = Xy ] ; then
#
# Ask about g4lib_use_granular - default "n". 
#
echo ""

while test 1 = 1  ; do

g4message=`cat << EOM

Global libraries are used by defaults, you asked to build global
compound libraries and granular libraries. 
Do you want to use 'granular' libraries instead?
EOM`

dflt=$g4lib_use_granular
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4lib_use_granular=n
		break
		;;
	y*|Y*) 
		g4lib_use_granular=y
		break
		;;
#	[eE]) 
#		break
#		;;
#	*) 
#		echo " "
#		break
#		;;
	esac
done
fi
fi

fi # !Win

### End file - without will be problem! Check in others...


echo " "
case "$g4debug" in
'')
	g4debug=n
	;;
esac

#
# Ask about g4debug - default "(empty)". 
#
echo ""

while test 1 = 1  ; do

g4message=`cat << EOM

Do you want to compile libraries in DEBUG mode (-g)?
EOM`

dflt=$g4debug
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		break
		;;
	y*|Y*) 
		g4debug=y
		break
		;;
#	[eE]) 
#		break
#		;;
#	*) 
#		echo " "
#		break
#		;;
	esac
done


echo " "

case "$g4ui_none" in
'')
	g4ui_none=n
	;;
esac

# Set by default!
case "$g4ui_build_terminal_session" in
'')
	g4ui_build_terminal_session=y
	;;
esac

# Set by default!
case "$g4ui_use_terminal" in
'')
	g4ui_use_terminal=y
	;;
esac

# Set by default!
case "$g4ui_build_gag_session" in
'')
	g4ui_build_gag_session=y
	;;
esac

# Set by default!
case "$g4ui_use_gag" in
'')
	g4ui_use_gag=y
	;;
esac

case "$g4ui_build_xm_session" in
'')
	g4ui_build_xm_session=n
	;;
esac

case "$g4ui_use_xm" in
'')
	g4ui_use_xm=n
	;;
esac

case "$g4ui_build_xaw_session" in
'')
	g4ui_build_xaw_session=n
	;;
esac

case "$g4ui_use_xaw" in
'')
	g4ui_use_xaw=n
	;;
esac

case "$g4ui_build_win32_session" in
'')
	g4ui_build_win32_session=n
	;;
esac

case "$g4ui_use_win32" in
'')
	g4ui_use_win32=n
	;;
esac

# Set by default!
case "$g4ui_use_tcsh" in
'')
	g4ui_use_tcsh=y
	;;
esac




echo ""

g4message=`cat << EOM

  G4UI_NONE

If this variable is set, no UI sessions nor any UI libraries are built. 
This can be useful when running a pure batch job or in a user framework 
having its own UI system.
Do you want to set this variable ?

EOM`

dflt=$g4ui_none
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4ui_none=n
		;;
	y*|Y*) 
		g4ui_none=y
		;;
	esac

case $g4ui_none in

n)

g4message=`cat << EOM

  G4UI_BUILD_TERMINAL_SESSION
  Specifies to include in kernel library a basic dumb terminal
  user interface (default).

  G4UI_USE_TERMINAL
  Specifies to use dumb terminal interface in the application to be
  built (default).
EOM`

dflt=$g4ui_use_terminal
rp=$g4message
#. ./myread
#gans=$ans
gans=y

	case $gans in
	
	n*|N*) 
		g4ui_build_terminal_session=n
		g4ui_use_terminal=n
		;;
	y*|Y*) 
		g4ui_build_terminal_session=y
		g4ui_use_terminal=y
		;;
	esac

g4message=`cat << EOM

  G4UI_BUILD_GAG_SESSION
  Specifies to include in kernel library the GAG based
  user interface.

  G4UI_USE_GAG
  Specifies to use the GAG interface in the application to be
  built.
EOM`

dflt=$g4ui_use_gag
rp=$g4message
#. ./myread
#gans=$ans
gans=y

	case $gans in
	
	n*|N*) 
		g4ui_build_gag_session=n
		g4ui_use_gag=n
		;;
	y*|Y*) 
		g4ui_build_gag_session=y
		g4ui_use_gag=y
		;;
	esac

if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then

g4message=`cat << EOM

  G4UI_BUILD_XAW_SESSION
  G4UI_USE_XAW

  Specifies to include and use the XAW interfaces in the
  application to be built.
  The XAW (X11 Athena Widget set) extensions are required to activate 
  and build this driver.
EOM`

dflt=$g4ui_use_xaw
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4ui_build_xaw_session=n
		g4ui_use_xaw=n
		;;
	y*|Y*) 
		g4ui_build_xaw_session=y
		g4ui_use_xaw=y
		;;
	esac

############################################################
############################################################

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 use the XAW based user interfaces.
Specify the correct path where XAW is installed in 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

fi
else

g4message=`cat << EOM

You have selected to use XAW based user interfaces.
But XAW was not found in $ans.
Please specify the correct path where XAW is installed in 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 use XAW based user interfaces.
But XAW was not found in expected place.
Please specify the correct path where XAW is installed in 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

fi
else

g4message=`cat << EOM

You have selected to use XAW based user interfaces.
But XAW was not found in $ans.
Please specify the correct path where XAW is installed in 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
g4ui_xawflags=" -I$g4ui_xawhome/include "
	if test "X$g4ui_xawhome" = "X/usr/X11R6" ; then
		g4ui_xawlibs=" -lXaw "
	else
		g4ui_xawlibs=" -L$g4ui_xawhome/lib -lXaw "
	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=`cat << EOM

  G4UI_BUILD_XM_SESSION
  G4UI_USE_XM

  Specifies to include and use the XM Motif based user interfaces.
  The XM Motif extensions are required to activate and build this
  driver.

EOM`

dflt=$g4ui_use_xm
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4ui_build_xm_session=n
		g4ui_use_xm=n
		;;
	y*|Y*) 
		g4ui_build_xm_session=y
		g4ui_use_xm=y
		;;
	esac


############################################################
############################################################

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 use the XM Motif based user interfaces.
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

g4ui_build_xm_session=n
g4ui_use_xm=n

fi
else

g4message=`cat << EOM

You have selected to use XM Motif based user interfaces.
But XM Motif 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 use XM Motif based user interfaces.
But XM Motif 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

g4ui_build_xm_session=n
g4ui_use_xm=n

fi
else

g4message=`cat << EOM

You have selected to use XM Motif based user interfaces.
But XM Motif 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$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
g4vis_xmflags=" -I$g4vis_xmhome/include "
	if test "X$g4vis_xmhome" = "X/usr/X11R6" ; then
		g4vis_xmlibs=" -lXm -lXpm "
	else
		g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm -lXpm "
	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=`cat << EOM

  G4UI_BUILD_WIN32_SESSION
  G4UI_USE_WIN32

  Specifies to include and use the terminal interface for 
  Windows systems.

EOM`

dflt=$g4ui_use_win32
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4ui_build_win32_session=n
		g4ui_use_win32=n
		;;
	y*|Y*) 
		g4ui_build_win32_session=y
		g4ui_use_win32=y
		;;
	esac

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
#

#
# We only perform the query/probe for Linux-g++ and Darwin-g++ systems..
#
#if test "x$g4system" = "xLinux-g++" -o "x$g4system" = "xDarwin-g++" ; then

# Now, IF g4ui_none HAS NOT BEEN SET TO Y, proceed to the query/probe section
if test "x$g4ui_none" = "xn" ; then

   # Query the user to see if they want to build the Qt UI module

   g4message=`cat << EOM

   G4UI_BUILD_QT_SESSION
   G4UI_USE_QT

Setting these variables will enable the building of the G4 Qt based 
user interface module and the use of this module in your applications
respectively.
The Qt headers, libraries and binaries are required to enable the
building of this module.
Do you want to enable build and use of this module?
EOM`

   #
   # read in the user response
   #
   dflt=$g4ui_build_qt_session
   rp=$g4message
   . ./myread
   gans=$ans

   #
   # Check response
   #
   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 we want to build/use the Qt UI module, we need to probe for
   # a Qt4 installation
   #
   if test "x$g4ui_build_qt_session" = "xy" ; then
       
       echo " "
       g4_havegoodqt=no
       
      # Look for qt4 moc
       g4_qtmochome=`./loc moc no $QTDIR/bin     /usr/lib/qt4/bin     /usr/lib/qt/bin     /usr/local/qt/bin     /usr/local/bin     /usr/bin      /bin            /usr/share/qt4/bin     /usr/X11R6/bin     /sw/bin`
       if test "x$g4_qtmochome" = "xno" ; then
        # Look for qt3 moc
           g4_qtmochome=`./loc moc no /usr/lib/qt3/bin     /usr/share/qt3/bin`
       fi
       
      # if not found
       if test "x$g4_qtmochome" != "xno" ; then
           echo "checking Qt moc tool in... $g4_qtmochome"
          # check Qt version
           g4_qtver=`$g4_qtmochome 2>&1 -v | $sed 's/.* .Qt \([0-9]\)\..*/\1/' `
           echo "checking Qt version... $g4_qtver"
           if test "x$g4_qtver" = "x3" || test "x$g4_qtver" = "x4" ;then
               
              # checking includes first get QTDIR location, then qt$g4_qtver, sw, standard, shared, X11
               
               incQtFiles=" $QTDIR/include /usr/include/qt$g4_qtver /usr/include/qt$g4_qtver/Qt  /usr/lib/qt$g4_qtver/include /sw/include/qt /usr/lib/qt/include /usr/local/qt/include /usr/local/include /usr/include  /usr/include/qt /usr/share/qt$g4_qtver/include /usr/X11R6/include /usr/X11R6/include/qt$g4_qtver  /usr/X11R6/include/qt" 
               
               if test "X$g4osname" = "XDarwin" && test "X$g4_qtver" = "X4"; then
                   incQtFiles="$incQtFiles /Library/Frameworks/QtCore.framework/Headers/"
                   g4_qtincdir=`./loc qglobal.h no $incQtFiles`
                   if test "x$g4_qtincdir" != "xno" ; then
                       g4_qtincdir="/Library/Frameworks"
                   fi
               else
                   g4_qtincdir=`./loc qglobal.h no $incQtFiles`
               fi
               
               
               if test "x$g4_qtincdir" != "xno" ; then
                   if test "x$g4_qtincdir" != "x/Library/Frameworks" ; then
                       g4_qtincdir=`dirname $g4_qtincdir`
                   fi
                   echo "checking Qt includes dir in... $g4_qtincdir"
                   
                   
                  # checking libs, includes first get QTDIR location, then qt$g4_qtver, sw, standard, shared, X11
                   
                   libQtFiles="$QTDIR/lib     $QTDIR/lib64     /usr/lib/qt$g4_qtver/lib      /usr/lib/qt$g4_qtver/lib64     /usr/lib/qt$g4_qtver     /usr/lib/qt$g4_qtver        /sw/lib  /sw/lib/qt   /sw/lib/qt$g4_qtver    /sw/lib/qt$g4_qtver/lib         /usr/lib/qt/lib     /usr/local/qt/lib     /usr/local/lib     /usr/lib      /usr/lib/qt   /usr/share/qt$g4_qtver/lib      /usr/X11R6/lib/qt     /usr/X11R6/lib/qt$g4_qtver     /usr/X11R6/lib  /usr/X11R6/lib/qt"
                   
                   if test "X$g4osname" = "XDarwin" && test "X$g4_qtincdir" = "X/Library/Frameworks" ; then
                       g4_qtlibdir=`./loc QtCore no  /Library/Frameworks/QtCore.framework/Versions/$g4_qtver/ $libQtFiles`
                       g4_qtlibdir=`dirname $g4_qtlibdir`
                       g4_qtlibdir=`dirname $g4_qtlibdir`
                       g4_qtlibdir=`dirname $g4_qtlibdir`
                   else
                       g4_qtlibdir=`./loc libqt* no $libQtFiles`
                   fi
                   if test "x$g4_qtlibdir" != "xno" ; then
                       g4_qtlibdir=`dirname $g4_qtlibdir`
                       echo "checking Qt lib dir in... $g4_qtlibdir"
                       g4_havegoodqt=yes
                   else
                       echo "Failed to find Qt lib dir in : $libQtFiles"
                   fi
               else
                   echo "Failed to find Qt includes dir in : $incQtFiles"
               fi #END CHECK QTLIBS
           else
               echo "Qt $g4_qtver is not actually support with this driver"
           fi #END CHECK QTINC
       fi #END CHECK QTMOC
      #
      # END QT AUTOPROBE
      ####################################################################


      ####################################################################
      # Based on result of Qt autoprobe, we decide if user input is needed to
      # locate Qt...
      #
       if test "x$g4_havegoodqt" = "xno" ; then
           promptend="no"
           qthomeloc="the standard locations"

           g4message=`cat << EOM

Autodetection failed to locate Qt on your system.
Please enter the path to your Qt install (i.e. if Qt is installed
in PATH/include/Qt, or PATH/include  $PATH/include/qt, enter PATH), or type '-' to
CANCEL the build of the Qt UI module.
Qt path:
EOM`
           dflt="/usr"
           g4_qtmochome="/usr"
           fn='d~(-)'
           rp=$g4message
           . ./getfile

	       #Check for user cancellation
           if test "x$ans" = "x-" ; then
               g4ui_build_qt_session=n
               g4ui_use_qt=n
               echo "build/use of Qt UI module cancelled..."
               promptend=yes

           else
		  #We want to probe for Qt in the user supplied directory
               echo " "
               qthomeloc=$ans
               g4_havegoodqt=no


                  # check for moc

               g4_qtmochome=`./loc moc no $ans/bin`
               if test "x$g4_qtmochome" = "xno" ; then
                   while test "x$promptend" = "xno" ; do
                       g4message=`cat << EOM

Failed to locate Qt moc tool on your system.
Please enter the path to your Qt moc tool install or type '-' to
CANCEL the build of the Qt UI module.
Qt moc path:
EOM`
                       fn='d~(-)'
                       rp=$g4message
                       . ./getfile
                       
   	                  #Check for user cancellation
                       if test "x$ans" = "x-" ; then
                           g4ui_build_qt_session=n
                           g4ui_use_qt=n
                           echo "build/use of Qt UI module cancelled..."
                           promptend=yes
                           
                       else
   		              #We want to probe for Qt in the user supplied directory
                           echo " "
                              # check for moc
                           g4_qtmochome=`./loc moc no $ans/bin`
                           if test "x$g4_qtmochome" != "xno" ; then
                               promptend=yes
                           fi
                       fi 
                   done
               fi # ASK FOR QT MOC
               if test "x$g4_qtmochome" != "xno" ; then
                   echo "checking Qt moc tool in... $g4_qtmochome"
               fi

                  # if moc ok, then check for version
               if test "x$g4_qtmochome" != "xno" ; then
                   g4_qtver=`$g4_qtmochome 2>&1 -v | $sed 's/.* .Qt \([0-9]\)\..*/\1/' `
                   echo "checking Qt version... $g4_qtver"

                   if test "x$g4_qtver" = "x3" || test "x$g4_qtver" = "x4";then

                          # if version ok check for includes
                          # checking includes in qt$g4_qtver, then standard
                       incQtFiles="$qthomeloc/lib/qt$g4_qtver/include $qthomeloc/include/qt$g4_qtver/Qt $qthomeloc/include/qt$g4_qtver  $qthomeloc/include $qthomeloc/include/Qt "
                       
                       if test "X$g4osname" = "XDarwin" && test "X$g4_qtver" = "X4"; then
                           incQtFiles="$incQtFiles /Library/Frameworks/QtCore.framework/Headers/ $qthomeloc/QtCore.framework/Headers/"
                           g4_qtincdir=`./loc qglobal.h no $incQtFiles`
                           if test "x$g4_qtincdir" != "xno" ; then
                               g4_qtincdir=`dirname $g4_qtincdir`
                               g4_qtincdir=`dirname $g4_qtincdir`
                           fi
                       else
                           g4_qtincdir=`./loc qglobal.h no $incQtFiles`
                       fi
                       if test "x$g4_qtincdir" = "xno" ; then
                           while test "x$promptend" = "xno" ; do
                               g4message=`cat << EOM

Failed to locate Qt include directory on your system.
Please enter the path to your Qt include directory install or type '-' to
CANCEL the build of the Qt UI module.
Qt include path:
EOM`
                               fn='d~(-)'
                               rp=$g4message
                               . ./getfile
                               
   	                          #Check for user cancellation
                               if test "x$ans" = "x-" ; then
                                   g4ui_build_qt_session=n
                                   g4ui_use_qt=n
                                   echo "build/use of Qt UI module cancelled..."
                                   promptend=yes
                                   
                               else
   		                     #We want to probe for Qt in the user supplied directory
                                   echo " "
                                      # check for include
                                   g4_qtincdir=`./loc qglobal.h no $ans`
                                   if test "x$g4_qtincdir" != "xno" ; then
                                       promptend=yes
                                   fi
                               fi 
                           done
                       fi # ASK FOR QT INC
                       if test "x$g4_qtincdir" != "xno" ; then
                           g4_qtincdir=`dirname $g4_qtincdir`
                           echo "checking Qt inc dir in... $g4_qtincdir"
                       fi
                          # if qt inc ok, then check for libs
                       if test "x$g4_qtincdir" != "xno" ; then

                              # checking libraries in qt$g4_qtver, then standard
                           libQtFiles="$qthomeloc/lib/qt$g4_qtver/lib      $qthomeloc/lib/qt$g4_qtver     $qthomeloc/lib/qt$g4_qtver    $qthomeloc/lib/qt$g4_qtver/lib64  $qthomeloc/lib     $qthomeloc/lib64     $qthomeloc/lib/qt/lib     $qthomeloc/lib/qt     $qthomeloc/lib64"
                           
                           if test "X$g4osname" = "XDarwin" && test "X$g4_qtincdir" = "X/Library/Frameworks" ; then
                               g4_qtlibdir=`./loc QtCore no  /Library/Frameworks/QtCore.framework/Versions/$g4_qtver/ $libQtFiles`
                               g4_qtlibdir=`dirname $g4_qtlibdir`
                               g4_qtlibdir=`dirname $g4_qtlibdir`
                               g4_qtlibdir=`dirname $g4_qtlibdir`
                           else
                               g4_qtlibdir=`./loc libqt* no $libQtFiles`
                           fi
                           if test "x$g4_qtlibdir" = "xno" ; then
                               while test "x$promptend" = "xno" ; do
                                   g4message=`cat << EOM

Failed to locate Qt lib directory on your system.
Please enter the path to your Qt lib directory install or type '-' to
CANCEL the build of the Qt UI module.
Qt library path:
EOM`
                                   fn='d~(-)'
                                   rp=$g4message
                                   . ./getfile
                                   
   	                          #Check for user cancellation
                                   if test "x$ans" = "x-" ; then
                                       g4ui_build_qt_session=n
                                       g4ui_use_qt=n
                                       echo "build/use of Qt UI module cancelled..."
                                       promptend=yes
                                       
                                   else
   		                     #We want to probe for Qt in the user supplied directory
                                       echo " "
                                      # check for libraries
                                       if test "X$g4osname" = "XDarwin" && test "X$g4_qtincdir" = "X/Library/Frameworks" ; then
                                           g4_qtlibdir=`./loc QtCore* no $libQtFiles /Library/Frameworks/`
                                       else
                                           g4_qtlibdir=`./loc libqt* no $libQtFiles`
                                       fi
                                       if test "x$g4_qtlibdir" != "xno" ; then
                                           promptend=yes
                                       fi
                                   fi 
                               done
                           fi # END OF LIB CHECK
                           if test "x$g4_qtlibdir" != "xno" ; then
                               g4_qtlibdir=`dirname $g4_qtlibdir`
                               echo "checking Qt lib dir in... $g4_qtlibdir"
                               promptend=yes
                               g4_havegoodqt=yes
                           fi
                           
                       else # END OF INC CHECK
                           g4_qtincdir=no
                       fi                     
                   else # END OF VERSION CHECK
                       g4_qtmochome=no
                   fi
               fi # END OF MOC CHECK

           fi #END CHECK USER CANCELLATION
           
       fi #END USER DIRECTED QT DETECTION

      #
      #END QT USER INPUT PROBE
      ####################################################################
      
   fi #END CHECK OF G4UI_BUILD_QT_SESSION=Y
   ###########################################

fi #END TEST G4UI_NONE=N
#fi #END TEST G4SYSTEM = Linux-g++ OR Darwin-g++
########################
echo " "
case "$g4vis_none" in
'')
	g4vis_none=n
	;;
esac


case "$g4vis_build_openglwin32_driver" in
'')
	g4vis_build_openglwin32_driver=n
	;;
esac

case "$g4vis_use_openglwin32" in
'')
	g4vis_use_openglwin32=n
	;;
esac

case "$g4vis_build_oiwin32_driver" in
'')
	g4vis_build_oiwin32_driver=n
	;;
esac

case "$g4vis_use_oiwin32" in
'')
	g4vis_use_oiwin32=n
	;;
esac

case "$g4vis_build_dawn_driver" in
'')
	g4vis_build_dawn_driver=n
	;;
esac

case "$g4vis_use_dawn" in
'')
	g4vis_use_dawn=n
	;;
esac

# Set by default!
case "$g4vis_build_dawnfile_driver" in
'')
	g4vis_build_dawnfile_driver=y
	;;
esac

# Set by default!
case "$g4vis_use_dawnfile" in
'')
	g4vis_use_dawnfile=y
	;;
esac

case "$g4vis_build_openglx_driver" in
'')
	g4vis_build_openglx_driver=n
	;;
esac

case "$g4vis_use_openglx" in
'')
	g4vis_use_openglx=n
	;;
esac

case "$g4vis_build_openglxm_driver" in
'')
	g4vis_build_openglxm_driver=n
	;;
esac

case "$g4vis_use_openglxm" in
'')
	g4vis_use_openglxm=n
	;;
esac

case "$g4vis_build_oix_driver" in
'')
	g4vis_build_oix_driver=n
	;;
esac

case "$g4vis_use_oix" in
'')
	g4vis_use_oix=n
	;;
esac

case "$g4vis_build_raytracerx_driver" in
'')
	g4vis_build_raytracerx_driver=n
	;;
esac

case "$g4vis_use_raytracerx" in
'')
	g4vis_use_raytracerx=n
	;;
esac

# Set by default!
case "$g4vis_build_raytracer_driver" in
'')
	g4vis_build_raytracer_driver=y
	;;
esac

# Set by default!
case "$g4vis_use_raytracer" in
'')
	g4vis_use_raytracer=y
	;;
esac

case "$g4vis_build_vrml_driver" in
'')
	g4vis_build_vrml_driver=n
	;;
esac

case "$g4vis_use_vrml" in
'')
	g4vis_use_vrml=n
	;;
esac

# Set by default!
case "$g4vis_build_asciitree_driver" in
'')
	g4vis_build_asciitree_driver=y
	;;
esac

# Set by default!
case "$g4vis_use_asciitree" in
'')
	g4vis_use_asciitree=y
	;;
esac

# Set by default!
case "$g4vis_build_gagtree_driver" in
'')
	g4vis_build_gagtree_driver=y
	;;
esac

# Set by default!
case "$g4vis_use_gagtree" in
'')
	g4vis_use_gagtree=y
	;;
esac

echo ""

g4message=`cat << EOM

  G4VIS_NONE

If this variable is set, no visualization drivers will be built or used.
Do you want to set this variable ?

EOM`

dflt=$g4vis_none
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4vis_none=n
		;;
	y*|Y*) 
		g4vis_none=y
		;;
	esac

case $g4vis_none in

n)

if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then

g4message=`cat << EOM

  G4VIS_BUILD_OPENGLX_DRIVER
  G4VIS_USE_OPENGLX

It is an interface to the de facto standard 3D graphics library,
OpenGL. It is well suited for real-time fast visualization
and prototyping. The X11 version of the OpenGL libraries is
required.
EOM`

dflt=$g4vis_use_openglx
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4vis_build_openglx_driver=n
		g4vis_use_openglx=n
		;;
	y*|Y*) 
		g4vis_build_openglx_driver=y
		g4vis_use_openglx=y
		;;
	esac

#############################################3
g4message=`cat << EOM

  G4VIS_BUILD_OPENGLXM_DRIVER
  G4VIS_USE_OPENGLXM

It is an interface to the de facto standard 3D graphics library,
OpenGL. It is well suited for real-time fast visualization
and prototyping. The X11 version of the OpenGL libraries and 
the Motif Xm extension is required.

EOM`

dflt=$g4vis_use_openglxm
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4vis_build_openglxm_driver=n
		g4vis_use_openglxm=n
		;;
	y*|Y*) 
		g4vis_build_openglxm_driver=y
		g4vis_use_openglxm=y
		;;
	esac

############################################################
#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 use OPENGLXM 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

fi
else

g4message=`cat << EOM

You have selected to use OPENGLXM driver.
But it 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 use OPENGLXM driver.
But it 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

fi
else

g4message=`cat << EOM

You have selected to use OPENGLXM driver.
But it 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
g4vis_xmflags=" -I$g4vis_xmhome/include "
	if test "X$g4vis_xmhome" = "X/usr/X11R6" ; then
		g4vis_xmlibs=" -lXm -lXpm "
	else
		g4vis_xmlibs=" -L$g4vis_xmhome/lib -lXm -lXpm "
	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=`cat << EOM

  G4VIS_BUILD_OPENGLWIN32_DRIVER
  G4VIS_USE_OPENGLWIN32

It is an interface to the de facto standard 3D graphics library,
OpenGL. It is well suited for real-time fast visualization
and prototyping. The Windows version of the OpenGL libraries is
required.

EOM`

dflt=$g4vis_use_openglwin32
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=`cat << EOM

  G4VIS_BUILD_DAWN_DRIVER
  G4VIS_USE_DAWN

DAWN drivers are interfaces to the Fukui Renderer DAWN. DAWN is
a vectorized 3D PostScript processor suited to prepare technical
high quality outputs for presentation and/or documentation.

EOM`

dflt=$g4vis_use_dawn
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4vis_build_dawn_driver=n
		g4vis_use_dawn=n
		;;
	y*|Y*) 
		g4vis_build_dawn_driver=y
		g4vis_use_dawn=y
		;;
	esac


#######################################
g4message=`cat << EOM

  G4VIS_BUILD_OIX_DRIVER
  G4VIS_USE_OIX

The OpenInventor driver is based on OpenInventor technology 
for scientific visualization.
The X11 version of OpenInventor is required.

EOM`

dflt=$g4vis_use_oix
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4vis_build_oix_driver=n
		g4vis_use_oix=n
		;;
	y*|Y*) 
		g4vis_build_oix_driver=y
		g4vis_use_oix=y
		;;
	esac

############################################################
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

  OIVHOME/include
  OIVHOME/lib

You have selected to use OpenInventor driver.
Specify the correct path (OIVHOME) where OpenInventor is installed in 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

fi
else

g4message=`cat << EOM

  OIVHOME/include
  OIVHOME/lib

You have selected to use OpenInventor driver.
But it was not found in $ans.
Please specify the correct path where OpenInventor is installed in 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

  OIVHOME/include
  OIVHOME/lib

You have selected to use OpenInventor driver.
But it was not found in expected place.
Please specify the correct path where OpenInventor is installed in 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

fi
else

g4message=`cat << EOM

  OIVHOME/include
  OIVHOME/lib

You have selected to use OpenInventor driver.
But it was not found in $ans.
Please specify the correct path where OpenInventor is installed in 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=`cat << EOM

  G4VIS_BUILD_RAYTRACERX_DRIVER
  G4VIS_USE_RAYTRACERX

Allows for interactive ray-tracing graphics through X11.
The X11 package is required.

EOM`

dflt=$g4vis_use_raytracerx
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=`cat << EOM

  G4VIS_BUILD_OIWIN32_DRIVER
  G4VIS_USE_OIWIN32

Specifies to build and use the driver for the free X11 version of
OpenInventor on Windows systems.
The Windows version of OpenInventor is required.

EOM`

dflt=$g4vis_use_oiwin32
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

  OIVHOME/include
  OIVHOME/lib

You have selected to use OpenInventor driver.
Specify the correct path (OIVHOME) where OpenInventor is installed in 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

fi
else

g4message=`cat << EOM

  OIVHOME/include
  OIVHOME/lib

You have selected to use OpenInventor driver.
But it was not found in $ans.
Please specify the correct path where OpenInventor is installed in 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

  OIVHOME/include
  OIVHOME/lib

You have selected to use OpenInventor driver.
But it was not found in expected place.
Please specify the correct path where OpenInventor is installed in 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

fi
else

g4message=`cat << EOM

  OIVHOME/include
  OIVHOME/lib

You have selected to use OpenInventor driver.
But it was not found in $ans.
Please specify the correct path where OpenInventor is installed in 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=`cat << EOM

  G4VIS_BUILD_VRML_DRIVER
  G4VIS_USE_VRML

These driver generate VRML files, which describe 3D scenes to be 
visualized with a proper VRML viewer.

EOM`

dflt=$g4vis_use_vrml
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4vis_build_vrml_driver=n
		g4vis_use_vrml=n
		;;
	y*|Y*) 
		g4vis_build_vrml_driver=y
		g4vis_use_vrml=y
		;;
	esac

g4message=`cat << EOM

  G4VIS_BUILD_VRMLFILE_DRIVER
  G4VIS_USE_VRMLFILE

This driver generates VRML files, which describe 3D scenes to be 
visualized with a proper VRML viewer, at either a local or a remote host. 
The VRMLFILE driver sends 3D data to your VRML viewer, which is running 
in the same host machine as Geant4, via an intermediate file named 
g4.wrl created in the current directory. This file is available for 
re-visualization afterwards. In visualization, you should specify a 
name of the VRML viewer by setting the environment variable G4VRML_VIEWER 
beforehand.
EOM`

dflt=$g4vis_use_vrmlfile
rp=$g4message
#. ./myread
#gans=$ans
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

  OGLHOME/include
  OGLHOME/lib

You have selected to use OpenGL driver.
Specify the correct path (OGLHOME) where OpenGL is installed in 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

fi
else

g4message=`cat << EOM

  OGLHOME/include
  OGLHOME/lib

You have selected to use OpenGL driver.
But it was not found in $ans.
Please specify the correct path where OpenGL is installed in 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

  OGLHOME/include
  OGLHOME/lib

You have selected to use OpenGL driver.
But it was not found in expected place.
Please specify the correct path where OpenGL is installed in 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

fi
else

g4message=`cat << EOM

  OGLHOME/include
  OGLHOME/lib

You have selected to use OpenGL driver.
But it was not found in $ans.
Please specify the correct path where OpenGL is installed in 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
#

#
# We only run on a Linux-g++ or Darwin-g++ system
#
if test "x$g4system" = "xLinux-g++" -o "x$g4system" = "xDarwin-g++" ; then
    
   # Only proceed further if g4vis_none is not set
    if test "x$g4vis_none" = "xn" ; then
      #Query the user on whether to activate the module
        g4message=`cat << EOM

    G4VIS_BUILD_OPENGLQT_DRIVER
    G4VIS_USE_OPENGLQT

Setting these variables will enable the building of the G4 OpenGL Qt based
visualisation driver and the use of this driver in your applications
respectively.
The Qt headers, libraries and binaries are required to enable the
building of this module.
Do you want to enable build and use of this module?
EOM`
        
      #Read the user response
        dflt=$g4vis_build_openglqt_driver
        rp=$g4message
        . ./myread
        gans=$ans
        
        #
        # Check response
        #
        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 we have selected to build the driver, we need to check for
        # a Qt installation, which may have been done for use by the UI
        # module...
        #
        if test "x$g4vis_build_openglqt_driver" = "xy" ; then
            
            #Now check whether g4_qthome has been set previously - if it hasn't
            #proceed to probe for Qt... (assume it's unfiltered, i.e. not
            #set to '' by earlier probe if it was /usr or /usr/local
            if test "x$g4_qtmochome" != "x" && test "x$g4_qtlibdir" != "x" && test "x$g4_qtincdir" != "x"  ; then
                echo " "
                echo "configure: Qt preconfigured, no recheck neccessary"
            else
	 #################################################################
	    #We repeat the search used for the UI module
                
                echo " "
                g4_havegoodqt=no
                
            # Look for qt4 moc
                g4_qtmochome=`./loc moc no $QTDIR/bin     /usr/lib/qt4/bin     /usr/lib/qt/bin     /usr/local/qt/bin     /usr/local/bin     /usr/bin      /bin            /usr/share/qt4/bin     /usr/X11R6/bin     /sw/bin`
                if test "x$g4_qtmochome" = "xno" ; then
              # Look for qt3 moc
                    g4_qtmochome=`./loc moc no /usr/lib/qt3/bin     /usr/share/qt3/bin`
                fi
                
            # if not found
                if test "x$g4_qtmochome" != "xno" ; then
                    echo "checking Qt moc tool in... $g4_qtmochome"
                # check Qt version
                    g4_qtver=`$g4_qtmochome 2>&1 -v | $sed 's/.* .Qt \([0-9]\)\..*/\1/' `
                    echo "checking Qt version... $g4_qtver"
                    if test "x$g4_qtver" = "x3" || test "x$g4_qtver" = "x4" ;then
                        
                  # checking includes first get QTDIR location, then qt$g4_qtver, sw, standard, shared, X11
                        
                        incQtFiles=" $QTDIR/include /usr/include/qt$g4_qtver /usr/include/qt$g4_qtver/Qt  /usr/lib/qt$g4_qtver/include /sw/include/qt /usr/lib/qt/include /usr/local/qt/include /usr/local/include /usr/include  /usr/include/qt /usr/share/qt$g4_qtver/include /usr/X11R6/include /usr/X11R6/include/qt$g4_qtver  /usr/X11R6/include/qt" 
                        
                        if test "X$g4osname" = "XDarwin" && test "X$g4_qtver" = "X4"; then
                            incQtFiles="$incQtFiles /Library/Frameworks/QtCore.framework/Headers/"
                            g4_qtincdir=`./loc qglobal.h no $incQtFiles`
                            if test "x$g4_qtincdir" != "xno" ; then
                                g4_qtincdir="/Library/Frameworks"
                            fi
                        else
                            g4_qtincdir=`./loc qglobal.h no $incQtFiles`
                        fi
                        
                        
                        if test "x$g4_qtincdir" != "xno" ; then
                            if test "x$g4_qtincdir" != "x/Library/Frameworks" ; then
                                g4_qtincdir=`dirname $g4_qtincdir`
                            fi
                            echo "checking Qt includes dir in... $g4_qtincdir"
                            
                            
                       # checking libs, includes first get QTDIR location, then qt$g4_qtver, sw, standard, shared, X11
                            
                            libQtFiles="$QTDIR/lib     $QTDIR/lib64     /usr/lib/qt$g4_qtver/lib      /usr/lib/qt$g4_qtver/lib64     /usr/lib/qt$g4_qtver     /usr/lib/qt$g4_qtver        /sw/lib  /sw/lib/qt   /sw/lib/qt$g4_qtver    /sw/lib/qt$g4_qtver/lib         /usr/lib/qt/lib     /usr/local/qt/lib     /usr/local/lib     /usr/lib      /usr/lib/qt   /usr/share/qt$g4_qtver/lib      /usr/X11R6/lib/qt     /usr/X11R6/lib/qt$g4_qtver     /usr/X11R6/lib  /usr/X11R6/lib/qt"
                            
                            if test "X$g4osname" = "XDarwin" && test "X$g4_qtincdir" = "X/Library/Frameworks" ; then
                                g4_qtlibdir=`./loc QtCore no  /Library/Frameworks/QtCore.framework/Versions/$g4_qtver/ $libQtFiles`
                                g4_qtlibdir=`dirname $g4_qtlibdir`
                                g4_qtlibdir=`dirname $g4_qtlibdir`
                                g4_qtlibdir=`dirname $g4_qtlibdir`
                            else
                                g4_qtlibdir=`./loc libqt* no $libQtFiles`
                            fi
                            if test "x$g4_qtlibdir" != "xno" ; then
                                g4_qtlibdir=`dirname $g4_qtlibdir`
                                echo "checking Qt lib dir in... $g4_qtlibdir"
                                g4_havegoodqt=yes
                            else
                                echo "Failed to find Qt lib dir in : $libQtFiles"
                            fi
                        else
                            echo "Failed to find Qt includes dir in : $incQtFiles"
                        fi #END CHECK QTLIBS
                    else
                        echo "Qt $g4_qtver is not actually support with this driver"
                    fi #END CHECK QTINC
                fi #END CHECK QTVER
            fi # END OF PRECONFIG
            #
            # END QT AUTOPROBE
            ####################################################################
            





            ####################################################################
            # Based on result of Qt autoprobe, we decide if user input is needed to
            # locate Qt...
            #
            if test "x$g4_havegoodqt" = "xno" ; then
                promptend="no"
                qthomeloc="the standard locations"

                g4message=`cat << EOM

Autodetection failed to locate Qt on your system.
Please enter the path to your Qt install (i.e. if Qt is installed
in PATH/include/Qt, or PATH/include  $PATH/include/qt, enter PATH), or type '-' to
CANCEL the build of the Qt UI module.
Qt path:
EOM`
                dflt="/usr"
                g4_qtmochome="/usr"
                fn='d~(-)'
                rp=$g4message
                . ./getfile

	             #Check for user cancellation
                if test "x$ans" = "x-" ; then
                    g4ui_build_qt_session=n
                    g4ui_use_qt=n
                    echo "build/use of Qt UI module cancelled..."
                    promptend=yes

                else
		        #We want to probe for Qt in the user supplied directory
                    echo " "
                    qthomeloc=$ans
                    g4_havegoodqt=no


                        # check for moc

                    g4_qtmochome=`./loc moc no $ans/bin`
                    if test "x$g4_qtmochome" = "xno" ; then
                        while test "x$promptend" = "xno" ; do
                            g4message=`cat << EOM

Failed to locate Qt moc tool on your system.
Please enter the path to your Qt moc tool install or type '-' to
CANCEL the build of the Qt UI module.
Qt moc path:
EOM`
                            fn='d~(-)'
                            rp=$g4message
                            . ./getfile
                            
   	                        #Check for user cancellation
                            if test "x$ans" = "x-" ; then
                                g4ui_build_qt_session=n
                                g4ui_use_qt=n
                                echo "build/use of Qt UI module cancelled..."
                                promptend=yes
                                
                            else
   		              #We want to probe for Qt in the user supplied directory
                                echo " "
                              # check for moc
                                g4_qtmochome=`./loc moc no $ans/bin`
                                if test "x$g4_qtmochome" != "xno" ; then
                                    promptend=yes
                                fi
                            fi 
                        done
                    fi # ASK FOR QT MOC
                    if test "x$g4_qtmochome" != "xno" ; then
                        echo "checking Qt moc tool in... $g4_qtmochome"
                    fi

                        # if moc ok, then check for version
                    if test "x$g4_qtmochome" != "xno" ; then
                        g4_qtver=`$g4_qtmochome 2>&1 -v | $sed 's/.* .Qt \([0-9]\)\..*/\1/' `
                        echo "checking Qt version... $g4_qtver"

                        if test "x$g4_qtver" = "x3" || test "x$g4_qtver" = "x4";then

                                # if version ok check for includes
                                # checking includes in qt$g4_qtver, then standard
                            incQtFiles="$qthomeloc/lib/qt$g4_qtver/include $qthomeloc/include/qt$g4_qtver/Qt $qthomeloc/include/qt$g4_qtver  $qthomeloc/include $qthomeloc/include/Qt "
                            
                            if test "X$g4osname" = "XDarwin" && test "X$g4_qtver" = "X4"; then
                                incQtFiles="$incQtFiles /Library/Frameworks/QtCore.framework/Headers/ $qthomeloc/QtCore.framework/Headers/"
                                g4_qtincdir=`./loc qglobal.h no $incQtFiles`
                                if test "x$g4_qtincdir" != "xno" ; then
                                    g4_qtincdir=`dirname $g4_qtincdir`
                                    g4_qtincdir=`dirname $g4_qtincdir`
                                fi
                            else
                                g4_qtincdir=`./loc qglobal.h no $incQtFiles`
                            fi
                            if test "x$g4_qtincdir" = "xno" ; then
                                while test "x$promptend" = "xno" ; do
                                    g4message=`cat << EOM

Failed to locate Qt include directory on your system.
Please enter the path to your Qt include directory install or type '-' to
CANCEL the build of the Qt UI module.
Qt include path:
EOM`
                                    fn='d~(-)'
                                    rp=$g4message
                                    . ./getfile
                                    
   	                                #Check for user cancellation
                                    if test "x$ans" = "x-" ; then
                                        g4ui_build_qt_session=n
                                        g4ui_use_qt=n
                                        echo "build/use of Qt UI module cancelled..."
                                        promptend=yes
                                        
                                    else
   		                           #We want to probe for Qt in the user supplied directory
                                        echo " "
                                            # check for include
                                        g4_qtincdir=`./loc qglobal.h no $ans`
                                        if test "x$g4_qtincdir" != "xno" ; then
                                            promptend=yes
                                        fi
                                    fi 
                                done
                            fi # ASK FOR QT INC
                            if test "x$g4_qtincdir" != "xno" ; then
                                g4_qtincdir=`dirname $g4_qtincdir`
                                echo "checking Qt inc dir in... $g4_qtincdir"
                            fi
                                # if qt inc ok, then check for libs
                            if test "x$g4_qtincdir" != "xno" ; then

                                    # checking libraries in qt$g4_qtver, then standard
                                libQtFiles="$qthomeloc/lib/qt$g4_qtver/lib      $qthomeloc/lib/qt$g4_qtver     $qthomeloc/lib/qt$g4_qtver    $qthomeloc/lib/qt$g4_qtver/lib64  $qthomeloc/lib     $qthomeloc/lib64     $qthomeloc/lib/qt/lib     $qthomeloc/lib/qt     $qthomeloc/lib64"
                                
                                if test "X$g4osname" = "XDarwin" && test "X$g4_qtincdir" = "X/Library/Frameworks" ; then
                                    g4_qtlibdir=`./loc QtCore no  /Library/Frameworks/QtCore.framework/Versions/$g4_qtver/ $libQtFiles`
                                    g4_qtlibdir=`dirname $g4_qtlibdir`
                                    g4_qtlibdir=`dirname $g4_qtlibdir`
                                    g4_qtlibdir=`dirname $g4_qtlibdir`
                                else
                                    g4_qtlibdir=`./loc libqt* no $libQtFiles`
                                fi
                                if test "x$g4_qtlibdir" = "xno" ; then
                                    while test "x$promptend" = "xno" ; do
                                        g4message=`cat << EOM

Failed to locate Qt lib directory on your system.
Please enter the path to your Qt lib directory install or type '-' to
CANCEL the build of the Qt UI module.
Qt library path:
EOM`
                                        fn='d~(-)'
                                        rp=$g4message
                                        . ./getfile
                                        
   	                                #Check for user cancellation
                                        if test "x$ans" = "x-" ; then
                                            g4ui_build_qt_session=n
                                            g4ui_use_qt=n
                                            echo "build/use of Qt UI module cancelled..."
                                            promptend=yes
                                            
                                        else
   		                           #We want to probe for Qt in the user supplied directory
                                            echo " "
                                            # check for libraries
                                            if test "X$g4osname" = "XDarwin" && test "X$g4_qtincdir" = "X/Library/Frameworks" ; then
                                                g4_qtlibdir=`./loc QtCore* no $libQtFiles /Library/Frameworks/`
                                            else
                                                g4_qtlibdir=`./loc libqt* no $libQtFiles`
                                            fi
                                            if test "x$g4_qtlibdir" != "xno" ; then
                                                promptend=yes
                                            fi
                                        fi 
                                    done
                                fi # END OF LIB CHECK
                                if test "x$g4_qtlibdir" != "xno" ; then
                                    g4_qtlibdir=`dirname $g4_qtlibdir`
                                    echo "checking Qt lib dir in... $g4_qtlibdir"
                                    promptend=yes
                                    g4_havegoodqt=yes
                                fi
                                
                            else # END OF INC CHECK
                                g4_qtincdir=no
                            fi                     
                        else # END OF VERSION CHECK
                            g4_qtmochome=no
                        fi
                    fi # END OF MOC CHECK

                fi #END CHECK USER CANCELLATION
                
            fi #END USER DIRECTED QT DETECTION
            #
            #END QT USER INPUT PROBE
            ####################################################################
            
        fi #END TEST G4VIS_BUILD_OPENGLQT_DRIVER = y
        
        
      #
      # Put a filter in here on /usr and /usr/local as QTHOME in line
      # with other paths - done here as this is the last place QT is
      # checked for
      #DEACTIVATED AT PRESENT BECAUSE OF USE OF MOC
      #
      #if test "x$g4_qthome" = "x/usr" -o "x$g4_qthome" = "x/usr/local" ; then
	# g4_qthome=""
      #fi
        

    fi #END TEST G4VIS_NONE IS N
    
fi #END TEST G4SYSTEM IS Linux-g++ OR Darwin-g++

#
# END OF QTVIS/QT PROBE

#
# BEGIN GDML/XERCESC PROBE 
#

# Set default build option to no
echo " "
case "$g4lib_build_gdml" in
'')
	g4lib_build_gdml=n
	;;
esac


# Now query the user to see if they want to build the GDML plugin
echo ""

g4message=`cat << EOM

  G4LIB_BUILD_GDML

Setting this variable will enable building of the GDML plugin module embedded
in Geant4 for detector description persistency.
It requires your system to have the XercesC library and headers installed.
Do you want to set this variable?

EOM`

#
# read in the users response
#
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 test "X$g4gdml_xercesc_root" = "X"; then
      #probe for Xerces, using example from UI and Vis
      xercesc_root=`find $g4gdml_xercesc_root /usr/include /usr/local/include \
/opt/local/include /sw/include -type d -name xercesc 2>/dev/null | xargs echo`

      #If we got something, strip off the include/xerces part
      if test "X$xercesc_root" != "X"; then
	 g4gdml_xercesc_root=`dirname $xercesc_root`
	 g4gdml_xercesc_root=`dirname $g4gdml_xercesc_root`

	 echo " "
	 echo "checking for XercesC install... $g4gdml_xercesc_root"
      else
         g4gdml_xercesc_root=""
	 echo " "
	 echo "checking for XercesC install... no"
      fi
   fi #END OF XERCES AUTOPROBE

   #
   # If the autoprobe failed, prompt the user to enter the path to the Xerces
   # install
   #
   if test "X$g4gdml_xercesc_root" = "X"; then

      promptend="no"
      xercesloc="the standard locations"
      
      while test "$promptend" = "no"; do
	    g4message=`cat << EOM

Autodetection failed to locate XercesC in $xercesloc 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..."
	       promptend=yes
	    else
	       if test -r "$ans/include/xercesc"; then
		  g4gdml_xercesc_root=$ans
		  echo "checking for XercesC install... $g4gdml_xercesc_root"
		  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 XERCES PROBE

#END OF GDML/XERCES PROBE

echo " "

case "$g4make" in
'')
	g4make=gmake
	;;
esac

echo ""

	g4_gmake_version=`(gmake -v) 2>/dev/null` 
				case $g4_gmake_version in
				GNU*) 
				g4_gmake=y				
				;;
				*) 
				g4_gmake=n
				;;
				esac				

	g4_make_version=`(make -v) 2>/dev/null`
				case $g4_make_version in
				GNU*) 
				g4_make=y				
				;;
				*) 
				g4_make=n
				;;
				esac				

if  [ $g4_gmake = y ] ; then

g4make=gmake

g4message=`cat << EOM

  G4MAKE

You have GNU make which could be used to build GEANT4.
You can select your own 'make' program if you want.
EOM`

fi

if [ $g4_gmake = n ] && [ $g4_make = y ] ; then

g4make=make

g4message=`cat << EOM

  G4MAKE

You have GNU make which could be used to build GEANT4.
You can select your own 'make' program if you want.
EOM`

fi

if [ $g4_gmake = n ] && [ $g4_make = n ] ; then

g4make=none

g4message=`cat << EOM

  G4MAKE

You have NO GNU make which could be used to build GEANT4.
Please select your own 'make' program compatible with GNU make.
EOM`

dflt=$g4make
rp=$g4message


. ./myread
gans=$ans

	case $gans in
	
	'') 
		g4make=$dflt
		;;
	*) 
		g4make=$gans
		;;
	esac

fi




echo " "
case "$g4wlib_build_g3tog4" in
'')
	g4wlib_build_g3tog4=n
	;;
esac

case "$g4w_use_g3tog4" in
'')
	g4w_use_g3tog4=n
	;;
esac

echo ""

g4message=`cat << EOM

  G4LIB_BUILD_G3TOG4  

The utility module 'g3tog4' will be built by setting this
variable. NOTE: it requires a valid FORTRAN compiler to be
installed on your system and the 'cernlib' command in the
path, in order to build the ancillary tools!
Do you want to build 'g3tog4' ?
 
EOM`

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


echo " "
case "$g4wlib_build_zlib" in
'')
	g4wlib_build_zlib=n
	;;
esac

case "$g4w_use_zlib" in
'')
	g4w_use_zlib=n
	;;
esac

echo ""

g4message=`cat << EOM

  G4LIB_BUILD_ZLIB  

Do you want to activate compression for output files
generated by the HepRep visualization driver?
 
EOM`

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


echo " "

case "$g4wanalysis_use" in
'')
	g4wanalysis_use=n
	;;
esac

echo ""

g4message=`cat << EOM

  G4ANALYSIS_USE

Activates the configuration setup for allowing plugins to
analysis tools based on AIDA (Astract Interfaces for Data
Analysis). In order to use AIDA features and compliant analysis
tools, the proper environment for these tools will have to be
set (see documentation for the specific analysis tools).
EOM`

dflt=$g4wanalysis_use
rp=$g4message
. ./myread
gans=$ans

	case $gans in
	
	n*|N*) 
		g4wanalysis_use=n
		;;
	y*|Y*) 
		g4wanalysis_use=y
		;;
	esac


: 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_qtmochome='$g4_qtmochome'
g4_qtincdir='$g4_qtincdir'
g4_qtlibdir='$g4_qtlibdir'
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'
g4neutronhpcrosssections='$g4neutronhpcrosssections'
g4osname='$g4osname'
g4radioactivedata='$g4radioactivedata'
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'
g4wanalysis_build='$g4wanalysis_build'
g4wanalysis_build_jas='$g4wanalysis_build_jas'
g4wanalysis_build_lab='$g4wanalysis_build_lab'
g4wanalysis_build_lizard='$g4wanalysis_build_lizard'
g4wanalysis_use='$g4wanalysis_use'
g4wanalysis_use_jas='$g4wanalysis_use_jas'
g4wanalysis_use_lab='$g4wanalysis_use_lab'
g4wanalysis_use_lizard='$g4wanalysis_use_lizard'
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

