This repository has been archived by the owner on Oct 27, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathlispconf
executable file
·142 lines (137 loc) · 3.75 KB
/
lispconf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#! /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