157 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
rm -f em_path.h
 | 
						|
echo "You will now be asked for the root directory of the ACK sources.
 | 
						|
This directory will not be changed by the installation process.
 | 
						|
"
 | 
						|
while :
 | 
						|
do
 | 
						|
	echo $E_FLAG "Please give the root of the ACK source tree,
 | 
						|
an absolute path: [$SRC_HOME] $E_SFX"
 | 
						|
	. $FDIR/get_answer
 | 
						|
	case $ANS in
 | 
						|
	'') 	ANS="$SRC_HOME" ;;
 | 
						|
	esac
 | 
						|
	SRC_HOME="$ANS"
 | 
						|
	case $SRC_HOME in
 | 
						|
	/*)	break;
 | 
						|
		;;
 | 
						|
	*)	echo "$SRC_HOME is not an absolute path; try again"
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
done
 | 
						|
echo "You will now be asked for a configuration directory. This is
 | 
						|
the directory in which the compilations will take place. The tree that
 | 
						|
resides in it will have the same structure as the ACK source tree, but
 | 
						|
the directories will usually only contain Makefiles and .o files.
 | 
						|
"
 | 
						|
while :
 | 
						|
do
 | 
						|
	echo $E_FLAG "Please give the root of the configuration tree,
 | 
						|
an absolute path: [$CONFIG] $E_SFX"
 | 
						|
	. $FDIR/get_answer
 | 
						|
	case $ANS in
 | 
						|
	'')	ANS="$CONFIG";;
 | 
						|
	esac
 | 
						|
	CONFIG="$ANS"
 | 
						|
	case $CONFIG in
 | 
						|
	/*)	break;
 | 
						|
		;;
 | 
						|
	*)	echo "$CONFIG is not an absolute path; try again"
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
done
 | 
						|
echo "You will now be asked for the root directory of the ACK binaries. After
 | 
						|
installation, this directory will have subdirectories bin, lib, lib.bin,
 | 
						|
man, h, config, include, modules, doc.
 | 
						|
Four of these directories will contain stuff that depends on the machine
 | 
						|
for which the ACK binaries are made: bin, modules, config, and lib.bin. The
 | 
						|
other sub-directories (lib, man, h, include and doc) will contain
 | 
						|
machine-independent stuff.
 | 
						|
This information may be useful if you want to use ACK on different platforms
 | 
						|
and you have a shared file system. See the installation manual.
 | 
						|
"
 | 
						|
while :
 | 
						|
do
 | 
						|
	echo $E_FLAG "Please give the root of the ACK binaries,
 | 
						|
an absolute path: [$TARGET_HOME] $E_SFX"
 | 
						|
	. $FDIR/get_answer
 | 
						|
	case $ANS in
 | 
						|
	'')	ANS="$TARGET_HOME";;
 | 
						|
	esac
 | 
						|
	TARGET_HOME="$ANS"
 | 
						|
	case $TARGET_HOME in
 | 
						|
	/*)	break;
 | 
						|
		;;
 | 
						|
	*)	echo "$TARGET_HOME is not an absolute path; try again"
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
done
 | 
						|
sed -e "/^#define[ 	]*EM_DIR/s@\".*\"@\"$TARGET_HOME\"@" <$FDIR/em_path.h.src >em_path.h
 | 
						|
 | 
						|
echo "You will now be asked for the type of the system that you want
 | 
						|
ACK binaries produced for. This is not neccessarily the system you
 | 
						|
run this program on. In this case, if you have not done so already,
 | 
						|
you will have to install ACK on the current machine first.
 | 
						|
"
 | 
						|
echo "Give me the type of the system, the current choice is:
 | 
						|
vax_bsd4_1a	VAX11 with BSD4.1a
 | 
						|
vax_bsd4_2	VAX11 with BSD4.2
 | 
						|
vax_sysV_2	VAX11 with System V.2
 | 
						|
i386		Intel 80386 system running Xenix System V
 | 
						|
sun3		Sun 3 M68020 workstation 
 | 
						|
sun2		Sun 2 M68000 workstation
 | 
						|
m68_sysV_0	Motorola 68000 with Uniplus System V.0 Unix
 | 
						|
m68020		Motorola M68020 VME131 running Unix System V/68 R2V2.1
 | 
						|
sparc		SUN SPARC workstation running SunOs 4
 | 
						|
sparc_solaris	SUN SPARC workstation running solaris 2
 | 
						|
ANY		Neither of the above
 | 
						|
"
 | 
						|
echo $E_FLAG "system type: [$SYSNAME] $E_SFX"
 | 
						|
. $FDIR/get_answer
 | 
						|
case $ANS in
 | 
						|
'')	ANS="$SYSNAME";;
 | 
						|
esac
 | 
						|
SYSNAME="$ANS"
 | 
						|
 | 
						|
while :
 | 
						|
do
 | 
						|
echo $E_FLAG "Is this the system you are running on? (y/n) [$CURRENT] $E_SFX"
 | 
						|
. $FDIR/get_answer
 | 
						|
case $ANS in
 | 
						|
'')	ANS="$CURRENT";;
 | 
						|
esac
 | 
						|
case X$ANS in
 | 
						|
Xj*|Xy*|X)	UTIL_HOME=$TARGET_HOME
 | 
						|
	CURRENT=y
 | 
						|
	break
 | 
						|
	;;
 | 
						|
Xn*)	CURRENT=n
 | 
						|
	echo "You will now be asked for the root directory of ACK on the current machine.
 | 
						|
This tree will not be changed by the installation process.
 | 
						|
"
 | 
						|
	while :
 | 
						|
	do
 | 
						|
		echo $E_FLAG "Please give the root of a runnable ACK tree,
 | 
						|
an absolute path: [$UTIL_HOME] $E_SFX"
 | 
						|
		. $FDIR/get_answer
 | 
						|
		case $ANS in
 | 
						|
		'')	ANS="$UTIL_HOME" ;;
 | 
						|
		esac
 | 
						|
		UTIL_HOME="$ANS"
 | 
						|
		case $UTIL_HOME in
 | 
						|
		/*)	break;
 | 
						|
			;;
 | 
						|
		*)	echo "$UTIL_HOME is not an absolute path; try again"
 | 
						|
			;;
 | 
						|
		esac
 | 
						|
	done
 | 
						|
	break
 | 
						|
	;;
 | 
						|
*)	echo "I do not understand your answer ($ANS). Try again."
 | 
						|
	;;
 | 
						|
esac
 | 
						|
done
 | 
						|
 | 
						|
while :
 | 
						|
do
 | 
						|
echo "The system to install ACK for is $SYSNAME,
 | 
						|
the root of the ACK source tree is $SRC_HOME,
 | 
						|
the root of the configuration tree is $CONFIG,
 | 
						|
the root of the ACK binary tree to be created is $TARGET_HOME,
 | 
						|
and the root of a runnable ACK binary tree is $UTIL_HOME.
 | 
						|
If the machine to compile ACK for is the current machine, the last two names
 | 
						|
may be identical."
 | 
						|
echo $E_FLAG "Are you satisfied with all this? (y/n) $E_SFX"
 | 
						|
. $FDIR/get_answer
 | 
						|
case X$ANS in
 | 
						|
Xj*|Xy*|X)	break
 | 
						|
	;;
 | 
						|
Xn*)	echo Ok, I will give you another chance....
 | 
						|
	. $0
 | 
						|
	break
 | 
						|
	;;
 | 
						|
*)	echo "I do not understand your answer ($ANS). Try again."
 | 
						|
	;;
 | 
						|
esac
 | 
						|
done
 |