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: 1.1.1.1 $$Date: 1996-10-02 06:39:53 $" ) |
---|
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: 1.1.1.1 $$Date: 1996-10-02 06:39:53 $" ) |
---|
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 | |
---|