Commit | Line | Data |
bf10efe7 |
1 | From: lreed@ncratl.AtlantaGA.NCR.COM (Len Reed) |
2 | Newsgroups: comp.lang.perl |
3 | Subject: Fixes for Perl 4.019 on NCR Tower V.3 |
4 | Date: 17 Feb 92 16:41:30 GMT |
5 | Organization: Holos Software, Inc. |
6 | |
7 | Here are the fixes needed to make perl 4.019 on the NCR Tower V.3 system. |
8 | I have bundled this as a shar file: feed everything below the CUT line |
9 | to /bin/sh. |
10 | |
11 | The file hints/ncr_tower.sh fixes several problems. It replaces the |
12 | standard copy thereof. Note that I use perl's malloc. Note also |
13 | that I have turned the optimizer completely off (-O0). Optimizing |
14 | at -O1 or -O2 produces some errors that the test suite doesn't catch. |
15 | (Problems with alloca() and setjmp/longjmp, I think.) It should be |
16 | possible to optimize some modules but I haven't experimented with this. |
17 | |
18 | [NOTE: this hints file is already installed--lwall] |
19 | |
20 | I'm don't know if mkdir(2) works: I've left it undef'ed. It is certainly |
21 | broken in V.2. If you need fast mkdir's you may want to experiment with |
22 | this. |
23 | |
24 | The file patch.twg fixes a stupidity in /usr/netinclude/sys/time.h. |
25 | You'll need this if you have WIN-TCP; you can't use it if you don't |
26 | have WIN-TCP. If needed, apply this patch *before* running Configure. |
27 | |
28 | Make sure you tell Configure that any config.sh it finds is to be ignored. |
29 | |
30 | After running Configure and make depend, edit config.h so that |
31 | the CPPSTDIN definition has DEFAULT_CPP=/dev/null prepended. It should |
32 | look this this: |
33 | |
34 | #define CPPSTDIN "DEFAULT_CPP=/dev/null cc -E" |
35 | |
36 | This must be done by hand after running "make depend" and before running |
37 | make. I was unable to encode this into the hints file. |
38 | |
39 | This resulting perl should pass all tests. |
40 | |
41 | -Len Reed |
42 | Holos Software, Inc. |
43 | holos0!lbr@gatech.edu (my main account) |
44 | lreed@ncratl.atlantaga.ncr.com (this account--on a customer's machine) |
45 | |
46 | -----CUT HERE---- |
47 | #!/bin/sh |
48 | # This is a shell archive (shar 3.32) |
49 | # made 02/17/1992 16:36 UTC by lreed@ncratl |
50 | # Source directory /usr/acct/lreed/,q |
51 | # |
52 | # existing files WILL be overwritten |
53 | # |
54 | # This shar contains: |
55 | # length mode name |
56 | # ------ ---------- ------------------------------------------ |
57 | # 1593 -rw-rw-rw- patch.twg |
58 | # 176 -rw-r--r-- hints/ncr_tower.sh |
59 | # |
60 | if touch 2>&1 | fgrep 'amc' > /dev/null |
61 | then TOUCH=touch |
62 | else TOUCH=true |
63 | fi |
64 | # ============= patch.twg ============== |
65 | echo "x - extracting patch.twg (Text)" |
66 | sed 's/^X//' << 'SHAR_EOF' > patch.twg && |
67 | XThe following patch fixes /usr/netinclude/sys/time.h on the Tower V.3. |
68 | XPulling in <sys/time.h> with -I/usr/inetinclude makes a mess unless |
69 | Xthe <sys/twg_config.h> file is pulled in, too. It's stupid that an |
70 | Xapplication (e.g., perl) should have to do this. Thus, I fixed |
71 | Xthe system header file. The alternative is to make each application |
72 | Xget the header file itself. (The #if allows the application to do |
73 | Xit, though, for compatibility with existing applications.) |
74 | X |
75 | XTo apply this patch, chdir to /usr/netinclude/sys and run |
76 | X patch <this_file |
77 | X |
78 | XIf the patch fails, fix the file by hand. All I've done is put |
79 | X#ifndef HDEF |
80 | X /* Len Reed 5/6/91 -- pulling in <sys/time.h> shouldn't cause |
81 | X HDEF to blow up the compile--auto pull in its defining file. |
82 | X */ |
83 | X# include <sys/twg_config.h> |
84 | X#endif |
85 | X |
86 | Xbefore HDEF is used. |
87 | X |
88 | X-----The patch starts below this line |
89 | X |
90 | X*** time.h.old Fri Feb 14 12:06:46 1992 |
91 | X--- time.h Fri Feb 14 12:04:32 1992 |
92 | X*************** |
93 | X*** 4,12 **** |
94 | X /* time.h 6.1 83/07/29 */ |
95 | X /* " @(#)time.h (TWG) 2.2 88/05/17 " */ |
96 | X |
97 | X! /* |
98 | X HDEF( "@(#)$RCSfile: README.ncr,v $$Revision: 4.0.1.1 $$Date: 92/06/08 11:41:41 $" ) |
99 | X- */ |
100 | X |
101 | X /* |
102 | X * Structure returned by gettimeofday(2) system call, |
103 | X--- 4,17 ---- |
104 | X /* time.h 6.1 83/07/29 */ |
105 | X /* " @(#)time.h (TWG) 2.2 88/05/17 " */ |
106 | X |
107 | X! #ifndef HDEF |
108 | X! /* Len Reed 5/6/91 -- pulling in <sys/time.h> shouldn't cause |
109 | X! HDEF to blow up the compile--auto pull in its defining file. |
110 | X! */ |
111 | X! # include <sys/twg_config.h> |
112 | X! #endif |
113 | X! |
114 | X HDEF( "@(#)$RCSfile: README.ncr,v $$Revision: 4.0.1.1 $$Date: 92/06/08 11:41:41 $" ) |
115 | X |
116 | X /* |
117 | X * Structure returned by gettimeofday(2) system call, |
118 | SHAR_EOF |
119 | $TOUCH -am 0217113592 patch.twg && |
120 | chmod 0666 patch.twg || |
121 | echo "restore of patch.twg failed" |
122 | set `wc -c patch.twg`;Wc_c=$1 |
123 | if test "$Wc_c" != "1593"; then |
124 | echo original size 1593, current size $Wc_c |
125 | fi |
126 | # ============= hints/ncr_tower.sh ============== |
127 | if test ! -d 'hints'; then |
128 | echo "x - creating directory hints" |
129 | mkdir 'hints' |
130 | fi |
131 | echo "x - extracting hints/ncr_tower.sh (Text)" |
132 | sed 's/^X//' << 'SHAR_EOF' > hints/ncr_tower.sh && |
133 | Xoptimize='-O0' |
134 | Xccflags="$ccflags -W2,-Sl,2000" |
135 | Xeval_cflags='large="-W0,-XL"' |
136 | Xteval_cflags=$eval_cflags |
137 | Xd_mkdir=$undef |
138 | Xusemymalloc='y' |
139 | Xmallocsrc='malloc.c' |
140 | Xmallocobj='malloc.o' |
141 | SHAR_EOF |
142 | $TOUCH -am 0214073692 hints/ncr_tower.sh && |
143 | chmod 0644 hints/ncr_tower.sh || |
144 | echo "restore of hints/ncr_tower.sh failed" |
145 | set `wc -c hints/ncr_tower.sh`;Wc_c=$1 |
146 | if test "$Wc_c" != "176"; then |
147 | echo original size 176, current size $Wc_c |
148 | fi |
149 | exit 0 |
150 | |
151 | |