perl 5.0 alpha 3
[perl.git] / README.ncr
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.1 $$Date: 92/08/07 17:18:12 $" )
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.1 $$Date: 92/08/07 17:18:12 $" )
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