674 lines
		
	
	
	
		
			13 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			674 lines
		
	
	
	
		
			13 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
: check that the script is started from the "first" directory
 | 
						|
p=`pwd`
 | 
						|
case `basename $p` in
 | 
						|
first)
 | 
						|
	;;
 | 
						|
*)
 | 
						|
	echo "this script must be started from the 'first' directory"
 | 
						|
	exit 3
 | 
						|
	;;
 | 
						|
esac
 | 
						|
: check $PATH first
 | 
						|
if sh ckpath
 | 
						|
then
 | 
						|
	echo "PATH is ok"
 | 
						|
else
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
echo check write-ability of /tmp and /usr/tmp ...
 | 
						|
if ( >/usr/tmp/aaax.$$ )
 | 
						|
then
 | 
						|
	rm /usr/tmp/aaax.$$
 | 
						|
else
 | 
						|
	echo /usr/tmp must exist and be writable.
 | 
						|
	exit 2
 | 
						|
fi
 | 
						|
if ( >/tmp/aaax.$$ )
 | 
						|
then
 | 
						|
	rm /tmp/aaax.$$
 | 
						|
else
 | 
						|
	echo /tmp must exist and be writable.
 | 
						|
	exit 2
 | 
						|
fi
 | 
						|
echo "/tmp and /usr/tmp ok"
 | 
						|
echo setting ACK HOME Directory in ../h/em_path.h ...
 | 
						|
rm -f em_path.h
 | 
						|
HM=`cd ..; pwd`
 | 
						|
sed -e "/^#define[ 	]*EM_DIR/s@\".*\"@\"$HM\"@" <em_path.h.src >em_path.h
 | 
						|
if cmp ../h/em_path.h em_path.h >/dev/null 2>&1
 | 
						|
then
 | 
						|
	: Don't touch ../h/em_path.h, it's already correct
 | 
						|
	echo "../h/em_path.h already correct"
 | 
						|
else
 | 
						|
	rm -f ../h/em_path.h
 | 
						|
	if mv em_path.h ../h >/dev/null 2>&1
 | 
						|
	then	echo "../h/em_path.h replaced"
 | 
						|
	else
 | 
						|
		echo "Sorry, can't replace ../h/em_path.h"
 | 
						|
		exit 7
 | 
						|
	fi
 | 
						|
fi
 | 
						|
echo compile own echo program, so that we know how it works ...
 | 
						|
if cc -o echo myecho.c > /dev/null 2>&1
 | 
						|
then
 | 
						|
	echo compilation succeeded
 | 
						|
else
 | 
						|
	echo "Sorry, cc does not seem to work"
 | 
						|
	exit 8
 | 
						|
fi
 | 
						|
cp echo ../bin/echo
 | 
						|
: find cc option for lex library
 | 
						|
if fixlexlib
 | 
						|
then
 | 
						|
	:
 | 
						|
else
 | 
						|
	exit 9
 | 
						|
fi
 | 
						|
: remove non-system as and ld from descr files
 | 
						|
if (ack_sys) >/dev/null 2>&1
 | 
						|
then
 | 
						|
	: echo Your system is: `ack_sys`.
 | 
						|
else
 | 
						|
	echo -n "Give me the type of your system, the current choice is:
 | 
						|
pdp_v7		PDP11 with sep I/D and version 7 (or BSD 2.8, 2.9)
 | 
						|
vax_bsd4_1a	VAX11 with BSD4.1a
 | 
						|
vax_bsd4_2	VAX11 with BSD4.2
 | 
						|
vax_sysV_2	VAX11 with System V.2
 | 
						|
pc_ix		IBM PC with PC/IX
 | 
						|
xenix3		IBM AT running Microsoft Xenix V3.2
 | 
						|
i386		Intel 80386 system running Xenix System V
 | 
						|
m68_unisoft	Motorola 68000 with Unisoft UNIX
 | 
						|
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
 | 
						|
SMALL		Neither of the above, small address space
 | 
						|
ANY		Neither of the above
 | 
						|
 | 
						|
system type: "
 | 
						|
	if read SYSNAME
 | 
						|
	then
 | 
						|
		echo echo "$SYSNAME" >../bin/ack_sys
 | 
						|
		chmod +x ../bin/ack_sys
 | 
						|
		case `ack_sys` in
 | 
						|
		pdp_v7|vax_bsd4_1a|vax_bsd4_2|vax_sysV_2|pc_ix|m68_unisoft|sun3|sun2|m68_sysV_0|xenix3|i386|m68020) ;;
 | 
						|
		*)	echo None of the software especially intended for the named systems will work ;;
 | 
						|
		esac
 | 
						|
	else
 | 
						|
		echo Sorry, got EOF when reading system name.
 | 
						|
		exit 10
 | 
						|
	fi
 | 
						|
fi
 | 
						|
while :
 | 
						|
do
 | 
						|
echo -n "Your system is `ack_sys`, are you satisfied with that? (y/n) "
 | 
						|
if read YESNO
 | 
						|
then
 | 
						|
	case $YESNO in
 | 
						|
	j*|y*)	break
 | 
						|
		;;
 | 
						|
	n*)	echo Ok, I will give you another chance....
 | 
						|
		rm -f ../bin/ack_sys
 | 
						|
		exec sh $0
 | 
						|
		;;
 | 
						|
	*)	echo "I do not understand your answer ($YESNO). Try again."
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
else
 | 
						|
	echo Sorry, got EOF when reading your answer.
 | 
						|
	exit 12
 | 
						|
fi
 | 
						|
done
 | 
						|
: "Take action according to the system used"
 | 
						|
: 'Prevent the use of the system assembler on for certain systems'
 | 
						|
: 'prevent the use of ranlib on pdp 11s'
 | 
						|
cp ../lib/vax4/descr.src ../lib/vax4/descr
 | 
						|
cp ../lib/descr/fe.src ../lib/descr/fe
 | 
						|
echo "take some actions according to system used ..."
 | 
						|
case `ack_sys` in
 | 
						|
pdp_*)		RMD="vax4"
 | 
						|
		echo "disabling use of ranlib; cannot trust its result"
 | 
						|
		echo 'echo "no ranlib on this system"; exit 93' > ../bin/ranlib
 | 
						|
		chmod +x ../bin/ranlib
 | 
						|
		;;
 | 
						|
vax*)		;;
 | 
						|
*)		RMD="vax4" ;;
 | 
						|
esac
 | 
						|
for i in $RMD
 | 
						|
do
 | 
						|
(	cd ../lib/$i
 | 
						|
	echo "disabling use of local assembler and loader for $i"
 | 
						|
	if grep '^name as$' descr >/dev/null 2>&1
 | 
						|
	then
 | 
						|
ed - descr <<'ABC'
 | 
						|
/^name as$/;/^end$/d
 | 
						|
/^name ld$/;/^end$/d
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	fi
 | 
						|
)
 | 
						|
done
 | 
						|
case `ack_sys` in
 | 
						|
vax_bsd4_2)	( cd ../lib/vax4
 | 
						|
		  ed - descr <<'ABC'
 | 
						|
/CPP_F/s/$/ -D__BSD4_2/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
		)
 | 
						|
		;;
 | 
						|
vax_sysV_2)	( cd ../lib/vax4
 | 
						|
		  ed - descr <<'ABC'
 | 
						|
/CPP_F/s/$/ -D__USG/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
		)
 | 
						|
		;;
 | 
						|
esac
 | 
						|
echo 'Setting the default machine in ../h/local.h ...'
 | 
						|
BM=1
 | 
						|
case `ack_sys` in
 | 
						|
pdp_v7)		ACM=pdp ; BM=0 ; SYS=V7 ;;
 | 
						|
vax_bsd4_1a)    ACM=vax4 ; SYS=BSD4_1 ;;
 | 
						|
vax_bsd4_2)	ACM=vax4 ; SYS=BSD4_2 ;;
 | 
						|
vax_sysV_2)	ACM=vax4 ; SYS=SYS_5 ;;
 | 
						|
pc_ix)		ACM=i86 ; BM=0 ; SYS=SYS_5 ;;
 | 
						|
xenix3)		ACM=xenix3 ; BM=0; SYS=SYS_5 ;;
 | 
						|
i386)		ACM=i386 ; SYS=SYS_5 ;;
 | 
						|
sun3)		ACM=sun3 ; SYS=BSD4_2 ;;
 | 
						|
sun2)		ACM=sun2 ; SYS=BSD4_2 ;;
 | 
						|
m68_unisoft)	ACM=m68k2 ; SYS=V7 ;;
 | 
						|
m68_sysV_0)	ACM=mantra ; SYS=SYS_5 ;;
 | 
						|
m68020)		ACM=m68020 ; SYS=SYS_5 ;;
 | 
						|
SMALL)		ACM=i86 ; BM = 0 ; SYS=XXX ;;
 | 
						|
*)		ACM=m68k2 ; SYS=XXX ;;
 | 
						|
esac
 | 
						|
while :
 | 
						|
do
 | 
						|
case $SYS in
 | 
						|
V7|BSD4_1|BSD4_2|SYS_5)
 | 
						|
	break
 | 
						|
	;;
 | 
						|
*)
 | 
						|
	echo -n "What kind of Unix are you running?
 | 
						|
Choices:
 | 
						|
	V7	for Unix V7, BSD 2.*
 | 
						|
	BSD4_1	for Berkeley 4.1
 | 
						|
	BSD4_2	for Berkeley 4.2, 4.3, SunOS
 | 
						|
	SYS_5	for Xenix, System III, System V
 | 
						|
Your choice (V7|BSD4_1|BSD4_2|SYS_5): "
 | 
						|
	if read SYS
 | 
						|
	then
 | 
						|
		:
 | 
						|
	else
 | 
						|
		echo "Sorry, got EOF when reading your answer"
 | 
						|
		exit 12
 | 
						|
	fi
 | 
						|
	;;
 | 
						|
esac
 | 
						|
done
 | 
						|
rm -f local.h
 | 
						|
sed -e /ACKM/s/'".*"'/'"'$ACM'"'/ -e /BIGMACH/s/'[01]'/$BM/ -e /SYSTEM/s/'^#[ 	]*define[ 	]*[a-zA-Z_][a-zA-Z0-9_]*'/"#	define $SYS"/ < local.h.src >local.h
 | 
						|
if cmp -s ../h/local.h local.h
 | 
						|
then
 | 
						|
	echo "../h/local.h already correct"
 | 
						|
else
 | 
						|
	cp local.h ../h
 | 
						|
	echo "../h/local.h updated"
 | 
						|
	rm -f local.h
 | 
						|
fi
 | 
						|
echo "Your default machine to compile for is $ACM"
 | 
						|
case `ack_sys` in
 | 
						|
vax_bsd4_2)	
 | 
						|
	( cd ../mach/vax4
 | 
						|
	  echo "Copying mach/vax4/libbsd4_2 to mach/vax4/libsys"
 | 
						|
	  mkdir libsys > /dev/null 2>&1
 | 
						|
	  rm -f libsys/*
 | 
						|
	  cp libbsd4_2/* libsys
 | 
						|
	)
 | 
						|
	;;
 | 
						|
vax_bsd4_1a)	
 | 
						|
	( cd ../mach/vax4
 | 
						|
	  echo "Copying mach/vax4/libbsd4_1a to mach/vax4/libsys"
 | 
						|
	  mkdir libsys > /dev/null 2>&1
 | 
						|
	  rm -f libsys/*
 | 
						|
	  cp libbsd4_1a/* libsys
 | 
						|
	)
 | 
						|
	;;
 | 
						|
vax_sysV_2)
 | 
						|
	( cd ../mach/vax4 
 | 
						|
	  echo "Copying mach/vax4/libsysV_2 to mach/vax4/libsys"
 | 
						|
	  mkdir libsys > /dev/null 2>&1
 | 
						|
	  rm -f libsys/*
 | 
						|
	  cp libsysV_2/* libsys
 | 
						|
	)
 | 
						|
	;;
 | 
						|
i386)
 | 
						|
	( cd ../lib/descr
 | 
						|
	  ed - fe << ABC
 | 
						|
1,$s/-D{NAME}/-D{NAME} -DNO_PROTOTYPE/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	)
 | 
						|
	;;
 | 
						|
xenix3)
 | 
						|
	echo "Xenix cannot handle our Makefiles; install our own make ..."
 | 
						|
	if ( cd ../util/make; make install )
 | 
						|
	then
 | 
						|
		echo "Done"
 | 
						|
	else
 | 
						|
		echo "Sorry, this seems to have failed."
 | 
						|
		echo "You have to install it by hand later, or use the Xenix"
 | 
						|
		echo "make anyway"
 | 
						|
	fi
 | 
						|
	echo "The Xenix C compiler cannot compile some of our programs."
 | 
						|
	echo "It complains about lack of heap space when many #defines are"
 | 
						|
	echo 'used. This is prevented by installing a "cc" shell script in'
 | 
						|
	echo 'the EM bin directory, which runs a .c file through a preprocessor'
 | 
						|
	echo 'before running it through the C compiler proper. Unfortunately,'
 | 
						|
	echo 'line number and filename information is lost. The compiler does'
 | 
						|
	echo 'not recognize its own line directives.'
 | 
						|
	echo 'You can remove this "cc" script from the EM bin directory'
 | 
						|
	echo 'when installation is done.'
 | 
						|
	cp cc.xenix.src cc.xenix
 | 
						|
	ed - cc.xenix <<ABC
 | 
						|
/EMHOME/s/=.*/=$HM/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	cp cc.xenix ../bin/cc
 | 
						|
	chmod +x ../bin/cc
 | 
						|
	echo "code-generators and peephole optimizer need more stack than the default."
 | 
						|
	echo "adapting LDFLAGS in Makefiles"
 | 
						|
	for i in ../mach/*/*cg
 | 
						|
	do
 | 
						|
		cp $i/Makefile $i/makefile
 | 
						|
		ed - $i/makefile <<ABC
 | 
						|
/LDFLAGS/s/$/ -F 3000/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	done
 | 
						|
	cp ../util/opt/Makefile ../util/opt/makefile
 | 
						|
	ed - ../util/opt/makefile <<ABC
 | 
						|
/LDFLAGS/s/$/-F 2000/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	echo "target optimizers do not work on Xenix; disabling their use"
 | 
						|
	for i in ../lib/*/descr
 | 
						|
	do
 | 
						|
		if grep "name asopt" $i > /dev/null 2>&1
 | 
						|
		then
 | 
						|
			if test -f $i.top
 | 
						|
			then
 | 
						|
				:
 | 
						|
			else
 | 
						|
				mv $i $i.top
 | 
						|
			fi
 | 
						|
			cp $i.top $i
 | 
						|
			ed - $i <<ABC
 | 
						|
/name asopt/;/^end/d
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
		fi
 | 
						|
	done
 | 
						|
	echo "the -l option in cc command puts library in wrong place."
 | 
						|
	echo "this is a problem with the lex library for the occam compiler."
 | 
						|
	echo "changing Makefile for Occam compiler"
 | 
						|
	cp ../lang/occam/comp/Makefile ../lang/occam/comp/makefile
 | 
						|
	ed - ../lang/occam/comp/makefile <<ABC
 | 
						|
/LEXLIB/s;-l.*;/lib/Slibl.a;
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	;;
 | 
						|
esac
 | 
						|
case X$BM in
 | 
						|
X0)
 | 
						|
	echo "set some installation pararmeters for small machines"
 | 
						|
	( cd ../lang/cem/cemcom
 | 
						|
	  cp SmallPars Parameters
 | 
						|
	  cp Makefile makefile
 | 
						|
	  ed - makefile <<ABC
 | 
						|
/MALLOC/s/=/=#/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	  cd ../../../util/cpp
 | 
						|
	  cp Makefile makefile
 | 
						|
	  ed - makefile <<ABC
 | 
						|
/MALLOC/s/=/=#/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	  cd ../../lib/descr
 | 
						|
	  ed - fe << ABC
 | 
						|
/em_cemcom/i
 | 
						|
	prep always
 | 
						|
.
 | 
						|
/CPP_F/;.+2d
 | 
						|
/CPP_F/;.+2d
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	)
 | 
						|
	for i in ../mach/vax4/cg ../mach/m68k2/cg ../mach/m68020/ncg
 | 
						|
	do
 | 
						|
	( cd $i
 | 
						|
	  cp tables1.c tables.c
 | 
						|
	  cp tables1.h tables.h
 | 
						|
	)
 | 
						|
	done
 | 
						|
	( cd ../modules/src/malloc
 | 
						|
	  if test -f param.h.orig
 | 
						|
	  then
 | 
						|
		:
 | 
						|
	  else
 | 
						|
	  	mv param.h param.h.orig
 | 
						|
	  fi
 | 
						|
	  cp param.h.orig param.h
 | 
						|
	  ed - param.h <<ABC
 | 
						|
/STORE/s/define/undef/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	)
 | 
						|
	( cd ../lang/m2/comp
 | 
						|
	  cp SmallPars Parameters
 | 
						|
	  cp Makefile makefile
 | 
						|
	  ed - makefile <<ABC
 | 
						|
/MALLOC/s/=/=#/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	)
 | 
						|
	( cd ../mach
 | 
						|
	  : machines with word or pointer size not 2
 | 
						|
	  for i in em24 em44 m68020 m68k2 m68k4 mantra ns sun2 sun3 vax4 i386
 | 
						|
	  do
 | 
						|
	  if test -f $i/Action.orig
 | 
						|
	  then
 | 
						|
		:
 | 
						|
	  else
 | 
						|
		mv $i/Action $i/Action.orig
 | 
						|
	  fi
 | 
						|
	  cp $i/Action.orig $i/Action
 | 
						|
	  ed - $i/Action <<ABC
 | 
						|
/odula-2/;/^end/s/^/!/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	  done
 | 
						|
	)
 | 
						|
	( cd ..
 | 
						|
	  if test -f Action.orig
 | 
						|
	  then
 | 
						|
		:
 | 
						|
	  else
 | 
						|
		mv Action Action.orig
 | 
						|
	  fi
 | 
						|
	  cp Action.orig Action
 | 
						|
	  ed - Action <<ABC
 | 
						|
/Peephole optimizer libraries/;/^end/s/^/!/
 | 
						|
/Bootstrap for code expanders/;/^end/s/^/!/
 | 
						|
/EM interpreter in C/;/^end/s/^/!/
 | 
						|
w
 | 
						|
q
 | 
						|
ABC
 | 
						|
	)
 | 
						|
	;;
 | 
						|
*)	( echo "set some installation pararmeters for big machines"
 | 
						|
	  cd ../lang/cem/cemcom
 | 
						|
	  cp BigPars Parameters
 | 
						|
	  cd ../../m2/comp
 | 
						|
	  cp BigPars Parameters
 | 
						|
	)
 | 
						|
	;;
 | 
						|
esac
 | 
						|
 | 
						|
: find varargs include file
 | 
						|
: if not present use our own
 | 
						|
 | 
						|
if test -f /usr/include/varargs.h
 | 
						|
then
 | 
						|
	:
 | 
						|
else
 | 
						|
	cp ../include/_tail_cc/varargs.h ../modules/h
 | 
						|
fi
 | 
						|
DISABLE_LANG=
 | 
						|
echo "Installation of the complete ACK takes a long time. Limiting the
 | 
						|
number of languages, runtime libraries, back-ends, and assemblers to be
 | 
						|
installed may save a lot of time. If you want to install everything,
 | 
						|
answer no to the next question. Otherwise, answer yes, and you will be
 | 
						|
prompted for details"
 | 
						|
while :
 | 
						|
do
 | 
						|
	echo -n "Do you want to limit the installation in any way? (y/n) "
 | 
						|
	if read YESNO
 | 
						|
	then
 | 
						|
		:
 | 
						|
	else
 | 
						|
		echo "Sorry, got EOF when reading your answer"
 | 
						|
		exit 12
 | 
						|
	fi
 | 
						|
	case X$YESNO in
 | 
						|
	Xj*|Xy*)
 | 
						|
		break
 | 
						|
		;;
 | 
						|
	Xn*)	exit 0
 | 
						|
		;;
 | 
						|
	*)	echo "I do not understand your answer ($YESNO). Try again."
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
done
 | 
						|
for i in Modula-2 Pascal Occam Basic
 | 
						|
do
 | 
						|
    while :
 | 
						|
    do
 | 
						|
	echo -n "Do you want to install $i? (y/n) "
 | 
						|
	if read YESNO
 | 
						|
	then
 | 
						|
		:
 | 
						|
	else
 | 
						|
		echo "Sorry, got EOF when reading your answer"
 | 
						|
		exit 12
 | 
						|
	fi
 | 
						|
	case X$YESNO in
 | 
						|
	Xj*|Xy*|X)
 | 
						|
		break
 | 
						|
		;;
 | 
						|
	Xn*)	DISABLE_LANG=$DISABLE_LANG" $i"
 | 
						|
		break
 | 
						|
		;;
 | 
						|
	*)	echo "I do not understand your answer ($YESNO). Try again."
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
    done
 | 
						|
done
 | 
						|
DISABLE_SUP=
 | 
						|
set i86 xenix3 minix i386 6500 6800 6805 6809 i80 em22 em24 em44 m68k2 pmds minixST m68k4 pmds4 sun2 mantra m68020 sun3 ns pdp s2650 vax4 z80 z8000
 | 
						|
while test $# != 0
 | 
						|
do
 | 
						|
    while :
 | 
						|
    do
 | 
						|
	case $1 in
 | 
						|
	i86)	echo "not installing i86 will disable installation of xenix3 and minix."
 | 
						|
		;;
 | 
						|
	m68k2)	echo "not installing m68k2 will disable installation of pmds, minixST,
 | 
						|
m68k4, pmds4, sun2, and mantra."
 | 
						|
		;;
 | 
						|
	m68k4)	echo "not installing m68k4 will disable installation of pmds4, sun2, and mantra."
 | 
						|
		;;
 | 
						|
	m68020)	echo "not installing m68020 will disable installation of sun3."
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
	echo -n "Do you want to install the $1 support? (y/n) "
 | 
						|
	if read YESNO
 | 
						|
	then
 | 
						|
		:
 | 
						|
	else
 | 
						|
		echo "Sorry, got EOF when reading your answer"
 | 
						|
		exit 12
 | 
						|
	fi
 | 
						|
	case X$YESNO in
 | 
						|
	Xj*|Xy*|X)
 | 
						|
		break
 | 
						|
		;;
 | 
						|
	Xn*)	DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
		case $1 in
 | 
						|
		i86)
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			;;
 | 
						|
		m68k2)
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			;;
 | 
						|
		m68k4)
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			;;
 | 
						|
		m68020)
 | 
						|
			shift
 | 
						|
			DISABLE_SUP=$DISABLE_SUP" $1"
 | 
						|
			;;
 | 
						|
		esac
 | 
						|
		break
 | 
						|
		;;
 | 
						|
	*)	echo "I do not understand your answer ($YESNO). Try again."
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
    done
 | 
						|
    shift
 | 
						|
done
 | 
						|
for i in $DISABLE_LANG
 | 
						|
do
 | 
						|
	echo "disabling installation of $i"
 | 
						|
	if test -f ../Action.orig
 | 
						|
	then
 | 
						|
		:
 | 
						|
	else
 | 
						|
		mv ../Action ../Action.orig
 | 
						|
		cp ../Action.orig ../Action
 | 
						|
	fi
 | 
						|
	ed - ../Action <<EOF
 | 
						|
/^name "$i/;/^end/s/^/!/
 | 
						|
w
 | 
						|
q
 | 
						|
EOF
 | 
						|
	case $i in
 | 
						|
	Modula-2)
 | 
						|
		ed - ../Action <<EOF
 | 
						|
/^name "$i definition/;/^end/s/^/!/
 | 
						|
/^name "$i makefile/;/^end/s/^/!/
 | 
						|
w
 | 
						|
q
 | 
						|
EOF
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
	case $i in
 | 
						|
	Modula-2)
 | 
						|
		lib=libm2
 | 
						|
		;;
 | 
						|
	Pascal)
 | 
						|
		lib=libpc
 | 
						|
		;;
 | 
						|
	Basic)
 | 
						|
		lib=libbc
 | 
						|
		;;
 | 
						|
	Occam)
 | 
						|
		lib=liboc
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
	( cd ../mach
 | 
						|
	  for j in */$lib
 | 
						|
	  do
 | 
						|
	    ( cd $j/..
 | 
						|
	      if test -f Action.orig
 | 
						|
	      then
 | 
						|
		:
 | 
						|
	      else
 | 
						|
		mv Action Action.orig
 | 
						|
		cp Action.orig Action
 | 
						|
	      fi
 | 
						|
	      ed - Action <<EOF
 | 
						|
/^name.*$i/;/^end/s/^/!/
 | 
						|
w
 | 
						|
q
 | 
						|
EOF
 | 
						|
	    )
 | 
						|
	  done
 | 
						|
	)
 | 
						|
done
 | 
						|
DISABLE_INT=0
 | 
						|
for i in $DISABLE_SUP
 | 
						|
do
 | 
						|
	echo "disabling installation of $i"
 | 
						|
	if test -f ../Action.orig
 | 
						|
	then
 | 
						|
		:
 | 
						|
	else
 | 
						|
		mv ../Action ../Action.orig
 | 
						|
		cp ../Action.orig ../Action
 | 
						|
	fi
 | 
						|
	ed - ../Action <<EOF
 | 
						|
/^dir .*$i\$/;?^name?;/^end/s/^/!/
 | 
						|
w
 | 
						|
q
 | 
						|
EOF
 | 
						|
	case $i in
 | 
						|
	m68k2|m68k4)
 | 
						|
		DISABLE_INT=1
 | 
						|
		;;
 | 
						|
	mantra)
 | 
						|
		if test $SYSNAME = m68_sysV_0
 | 
						|
		then
 | 
						|
			DISABLE_INT=1
 | 
						|
		fi
 | 
						|
		;;
 | 
						|
	sun2)
 | 
						|
		case $SYSNAME in
 | 
						|
		sun2|sun3)
 | 
						|
			DISABLE_INT=1
 | 
						|
			;;
 | 
						|
		esac
 | 
						|
		;;
 | 
						|
	pmds4)
 | 
						|
		case $SYSNAME in
 | 
						|
		pmds*)
 | 
						|
			DISABLE_INT=1
 | 
						|
			;;
 | 
						|
		esac
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
done
 | 
						|
if test $DISABLE_INT = 1
 | 
						|
then
 | 
						|
	ed - ../Action <<EOF
 | 
						|
/68000 interpreters/;/^end/s/^/!/
 | 
						|
w
 | 
						|
q
 | 
						|
EOF
 | 
						|
fi
 | 
						|
exit 0
 |