BSD 4_3_Tahoe development
[unix-history] / usr / src / ucb / lisp / lispconf
#! /bin/csh
#$Header: lispconf,v 1.18 87/12/11 16:41:21 sklower Exp $
#
# csh script to configure lisp
# use:
# lispconf type
# where type is one of
# vax_4_1 vax_4_1a vax_4_1c vax_eunice_vms
# tahoe_4_3
# sun_4_1c sun_unisoft dual_unisoft pixel_unisoft lisa_uniplus3
# sun_4_2 sun_4_2beta mc500_2_0
#
if ($#argv == 1) then
set argument = $argv[1]
else
set argument = junk
endif
#fix makefile
sed "s%^RootDir = .*%RootDir = `pwd`%" Makefile > Make$$
mv Make$$ Makefile < /dev/null
switch ($argument)
case vax_eunice_vms:
mv franz/vax/{Makefile,Make.unix}
mv franz/vax/{Make.vms,Makefile}
case vax_4_1:
case vax_4_1a:
case vax_4_1c:
case vax_4_2:
case vax_4_3:
case sun_4_1c:
case sun_4_2:
case sun_4_2beta:
case mc500_2_0:
case tahoe_4_3:
case sun_unisoft:
case dual_unisoft:
case pixel_unisoft:
case lisa_unisys3:
echo "/* this file created by ../../lispconf */" >! franz/h/lconf.h
echo "#define $argv[1] 1" >>! franz/h/lconf.h
rm -f franz/h/{aout,lispo}.h
cp /usr/include/a.out.h franz/h/aout.h
cp /usr/include/a.out.h franz/h/lispo.h
breaksw
default:
echo "use: lispconf type"
echo " where type is one of "
echo " vax_4_1 vax_4_1a vax_4_1c vax_4_2 vax_4_3"
echo " vax_eunice_vms tahoe_4_3"
echo " sun_4_1c sun_unisoft dual_unisoft pixel_unisoft "
echo " sun_4_2beta lisa_unisys3 mc500_2_0"
exit 1
endsw
set ifusft=""
set ifsys3=""
switch ($argument)
case vax_*:
set VAX mach="vax"
(echo vax ucbstd; cat Makefile) | awk -f cvt.awk > Make$$
mv Make$$ Makefile < /dev/null
breaksw
case tahoe_*:
set TAHOE mach="tahoe"
(echo tahoe ucbstd; cat Makefile) | awk -f cvt.awk >Make$$
mv Make$$ Makefile </dev/null
breaksw
case *_unisys3:
set ifsys3="unisys3botch"
case *_unisoft:
set ifusft="unisoft"
case sun_4_*:
case mc500_2_*:
set M68K mach="68k"
(echo 68k ucbstd $ifusft; cat Makefile)| awk -f cvt.awk>Make$$
mv Make$$ Makefile < /dev/null
breaksw
endsw
# for the 68k version of the lisp compiler
# The type of makefile built depends of the type of 68k
# system you have. We assume that sun's and mc500's have virtual
# memory and that dual/unisoft's have no vm (thus, define swapper).
# As long as we are checking to see if we are dealing with
# a 68000 unisoft machine; make some patches to the C part as well.
set ifsunII=""
if ($?M68K) then
switch ($argument)
case *_unisys3:
case *_unisoft:
(echo swapper unisoft;\
cat liszt/68k/Makefile) |awk -f cvt.awk > Make$$
(echo unisoft $ifsys3;\
cat franz/68k/Makefile) |awk -f cvt.awk > franz/68k/Make$$
rm -f franz/h/{lispo,aout}.h
cp franz/h/duallispo.h franz/h/lispo.h
cp franz/h/dualaout.h franz/h/aout.h
cp franz/h/hpagsiz.h franz/h/pagsiz.h
cp lisplib/autorun/unisoft lisplib/autorun/68k
breaksw
case sun_4_2beta:
case sun_4_2:
set ifsunII=sunII
case sun_4_1c:
(echo sun; cat liszt/68k/Makefile) | awk -f cvt.awk > Make$$
(echo sun $ifsunII; cat franz/68k/Makefile)\
| awk -f cvt.awk > franz/68k/Make$$
cp lisplib/autorun/sun4.2 lisplib/autorun/68k
breaksw
case mc500_2_*:
(echo mc500; cat liszt/68k/Makefile) | awk -f cvt.awk > Make$$
(echo mc500; cat franz/68k/Makefile)\
| awk -f cvt.awk > franz/68k/Make$$
cp lisplib/autorun/mc500 lisplib/autorun/68k
breaksw
endsw
rm -f liszt/68k/Makefile
sed "s%^RootDir = .*%RootDir = `pwd`%" Make$$ > liszt/68k/Makefile
rm -f Make$$
rm -f franz/68k/Makefile
mv franz/68k/Make$$ franz/68k/Makefile
if ($ifusft/x == unisoft/x) then
switch ($argument)
case sun_unisoft:
set OFFSET=0x40000
breaksw
case dual_unisoft:
set OFFSET=0x800000
breaksw
case pixel_unisoft:
case lisa_unisys3:
set OFFSET=0x20000
breaksw
endsw
sed "s%^OFFSET = .*%OFFSET = $OFFSET%"\
lisplib/autorun/68k > temp$$
mv temp$$ lisplib/autorun/68k </dev/null
endif
endif