home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume16 / dist2 / patch2 < prev    next >
Text File  |  1988-10-16  |  47KB  |  1,717 lines

  1. Subject:  v16i042:  Larry Wall's Configure generator, etc., Patch2
  2. Newsgroups: comp.sources.unix
  3. Sender: sources
  4. Approved: rsalz@uunet.UU.NET
  5.  
  6. Submitted-by: Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>
  7. Posting-number: Volume 16, Issue 42
  8. Archive-name: dist2/patch2
  9.  
  10. [  This is the second of two patches; that's all there's been, so far.  --r$  ]
  11.  
  12. [The latest patch for dist version 2.0 is #1.]
  13.  
  14. System: dist version 2.0
  15. Patch #: 2
  16. Subject: patch 1 continued
  17.  
  18. Description:
  19.     See patch 1.
  20.  
  21. Fix:    From rn, say "| patch -p -N -d DIR", where DIR is your dist source
  22.     directory.  Outside of rn, say "cd DIR; patch -p -N <thisarticle".
  23.     If you don't have the patch program, apply the following by hand,
  24.     or get patch (version 2.0, latest patchlevel).
  25.  
  26.     After patching:
  27.         Configure -d
  28.         make
  29.         make install
  30.  
  31.     If patch indicates that patchlevel is the wrong version, you may need
  32.     to apply one or more previous patches, or the patch may already
  33.     have been applied.  See the patchlevel.h file to find out what has or
  34.     has not been applied.  In any event, don't continue with the patch.
  35.  
  36.     If you are missing previous patches they can be obtained from me:
  37.  
  38.     Larry Wall
  39.     lwall@jpl-devvax.Jpl.Nasa.Gov
  40.  
  41.     If you send a mail message of the following form it will greatly speed
  42.     processing:
  43.  
  44.     Subject: Command
  45.     @SH mailpatch PATH dist 2.0 LIST
  46.            ^ note the c
  47.  
  48.     where PATH is a return path FROM ME TO YOU either in Internet notation,
  49.     or in bang notation from some well-known host, and LIST is the number
  50.     of one or more patches you need, separated by spaces, commas, and/or
  51.     hyphens.  Saying 35- says everything from 35 to the end.
  52.  
  53.  
  54.     You can also get the patches via anonymous FTP from
  55.     jpl-devvax.Jpl.Nasa.Gov.  (128.149.8.43)
  56.  
  57. Index: patchlevel.h
  58. Prereq: 1
  59. 1c1
  60. < #define PATCHLEVEL 1
  61. ---
  62. > #define PATCHLEVEL 2
  63.  
  64. Index: mcon/U/d_sigvec.U
  65. *** mcon/U/d_sigvec.U.old    Fri Aug  5 00:54:56 1988
  66. --- mcon/U/d_sigvec.U    Fri Aug  5 00:54:58 1988
  67. ***************
  68. *** 0 ****
  69. --- 1,49 ----
  70. + ?RCS: $Header: d_sigvec.U,v 2.0.1.1 88/08/05 00:48:08 lwall Exp $
  71. + ?X: d_sigvec.U, from d_ftime.U 1.0
  72. + ?X:
  73. + ?RCS: $Log:    d_sigvec.U,v $
  74. + ?RCS: Revision 2.0.1.1  88/08/05  00:48:08  lwall
  75. + ?RCS: patch1: created
  76. + ?RCS: 
  77. + ?MAKE:d_sigvec d_sigvectr: contains libc
  78. + ?MAKE:    -pick add $@ %*
  79. + ?S:d_sigvec:
  80. + ?S:    This variable conditionally defines the SIGVEC symbol, which indicates
  81. + ?S:    that BSD reliable signals are supported.
  82. + ?S:.
  83. + ?S:d_sigvectr:
  84. + ?S:    This variable conditionally defines the SIGVECTOR symbol, which
  85. + ?S:    indicates that the sigvec() routine is called sigvector() instead, for
  86. + ?S:    reasons known only to Hewlett-Packard.
  87. + ?S:.
  88. + ?C:SIGVEC:
  89. + ?C:    This symbol, if defined, indicates that BSD reliable signals are
  90. + ?C:    supported.
  91. + ?C:.
  92. + ?C:SIGVECTOR:
  93. + ?C:    This symbol, if defined, indicates that the sigvec() routine is called
  94. + ?C:    sigvector() instead, and that sigspace() is provided instead of
  95. + ?C:    sigstack().  This is probably only true for HP-UX.
  96. + ?C:.
  97. + ?H:?%1:#$d_sigvec    SIGVEC        /**/
  98. + ?H:?%1:
  99. + ?H:?%1:#$d_sigvectr    SIGVECTOR    /**/
  100. + ?H:?%1:
  101. + : see if sigvector exists -- since sigvec will match the substring
  102. + echo " "
  103. + if $contains sigvector libc.list >/dev/null 2>&1; then
  104. +     echo 'sigvector() found--you must be running HP-UX.'
  105. +     d_sigvectr="$define"
  106. +     d_sigvec="$define"
  107. + else
  108. + : try the original name
  109. +     d_sigvectr="$undef"
  110. +     if $contains sigvec libc.list >/dev/null 2>&1; then
  111. +     echo 'sigvec() found.'
  112. +     d_sigvec="$define"
  113. +     else
  114. +     echo 'sigvec() not found--race conditions with signals may occur.'
  115. +     d_sigvec="$undef"
  116. +     fi
  117. + fi
  118.  
  119. Index: mcon/U/d_socket.U
  120. *** mcon/U/d_socket.U.old    Fri Aug  5 00:55:01 1988
  121. --- mcon/U/d_socket.U    Fri Aug  5 00:55:02 1988
  122. ***************
  123. *** 0 ****
  124. --- 1,88 ----
  125. + ?RCS: $Header: d_socket.U,v 2.0.1.1 88/08/05 00:48:30 lwall Exp $
  126. + ?X: d_socket.U, from d_ftime.U 1.0
  127. + ?X:
  128. + ?RCS: $Log:    d_socket.U,v $
  129. + ?RCS: Revision 2.0.1.1  88/08/05  00:48:30  lwall
  130. + ?RCS: patch1: created
  131. + ?RCS: 
  132. + ?RCS: 
  133. + ?MAKE:d_socket d_oldsock socketlib sockethdr: contains libc
  134. + ?MAKE:    -pick add $@ %*
  135. + ?S:d_socket:
  136. + ?S:    This variable conditionally defines the SOCKET symbol, which indicates
  137. + ?S:    that the BSD socket interface is supported.
  138. + ?S:.
  139. + ?S:d_oldsock:
  140. + ?S:    This variable conditionally defines the OLDSOCKET symbol, which
  141. + ?S:    indicates that the BSD socket interface is based on 4.1c and not 4.2.
  142. + ?S:.
  143. + ?S:socketlib:
  144. + ?S:    This variable has the names of any libraries needed for socket support.
  145. + ?S:.
  146. + ?S:sockethdr:
  147. + ?S:    This variable has any cpp -I flags needed for socket support.
  148. + ?S:.
  149. + ?C:SOCKET:
  150. + ?C:    This symbol, if defined, indicates that the BSD socket interface is
  151. + ?C:    supported.
  152. + ?C:.
  153. + ?C:OLDSOCKET:
  154. + ?C:    This symbol, if defined, indicates that the 4.1c BSD socket interface
  155. + ?C:    is supported instead of the 4.2/4.3 BSD socket interface.
  156. + ?C:.
  157. + ?H:?%1:#$d_socket    SOCKET        /**/
  158. + ?H:?%1:
  159. + ?H:?%1:#$d_oldsock    OLDSOCKET    /**/
  160. + ?H:?%1:
  161. + socketlib=''
  162. + sockethdr=''
  163. + : see whether socket exists
  164. + echo " "
  165. + if $contains socket libc.list >/dev/null 2>&1; then
  166. +     echo "Looks like you have Berkeley networking support."
  167. +     d_socket="$define"
  168. +     : now check for advanced features
  169. +     if $contains setsockopt libc.list >/dev/null 2>&1; then
  170. +     d_oldsock="$undef"
  171. +     else
  172. +     echo "...but it uses the old 4.1c interface, rather than 4.2"
  173. +     d_oldsock="$define"
  174. +     fi
  175. + else
  176. +     : hpux, for one, puts all the socket stuff in socklib.o
  177. +     if $contains socklib libc.list >/dev/null 2>&1; then
  178. +     echo "Looks like you have Berkeley networking support."
  179. +     d_socket="$define"
  180. +     : we will have to assume that it supports the 4.2 BSD interface
  181. +     d_oldsock="$undef"
  182. +     else
  183. +     echo "Hmmm...you don't have Berkeley networking in libc.a..."
  184. +     : look for an optional networking library
  185. +     if test -f /usr/lib/libnet.a; then
  186. +         (ar t /usr/lib/libnet.a ||
  187. +         nm -g /usr/lib/libnet.a) 2>/dev/null >> libc.list
  188. +         if $contains socket libc.list >/dev/null 2>&1; then
  189. +         echo "but the Wollongong group seems to have hacked it in."
  190. +         socketlib="-lnet"
  191. +         sockethdr="-I/usr/netinclude"
  192. +         d_socket="$define"
  193. +         : now check for advanced features
  194. +         if $contains setsockopt libc.list >/dev/null 2>&1; then
  195. +             d_oldsock="$undef"
  196. +         else
  197. +             echo "...using the old 4.1c interface, rather than 4.2"
  198. +             d_oldsock="$define"
  199. +         fi
  200. +         else
  201. +         echo "or even in libnet.a, which is peculiar."
  202. +         d_socket="$undef"
  203. +         d_oldsock="$undef"
  204. +         fi
  205. +     else
  206. +         echo "or anywhere else I see."
  207. +         d_socket="$undef"
  208. +         d_oldsock="$undef"
  209. +     fi
  210. +     fi
  211. + fi
  212.  
  213. Index: mcon/U/d_strctcpy.U
  214. Prereq: 2.0
  215. *** mcon/U/d_strctcpy.U.old    Fri Aug  5 00:55:06 1988
  216. --- mcon/U/d_strctcpy.U    Fri Aug  5 00:55:06 1988
  217. ***************
  218. *** 1,9 ****
  219. ! ?RCS:$Header: d_strctcpy.U,v 2.0 88/06/28 23:16:02 lwall Exp $
  220.   ?RCS: $Log:    d_strctcpy.U,v $
  221.   ?RCS: Revision 2.0  88/06/28  23:16:02  lwall
  222.   ?RCS: Baseline.
  223.   ?RCS: 
  224. ! ?MAKE:d_strctcpy: cat rm
  225.   ?MAKE:    -pick add $@ %*
  226.   ?S:d_strctcpy:
  227.   ?S:    This variable conditionally defines the STRUCTCOPY symbol, which
  228. --- 1,12 ----
  229. ! ?RCS:$Header: d_strctcpy.U,v 2.0.1.1 88/08/05 00:16:28 lwall Exp $
  230.   ?RCS: $Log:    d_strctcpy.U,v $
  231. + ?RCS: Revision 2.0.1.1  88/08/05  00:16:28  lwall
  232. + ?RCS: patch1: made depend on cc
  233. + ?RCS: 
  234.   ?RCS: Revision 2.0  88/06/28  23:16:02  lwall
  235.   ?RCS: Baseline.
  236.   ?RCS: 
  237. ! ?MAKE:d_strctcpy: cat rm cc
  238.   ?MAKE:    -pick add $@ %*
  239.   ?S:d_strctcpy:
  240.   ?S:    This variable conditionally defines the STRUCTCOPY symbol, which
  241. ***************
  242. *** 30,36 ****
  243.       foo = bar;
  244.   }
  245.   EOCP
  246. ! if cc -c try.c >/dev/null 2>&1 ; then
  247.       d_strctcpy="$define"
  248.       echo "Yup, it can."
  249.   else
  250. --- 33,39 ----
  251.       foo = bar;
  252.   }
  253.   EOCP
  254. ! if $cc -c try.c >/dev/null 2>&1 ; then
  255.       d_strctcpy="$define"
  256.       echo "Yup, it can."
  257.   else
  258.  
  259. Index: mcon/U/fpu.U
  260. Prereq: 2.0
  261. *** mcon/U/fpu.U.old    Fri Aug  5 00:55:09 1988
  262. --- mcon/U/fpu.U    Fri Aug  5 00:55:10 1988
  263. ***************
  264. *** 1,5 ****
  265. ! ?RCS:$Header: fpu.U,v 2.0 88/06/28 23:16:43 lwall Exp $
  266.   ?RCS: $Log:    fpu.U,v $
  267.   ?RCS:Revision 2.0  88/06/28  23:16:43  lwall
  268.   ?RCS:Baseline.
  269.   ?RCS:
  270. --- 1,8 ----
  271. ! ?RCS:$Header: fpu.U,v 2.0.1.1 88/08/05 00:17:02 lwall Exp $
  272.   ?RCS: $Log:    fpu.U,v $
  273. + ?RCS:Revision 2.0.1.1  88/08/05  00:17:02  lwall
  274. + ?RCS:patch1: not all Suns have the 68881
  275. + ?RCS:
  276.   ?RCS:Revision 2.0  88/06/28  23:16:43  lwall
  277.   ?RCS:Baseline.
  278.   ?RCS:
  279. ***************
  280. *** 7,13 ****
  281.   ?RCS: Revision 1.0  87/05/22  12:32:25  siegel
  282.   ?RCS: Initial revision
  283.   ?RCS: 
  284. ! ?MAKE:fpu: contains echo n Myread c
  285.   ?MAKE:    -pick add $@ %*
  286.   ?S:fpu:
  287.   ?S:    set to be the compile flag for the local floating point unit.
  288. --- 10,16 ----
  289.   ?RCS: Revision 1.0  87/05/22  12:32:25  siegel
  290.   ?RCS: Initial revision
  291.   ?RCS: 
  292. ! ?MAKE:fpu: contains echo n Myread c cc
  293.   ?MAKE:    -pick add $@ %*
  294.   ?S:fpu:
  295.   ?S:    set to be the compile flag for the local floating point unit.
  296. ***************
  297. *** 24,30 ****
  298.       cat>fpa.c << GOOP
  299.       main(){return(1);}
  300.   GOOP
  301. !     cc -ffpa fpa.c -o fpa
  302.       fpa > fpa.out 2>&1
  303.       if test ! -s fpa.out; then
  304.           dflt='y'
  305. --- 27,33 ----
  306.       cat>fpa.c << GOOP
  307.       main(){return(1);}
  308.   GOOP
  309. !     $cc -ffpa fpa.c -o fpa
  310.       fpa > fpa.out 2>&1
  311.       if test ! -s fpa.out; then
  312.           dflt='y'
  313. ***************
  314. *** 51,57 ****
  315.       if $test -r /usr/etc/mc68881version; then
  316.           dflt='y'
  317.           $echo "There also seems to be the pieces for a 68881. If"
  318. !         $echo "I compile this in, it will work on all Sun 3's..."
  319.           $echo $n "Should I compile for a 68881? [$dflt] $c"
  320.           rp="use 68881? [$dflt] "
  321.           . myread
  322. --- 54,61 ----
  323.       if $test -r /usr/etc/mc68881version; then
  324.           dflt='y'
  325.           $echo "There also seems to be the pieces for a 68881. If"
  326. !         $echo "I compile this in, it will work on almost all Sun 3's"
  327. !         $echo "except for a few Sun-3/50s without a 68881..."
  328.           $echo $n "Should I compile for a 68881? [$dflt] $c"
  329.           rp="use 68881? [$dflt] "
  330.           . myread
  331.  
  332. Index: mcon/U/inc.U
  333. *** mcon/U/inc.U.old    Fri Aug  5 00:55:12 1988
  334. --- mcon/U/inc.U    Fri Aug  5 00:55:13 1988
  335. ***************
  336. *** 0 ****
  337. --- 1,43 ----
  338. + ?RCS: $Header: inc.U,v 2.0.1.1 88/08/05 00:49:14 lwall Exp $
  339. + ?X: inc.U from bin.U 1.0
  340. + ?RCS: $Log:    inc.U,v $
  341. + ?RCS: Revision 2.0.1.1  88/08/05  00:49:14  lwall
  342. + ?RCS: patch1: created
  343. + ?RCS: 
  344. + ?MAKE:inc: test echo n c Myread Loc Filexp Oldconfig
  345. + ?MAKE:    -pick add $@ %*
  346. + ?S:inc:
  347. + ?S:    This variable holds the name of the directory in which the user wants
  348. + ?S:    to put public header files for the package in question.  It is most
  349. + ?S:    often a local directory such as /usr/local/include.
  350. + ?S:.
  351. + : determine where public header files go
  352. + case "$inc" in
  353. + '')
  354. +     dflt=`loc . "." /usr/local/include /usr/include/local /usr/include`
  355. +     ;;
  356. + *)  dflt="$inc"
  357. +     ;;
  358. + esac
  359. + cont=true
  360. + while $test "$cont" ; do
  361. +     echo " "
  362. +     rp="Where do you want to put the public header files? [$dflt]"
  363. +     $echo $n "$rp $c"
  364. +     . myread
  365. +     inc="$ans"
  366. +     inc=`filexp $inc`
  367. +     if test -d "$inc"; then
  368. +     cont=''
  369. +     else
  370. +     dflt=n
  371. +     rp="Directory $inc doesn't exist.  Use that name anyway? [$dflt]"
  372. +     $echo $n "$rp $c"
  373. +     . myread
  374. +     dflt=''
  375. +     case "$ans" in
  376. +     y*) cont='';;
  377. +     esac
  378. +     fi
  379. + done
  380.  
  381. Index: mcon/U/lib.U
  382. *** mcon/U/lib.U.old    Fri Aug  5 00:55:16 1988
  383. --- mcon/U/lib.U    Fri Aug  5 00:55:17 1988
  384. ***************
  385. *** 0 ****
  386. --- 1,78 ----
  387. + ?RCS: $Header: lib.U,v 2.0.1.1 88/08/05 00:49:30 lwall Exp $
  388. + ?X: lib.U from bin.U 1.0
  389. + ?RCS: $Log:    lib.U,v $
  390. + ?RCS: Revision 2.0.1.1  88/08/05  00:49:30  lwall
  391. + ?RCS: patch1: created
  392. + ?RCS: 
  393. + ?MAKE:lib lintlib: test echo n c Myread Loc Filexp Oldconfig
  394. + ?MAKE:    -pick add $@ %*
  395. + ?S:lib:
  396. + ?S:    This variable holds the name of the directory in which the user wants
  397. + ?S:    to put public library files for the package in question.  It is most
  398. + ?S:    often a local directory such as /usr/local/lib.
  399. + ?S:.
  400. + ?S:lintlib:
  401. + ?S:    This variable holds the name of the directory in which the user wants
  402. + ?S:    to put public lint-library files for the package in question.  It is
  403. + ?S:    most often a local directory such as /usr/local/lib/lint.
  404. + ?S:.
  405. + : determine where public libraries go
  406. + case "$lib" in
  407. + '')
  408. +     dflt=`loc . "." /usr/local/lib /usr/lib /lib`
  409. +     ;;
  410. + *)  dflt="$lib"
  411. +     ;;
  412. + esac
  413. + cont=true
  414. + while $test "$cont" ; do
  415. +     echo " "
  416. +     rp="Where do you want to put the public libraries? [$dflt]"
  417. +     $echo $n "$rp $c"
  418. +     . myread
  419. +     lib="$ans"
  420. +     lib=`filexp $lib`
  421. +     if test -d "$lib"; then
  422. +     cont=''
  423. +     else
  424. +     dflt=n
  425. +     rp="Directory $lib doesn't exist.  Use that name anyway? [$dflt]"
  426. +     $echo $n "$rp $c"
  427. +     . myread
  428. +     dflt=''
  429. +     case "$ans" in
  430. +     y*) cont='';;
  431. +     esac
  432. +     fi
  433. + done
  434. + : determine where public lint libraries go
  435. + case "$lintlib" in
  436. + '')
  437. +     dflt=`loc . "." /usr/local/lib/lint /usr/lib/lint /usr/lib`
  438. +     ;;
  439. + *)  dflt="$lintlib"
  440. +     ;;
  441. + esac
  442. + cont=true
  443. + while $test "$cont" ; do
  444. +     echo " "
  445. +     rp="Where do you want to put the public lint libraries? [$dflt]"
  446. +     $echo $n "$rp $c"
  447. +     . myread
  448. +     lintlib="$ans"
  449. +     lintlib=`filexp $lintlib`
  450. +     if test -d "$lintlib"; then
  451. +     cont=''
  452. +     else
  453. +     dflt=n
  454. +     rp="Directory $lintlib doesn't exist.  Use that name anyway? [$dflt]"
  455. +     $echo $n "$rp $c"
  456. +     . myread
  457. +     dflt=''
  458. +     case "$ans" in
  459. +     y*) cont='';;
  460. +     esac
  461. +     fi
  462. + done
  463.  
  464. Index: mcon/U/libc.U
  465. Prereq: 2.0
  466. *** mcon/U/libc.U.old    Fri Aug  5 00:55:19 1988
  467. --- mcon/U/libc.U    Fri Aug  5 00:55:20 1988
  468. ***************
  469. *** 1,5 ****
  470. ! ?RCS:$Header: libc.U,v 2.0 88/06/28 23:16:50 lwall Exp $
  471.   ?RCS: $Log:    libc.U,v $
  472.   ?RCS: Revision 2.0  88/06/28  23:16:50  lwall
  473.   ?RCS: Baseline.
  474.   ?RCS: 
  475. --- 1,8 ----
  476. ! ?RCS:$Header: libc.U,v 2.0.1.1 88/08/05 00:20:06 lwall Exp $
  477.   ?RCS: $Log:    libc.U,v $
  478. + ?RCS: Revision 2.0.1.1  88/08/05  00:20:06  lwall
  479. + ?RCS: patch1: now a little smarter about different nm formats
  480. + ?RCS: 
  481.   ?RCS: Revision 2.0  88/06/28  23:16:50  lwall
  482.   ?RCS: Baseline.
  483.   ?RCS: 
  484. ***************
  485. *** 46,56 ****
  486.   fi
  487.   echo " "
  488.   $echo $n "Extracting names from $libc for later perusal...$c"
  489. ! nm $libc 2>/dev/null | sed -n -e 's/^.* T _//p' -e 's/^.* T //p' > libc.list
  490.   if $contains '^printf$' libc.list >/dev/null 2>&1; then
  491.       echo "done"
  492.   else
  493. !     nm $libc 2>/dev/null | sed -n -e 's/^.* D _//p' -e 's/^.* D //p' > libc.list
  494.       if $contains '^printf$' libc.list >/dev/null 2>&1; then
  495.       echo "done"
  496.       else
  497. --- 49,63 ----
  498.   fi
  499.   echo " "
  500.   $echo $n "Extracting names from $libc for later perusal...$c"
  501. ! nm $libc 2>/dev/null >libc.tmp
  502. ! sed -n -e 's/^.* [AT] _//p' -e 's/^.* [AT] //p' <libc.tmp >libc.list
  503.   if $contains '^printf$' libc.list >/dev/null 2>&1; then
  504.       echo "done"
  505.   else
  506. !     sed -n -e 's/^.* D _//p' -e 's/^.* D //p' <libc.tmp >libc.list
  507. !     $contains '^printf$' libc.list >/dev/null 2>&1 || \
  508. !        sed -n -e 's/^_//' \
  509. !           -e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p' <libc.tmp >libc.list
  510.       if $contains '^printf$' libc.list >/dev/null 2>&1; then
  511.       echo "done"
  512.       else
  513. ***************
  514. *** 57,63 ****
  515.       echo " "
  516.       echo "nm didn't seem to work right."
  517.       echo "Trying ar instead..."
  518. -     rmlist="$rmlist libc.tmp"
  519.       if ar t $libc > libc.tmp; then
  520.           sed -e 's/\.o$//' < libc.tmp > libc.list
  521.           echo "Ok."
  522. --- 64,69 ----
  523. ***************
  524. *** 73,77 ****
  525.       fi
  526.       fi
  527.   fi
  528. ! rmlist="$rmlist libc.list"
  529.   
  530. --- 79,83 ----
  531.       fi
  532.       fi
  533.   fi
  534. ! rmlist="$rmlist libc.tmp libc.list"
  535.   
  536.  
  537. Index: kit/makedist.SH
  538. Prereq: 2.0
  539. *** kit/makedist.SH.old    Fri Aug  5 00:53:47 1988
  540. --- kit/makedist.SH    Fri Aug  5 00:53:48 1988
  541. ***************
  542. *** 16,28 ****
  543.   : Protect any dollar signs and backticks that you do not want interpreted
  544.   : by putting a backslash in front.
  545.   cat >makedist <<!GROK!THIS!
  546. ! #!/usr/bin/perl
  547. !     eval "exec /usr/bin/perl -S \$0 \$*"
  548.           if \$running_under_some_shell;
  549.   
  550. ! # $Header: makedist.SH,v 2.0 88/06/28 23:12:17 lwall Exp $
  551.   #
  552.   # $Log:    makedist.SH,v $
  553.   # Revision 2.0  88/06/28  23:12:17  lwall
  554.   # Baseline.
  555.   # 
  556. --- 16,32 ----
  557.   : Protect any dollar signs and backticks that you do not want interpreted
  558.   : by putting a backslash in front.
  559.   cat >makedist <<!GROK!THIS!
  560. ! #!$perlpath
  561. !     eval "exec $perlpath -S \$0 \$*"
  562.           if \$running_under_some_shell;
  563.   
  564. ! # $Header: makedist.SH,v 2.0.1.1 88/08/04 23:55:14 lwall Exp $
  565.   #
  566.   # $Log:    makedist.SH,v $
  567. + # Revision 2.0.1.1  88/08/04  23:55:14  lwall
  568. + # 
  569. + # patch1: depends on perlpath now
  570. + # 
  571.   # Revision 2.0  88/06/28  23:12:17  lwall
  572.   # Baseline.
  573.   # 
  574.  
  575. Index: mcon/makegloss
  576. *** mcon/makegloss.old    Fri Aug  5 00:55:55 1988
  577. --- mcon/makegloss    Fri Aug  5 00:55:55 1988
  578. ***************
  579. *** 1,4 ****
  580. --- 1,6 ----
  581.   #!/usr/bin/perl
  582. + eval "exec /usr/bin/perl -S $0 $*"
  583. +     if $running_under_some_shell;
  584.   open(G,">Glossary") || die "Can't create Glossary.\n";
  585.   print G
  586.   '[This Glossary is automatically generated from the Unit files.  Do not edit
  587.  
  588. Index: mcon/U/mansrc.U
  589. Prereq: 2.0
  590. *** mcon/U/mansrc.U.old    Fri Aug  5 00:55:23 1988
  591. --- mcon/U/mansrc.U    Fri Aug  5 00:55:23 1988
  592. ***************
  593. *** 1,5 ****
  594. ! ?RCS:$Header: mansrc.U,v 2.0 88/06/28 23:17:17 lwall Exp $
  595.   ?RCS: $Log:    mansrc.U,v $
  596.   ?RCS: Revision 2.0  88/06/28  23:17:17  lwall
  597.   ?RCS: Baseline.
  598.   ?RCS: 
  599. --- 1,8 ----
  600. ! ?RCS:$Header: mansrc.U,v 2.0.1.1 88/08/05 00:20:49 lwall Exp $
  601.   ?RCS: $Log:    mansrc.U,v $
  602. + ?RCS: Revision 2.0.1.1  88/08/05  00:20:49  lwall
  603. + ?RCS: patch1: can now default to manl
  604. + ?RCS: 
  605.   ?RCS: Revision 2.0  88/06/28  23:17:17  lwall
  606.   ?RCS: Baseline.
  607.   ?RCS: 
  608. ***************
  609. *** 18,24 ****
  610.   : determine where manual pages go
  611.   case "$mansrc" in
  612.   '')
  613. !     dflt=`loc . /usr/man/man1 /usr/man/mann /usr/man/local/man1 /usr/man/u_man/man1 /usr/man/man1`
  614.       ;;
  615.   *)  dflt="$mansrc"
  616.       ;;
  617. --- 21,27 ----
  618.   : determine where manual pages go
  619.   case "$mansrc" in
  620.   '')
  621. !     dflt=`loc . /usr/man/man1 /usr/man/mann /usr/man/manl /usr/man/local/man1 /usr/man/u_man/man1 /usr/man/man1`
  622.       ;;
  623.   *)  dflt="$mansrc"
  624.       ;;
  625.  
  626. Index: mcon/metaconfig.SH
  627. Prereq: 2.0
  628. *** mcon/metaconfig.SH.old    Fri Aug  5 00:55:59 1988
  629. --- mcon/metaconfig.SH    Fri Aug  5 00:56:00 1988
  630. ***************
  631. *** 17,29 ****
  632.   esac
  633.   echo "Extracting metaconfig (with variable substitutions)"
  634.   cat >metaconfig <<!GROK!THIS!
  635. ! #!/usr/bin/perl
  636. !         eval "exec /usr/bin/perl -S \$0 \$*"
  637.           if \$running_under_some_shell;
  638.   
  639. ! # $Header: metaconfig.SH,v 2.0 88/06/28 23:18:46 lwall Exp $
  640.   #
  641.   # $Log:    metaconfig.SH,v $
  642.   # Revision 2.0  88/06/28  23:18:46  lwall
  643.   # Baseline.
  644.   # 
  645. --- 17,32 ----
  646.   esac
  647.   echo "Extracting metaconfig (with variable substitutions)"
  648.   cat >metaconfig <<!GROK!THIS!
  649. ! #!$perlpath
  650. !         eval "exec $perlpath -S \$0 \$*"
  651.           if \$running_under_some_shell;
  652.   
  653. ! # $Header: metaconfig.SH,v 2.0.1.1 88/08/05 00:27:27 lwall Exp $
  654.   #
  655.   # $Log:    metaconfig.SH,v $
  656. + # Revision 2.0.1.1  88/08/05  00:27:27  lwall
  657. + # patch1: now depends on perlpath
  658. + # 
  659.   # Revision 2.0  88/06/28  23:18:46  lwall
  660.   # Baseline.
  661.   # 
  662.  
  663. Index: mcon/U/mkdep.U
  664. *** mcon/U/mkdep.U.old    Fri Aug  5 00:55:26 1988
  665. --- mcon/U/mkdep.U    Fri Aug  5 00:55:27 1988
  666. ***************
  667. *** 0 ****
  668. --- 1,126 ----
  669. + ?RCS: $Header: mkdep.U,v 2.0.1.1 88/08/05 00:49:54 lwall Exp $
  670. + ?X: mkdep.U
  671. + ?X: 
  672. + ?RCS: $Log:    mkdep.U,v $
  673. + ?RCS: Revision 2.0.1.1  88/08/05  00:49:54  lwall
  674. + ?RCS: patch1: created
  675. + ?RCS: 
  676. + ?MAKE:mkdep: spitshell startsh cpp grep contains sed sort Oldconfig
  677. + ?MAKE:    -pick add $@ %*
  678. + ?S:mkdep:
  679. + ?S:    This variable holds the name of a command to generate makefile
  680. + ?S:    dependencies on the standard output.  Usual values are "/lib/cpp -M"
  681. + ?S:    or the pathname of the mkdep script.
  682. + ?S:.
  683. + : see if we have the 4.3 /lib/cpp -M feature
  684. + echo " "
  685. + echo "Checking how to generate makefile dependencies on your machine..."
  686. + $cat >dep.c <<'EOCP'
  687. + #include "dep.h"
  688. + EOCP
  689. + $cat >dep.h <<'EOCP'
  690. + EOCP
  691. + if $cpp -M dep.c >dep.out 2>/dev/null </dev/null &&
  692. +     $contains 'dep\.o:.*dep\.h' dep.out >/dev/null 2>&1
  693. + then
  694. +     echo "$cpp -M seems to work here."
  695. +     mkdep="$cpp -M"
  696. + else
  697. +     echo $n "$cpp -M doesn't seem to work...$c"
  698. +     case "$mkdep" in
  699. +     '') ;;
  700. +     `pwd`/mkdep)
  701. +         mkdep=
  702. +         ;;
  703. +     *)
  704. +         if $mkdep dep.c >dep.out 2>/dev/null &&
  705. +             $contains 'dep\.o:.*dep\.h' dep.out >/dev/null 2>&1
  706. +         then
  707. +             echo "but $mkdep does, as you said before."
  708. +         else
  709. +             mkdep=
  710. +         fi
  711. +         ;;
  712. +     esac
  713. +     if test -z "$mkdep"; then
  714. +         $spitshell >mkdep <<EOS
  715. + $startsh
  716. + for srcfile
  717. + do
  718. +     filebase=\`basename \$srcfile .c\`
  719. +     $sed -n -e '/^#/!d' -e 's|/\*.*$||' -e p \$srcfile | \\
  720. +     $cpp $cppminus | \\
  721. +     $sed -e '/^# *[0-9]/!d' \\
  722. +         -e 's/^.*"\(.*\)".*\$/'\$filebase'.o: \1/' \\
  723. +         -e 's|: \./|: |' \\
  724. +         -e 's|: *$|: '\$srcfile'|' | \\
  725. +     $sort -u
  726. + done
  727. + EOS
  728. +         chmod +x mkdep
  729. +         mkdep=`pwd`/mkdep
  730. +         if $mkdep dep.c >dep.out 2>/dev/null &&
  731. +             $contains 'dep\.o:.*dep\.h' dep.out >/dev/null 2>&1
  732. +         then
  733. +             echo "but a shell script using $cpp does."
  734. +         else
  735. +             echo " "
  736. +             echo "in fact, $cpp doesn't seem to be any use at all."
  737. +             $spitshell >mkdep2 <<EOS
  738. + $startsh
  739. + for srcfile
  740. + do
  741. +     echo \`basename \$srcfile .c\`.o: \$srcfile
  742. +     $grep '^#[  ]*include' \$srcfile /dev/null || true | 
  743. +     $sed -e 's,<\(.*\)>,"/usr/include/\1",' \\
  744. +         -e 's/:[^"]*"\([^"]*\)".*/: \1/' \\
  745. +         -e 's/\.c:/\.o:/'
  746. + done
  747. + EOS
  748. +             chmod +x mkdep2
  749. +             mkdep=${mkdep}2
  750. +             if $mkdep dep.c >dep.out 2>/dev/null &&
  751. +                 $contains 'dep\.o:.*dep\.h' dep.out >/dev/null 2>&1
  752. +             then
  753. +                 cat << EOM
  754. + I can use a script with grep instead, but it will make some incorrect
  755. + dependencies, since it doesn't understand about conditional compilation.
  756. + If you have a program which generates makefile dependencies, you may want
  757. + to use it.  If not, you can use the script and edit the Makefile by hand
  758. + if you need to.
  759. + EOM
  760. +             else
  761. +                 mkdep=
  762. +                 cat << EOM
  763. + I can't seem to generate makefile dependencies at all!  Perhaps you have a
  764. + program which does?  If you don't, you might look in `pwd` at the
  765. + mkdep and mkdep2 scripts to see if you can create one which works.
  766. + EOM
  767. +             fi
  768. +         fi    
  769. +     fi
  770. +     cont=true
  771. +     dflt="$mkdep"
  772. +     while $test "$cont" ; do
  773. +         echo " "
  774. +     rp="Name of program to make makefile dependencies? [$dflt]"
  775. +     $echo $n "$rp $c"
  776. +     . myread
  777. +     mkdep="$ans"
  778. +     mkdep=`filexp $mkdep`
  779. +     if test -f "$mkdep"; then
  780. +         cont=''
  781. +     else
  782. +         dflt=n
  783. +         rp="$mkdep doesn't exist.  Use that name anyway? [$dflt]"
  784. +         $echo $n "$rp $c"
  785. +         . myread
  786. +         dflt=''
  787. +         case "$ans" in
  788. +         y*) cont='';;
  789. +         esac
  790. +     fi
  791. + done
  792. + fi
  793. + rm -f dep.c dep.h dep.o dep.out
  794.  
  795. Index: mcon/U/models.U
  796. Prereq: 2.0
  797. *** mcon/U/models.U.old    Fri Aug  5 00:55:31 1988
  798. --- mcon/U/models.U    Fri Aug  5 00:55:33 1988
  799. ***************
  800. *** 1,9 ****
  801. ! ?RCS:$Header: models.U,v 2.0 88/06/28 23:17:24 lwall Exp $
  802.   ?RCS: $Log:    models.U,v $
  803.   ?RCS: Revision 2.0  88/06/28  23:17:24  lwall
  804.   ?RCS: Baseline.
  805.   ?RCS: 
  806. ! ?MAKE:models split small medium large huge ccflags ldflags: test cat echo n c Myread Cppsym
  807.   ?MAKE:    -pick add $@ %*
  808.   ?S:models:
  809.   ?S:    This variable contains the list of memory models supported by this
  810. --- 1,12 ----
  811. ! ?RCS:$Header: models.U,v 2.0.1.1 88/08/05 00:21:57 lwall Exp $
  812.   ?RCS: $Log:    models.U,v $
  813. + ?RCS: Revision 2.0.1.1  88/08/05  00:21:57  lwall
  814. + ?RCS: patch1: incorporated old cc unit
  815. + ?RCS: 
  816.   ?RCS: Revision 2.0  88/06/28  23:17:24  lwall
  817.   ?RCS: Baseline.
  818.   ?RCS: 
  819. ! ?MAKE:models split small medium large huge ccflags ldflags cc: test cat echo n c Myread mansrc Mcc Guess Oldconfig Loc
  820.   ?MAKE:    -pick add $@ %*
  821.   ?S:models:
  822.   ?S:    This variable contains the list of memory models supported by this
  823. ***************
  824. *** 46,55 ****
  825.   ?S:    This variable contains any additional C loader flags desired by
  826.   ?S:    the user.  It is up to the Makefile to use this.
  827.   ?S:.
  828.   : see what memory models we can support
  829.   case "$models" in
  830.   '')
  831. !     if Cppsym pdp11; then
  832.       dflt='unsplit split'
  833.       else
  834.       ans=`loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge`
  835. --- 49,75 ----
  836.   ?S:    This variable contains any additional C loader flags desired by
  837.   ?S:    the user.  It is up to the Makefile to use this.
  838.   ?S:.
  839. + ?S:cc:
  840. + ?S:    This variable holds the name of a command to execute a C compiler which
  841. + ?S:    can resolve multiple global references that happen to have the same
  842. + ?S:    name.  Usual values are "cc", "Mcc", "cc -M", and "gcc".
  843. + ?S:.
  844.   : see what memory models we can support
  845.   case "$models" in
  846.   '')
  847. !     : We may not use Cppsym or we get a circular dependency through cc.
  848. !     : But this should work regardless of which cc we eventually use.
  849. !     cat >pdp11.c <<'EOP'
  850. ! main() {
  851. ! #ifdef pdp11
  852. !     exit(0);
  853. ! #else
  854. !     exit(1);
  855. ! #endif
  856. ! }
  857. ! EOP
  858. !     cc -o pdp11 pdp11.c >/dev/null 2>&1
  859. !     if pdp11 2>/dev/null; then
  860.       dflt='unsplit split'
  861.       else
  862.       ans=`loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge`
  863. ***************
  864. *** 191,196 ****
  865. --- 211,269 ----
  866.       ;;
  867.   esac
  868.   
  869. + : see if we need a special compiler
  870. + echo " "
  871. + if usg; then
  872. +     case "$cc" in
  873. +     '')
  874. +     case "$Mcc" in
  875. +     /*) dflt='Mcc'
  876. +         ;;
  877. +     *)
  878. +         case "$large" in
  879. +         -M*)
  880. +         dflt='cc'
  881. +         ;;
  882. +         *)
  883. +         if $contains '\-M' $mansrc/cc.1 >/dev/null 2>&1 ; then
  884. +             dflt='cc -M'
  885. +         else
  886. +             dflt='cc'
  887. +         fi
  888. +         ;;
  889. +         esac
  890. +         ;;
  891. +     esac
  892. +     ;;
  893. +     *)  dflt="$cc";;
  894. +     esac
  895. +     $cat <<'EOM'
  896. +  
  897. + On some systems the default C compiler will not resolve multiple global
  898. + references that happen to have the same name.  On some such systems the
  899. + "Mcc" command may be used to force these to be resolved.  On other systems
  900. + a "cc -M" command is required.  (Note that the -M flag on other systems
  901. + indicates a memory model to use!)  If you have the Gnu C compiler, you
  902. + might wish to use that instead.  What command will force resolution on
  903. + EOM
  904. +     $echo $n "this system? [$dflt] $c"
  905. +     rp="Command to resolve multiple refs? [$dflt]"
  906. +     . myread
  907. +     cc="$ans"
  908. + else
  909. +     case "$cc" in
  910. +     '') dflt=cc;;
  911. +     *) dflt="$cc";;
  912. +     esac
  913. +     rp="Use which C compiler? [$dflt]"
  914. +     $echo $n "$rp $c"
  915. +     . myread
  916. +     cc="$ans"
  917. + fi
  918. + case "$cc" in
  919. + gcc*) cpp=`loc gcc-cpp $cpp $pth`;;
  920. + esac
  921.   case "$ccflags" in
  922.   '') dflt='none';;
  923.   *) dflt="$ccflags";;
  924. ***************
  925. *** 221,224 ****
  926. --- 294,298 ----
  927.   none) ans='';
  928.   esac
  929.   ldflags="$ans"
  930. + rmlist="$rmlist pdp11"
  931.   
  932.  
  933. Index: mcon/U/orderlib.U
  934. *** mcon/U/orderlib.U.old    Fri Aug  5 00:55:35 1988
  935. --- mcon/U/orderlib.U    Fri Aug  5 00:55:36 1988
  936. ***************
  937. *** 0 ****
  938. --- 1,45 ----
  939. + ?RCS: $Header: orderlib.U,v 2.0.1.1 88/08/05 00:50:17 lwall Exp $
  940. + ?X: orderlib.U
  941. + ?X: 
  942. + ?RCS: $Log:    orderlib.U,v $
  943. + ?RCS: Revision 2.0.1.1  88/08/05  00:50:17  lwall
  944. + ?RCS: patch1: created
  945. + ?RCS: 
  946. + ?MAKE:orderlib ranlib:
  947. + ?MAKE:    -pick add $@ %*
  948. + ?S:orderlib:
  949. + ?S:    This variable is "true" if the components of libraries must be ordered
  950. + ?S:    (with `lorder $* | tsort`) before placing them in an archive.  Set to
  951. + ?S:    "false" if ranlib or ar can generate random libraries.
  952. + ?S:.
  953. + ?S:ranlib:
  954. + ?S:    This variable is set to the pathname of the ranlib program, if it is
  955. + ?S:    needed to generate random libraries.  Set to ":" if ar can generate
  956. + ?S:    random libraries or if random libraries are not supported
  957. + ?S:.
  958. + : see if ar generates random libraries by itself
  959. + echo " "
  960. + echo "Checking how to generate random libraries on your machine..."
  961. + ar rc ran.a /dev/null
  962. + if ar ts ran.a >/dev/null 2>&1; then
  963. +     echo "ar appears to generate random libraries itself."
  964. +     orderlib=false
  965. +     ranlib=":"
  966. + else
  967. +     if test -f /usr/bin/ranlib; then
  968. +         ranlib=/usr/bin/ranlib
  969. +     elif test -f /bin/ranlib; then
  970. +         ranlib=/bin/ranlib
  971. +     fi
  972. +     if test -n "$ranlib"; then
  973. +         echo "your system has $ranlib; we'll use that."
  974. +         orderlib=false
  975. +     else
  976. +         echo "your system doesn't seem to support random libraries"
  977. +         echo "so we'll use lorder and tsort to order the libraries."
  978. +         orderlib=true
  979. +         ranlib=":"
  980. +     fi
  981. + fi
  982.  
  983. Index: packinit.SH
  984. Prereq: 2.0
  985. *** packinit.SH.old    Fri Aug  5 00:56:06 1988
  986. --- packinit.SH    Fri Aug  5 00:56:06 1988
  987. ***************
  988. *** 16,28 ****
  989.   esac
  990.   echo "Extracting packinit (with variable substitutions)"
  991.   cat >packinit <<!GROK!THIS!
  992. ! #!/usr/bin/perl
  993. !     eval "exec /usr/bin/perl -S \$0 \$*"
  994.           if \$running_under_some_shell;
  995.   
  996. ! # $Header: packinit.SH,v 2.0 88/06/28 23:18:55 lwall Exp $
  997.   #
  998.   # $Log:    packinit.SH,v $
  999.   # Revision 2.0  88/06/28  23:18:55  lwall
  1000.   # Baseline.
  1001.   # 
  1002. --- 16,31 ----
  1003.   esac
  1004.   echo "Extracting packinit (with variable substitutions)"
  1005.   cat >packinit <<!GROK!THIS!
  1006. ! #!$perlpath
  1007. !     eval "exec $perlpath -S \$0 \$*"
  1008.           if \$running_under_some_shell;
  1009.   
  1010. ! # $Header: packinit.SH,v 2.0.1.1 88/08/05 00:27:49 lwall Exp $
  1011.   #
  1012.   # $Log:    packinit.SH,v $
  1013. + # Revision 2.0.1.1  88/08/05  00:27:49  lwall
  1014. + # patch1: now depends on perlpath
  1015. + # 
  1016.   # Revision 2.0  88/06/28  23:18:55  lwall
  1017.   # Baseline.
  1018.   # 
  1019.  
  1020. Index: pat/pat.SH
  1021. Prereq: 2.0
  1022. *** pat/pat.SH.old    Fri Aug  5 00:56:10 1988
  1023. --- pat/pat.SH    Fri Aug  5 00:56:11 1988
  1024. ***************
  1025. *** 17,29 ****
  1026.   esac
  1027.   echo "Extracting pat (with variable substitutions)"
  1028.   cat >pat <<!GROK!THIS!
  1029. ! #!/usr/bin/perl
  1030. !     eval "exec /usr/bin/perl -S \$0 \$*"
  1031.           if \$running_under_some_shell;
  1032.   
  1033. ! # $Header: pat.SH,v 2.0 88/06/28 23:19:17 lwall Exp $
  1034.   #
  1035.   # $Log:    pat.SH,v $
  1036.   # Revision 2.0  88/06/28  23:19:17  lwall
  1037.   # Baseline.
  1038.   # 
  1039. --- 17,32 ----
  1040.   esac
  1041.   echo "Extracting pat (with variable substitutions)"
  1042.   cat >pat <<!GROK!THIS!
  1043. ! #!$perlpath
  1044. !     eval "exec $perlpath -S \$0 \$*"
  1045.           if \$running_under_some_shell;
  1046.   
  1047. ! # $Header: pat.SH,v 2.0.1.1 88/08/05 00:28:32 lwall Exp $
  1048.   #
  1049.   # $Log:    pat.SH,v $
  1050. + # Revision 2.0.1.1  88/08/05  00:28:32  lwall
  1051. + # patch1: now depends on perlpath
  1052. + # 
  1053.   # Revision 2.0  88/06/28  23:19:17  lwall
  1054.   # Baseline.
  1055.   # 
  1056.  
  1057. Index: pat/patbase.SH
  1058. Prereq: 2.0
  1059. *** pat/patbase.SH.old    Fri Aug  5 00:56:15 1988
  1060. --- pat/patbase.SH    Fri Aug  5 00:56:16 1988
  1061. ***************
  1062. *** 16,28 ****
  1063.   esac
  1064.   echo "Extracting patbase (with variable substitutions)"
  1065.   cat >patbase <<!GROK!THIS!
  1066. ! #!/usr/bin/perl
  1067. !         eval "exec /usr/bin/perl -S \$0 \$*"
  1068.                   if \$running_under_some_shell;
  1069.   
  1070. ! # $Header: patbase.SH,v 2.0 88/06/28 23:19:25 lwall Exp $
  1071.   #
  1072.   # $Log:    patbase.SH,v $
  1073.   # Revision 2.0  88/06/28  23:19:25  lwall
  1074.   # Baseline.
  1075.   # 
  1076. --- 16,31 ----
  1077.   esac
  1078.   echo "Extracting patbase (with variable substitutions)"
  1079.   cat >patbase <<!GROK!THIS!
  1080. ! #!$perlpath
  1081. !         eval "exec $perlpath -S \$0 \$*"
  1082.                   if \$running_under_some_shell;
  1083.   
  1084. ! # $Header: patbase.SH,v 2.0.1.1 88/08/05 00:29:09 lwall Exp $
  1085.   #
  1086.   # $Log:    patbase.SH,v $
  1087. + # Revision 2.0.1.1  88/08/05  00:29:09  lwall
  1088. + # patch1: now depends on perlpath
  1089. + # 
  1090.   # Revision 2.0  88/06/28  23:19:25  lwall
  1091.   # Baseline.
  1092.   # 
  1093.  
  1094. Index: pat/patcil.SH
  1095. Prereq: 2.0
  1096. *** pat/patcil.SH.old    Fri Aug  5 00:56:19 1988
  1097. --- pat/patcil.SH    Fri Aug  5 00:56:20 1988
  1098. ***************
  1099. *** 15,27 ****
  1100.   esac
  1101.   echo "Extracting patcil (with variable substitutions)"
  1102.   $cat >patcil <<!GROK!THIS!
  1103. ! #!/usr/bin/perl -i~
  1104. !         eval "exec /usr/bin/perl -S \$0 \$*"
  1105.                   if \$running_under_some_shell;
  1106.   
  1107. ! # $Header: patcil.SH,v 2.0 88/06/29 00:21:39 lwall Exp $
  1108.   #
  1109.   # $Log:    patcil.SH,v $
  1110.   # Revision 2.0  88/06/29  00:21:39  lwall
  1111.   # Baseline.
  1112.   # 
  1113. --- 15,33 ----
  1114.   esac
  1115.   echo "Extracting patcil (with variable substitutions)"
  1116.   $cat >patcil <<!GROK!THIS!
  1117. ! #!$perlpath -i~
  1118. !         eval "exec $perlpath -S \$0 \$*"
  1119.                   if \$running_under_some_shell;
  1120.   
  1121. ! # $Header: patcil.SH,v 2.0.1.2 88/08/05 00:51:51 lwall Exp $
  1122.   #
  1123.   # $Log:    patcil.SH,v $
  1124. + # Revision 2.0.1.2  88/08/05  00:51:51  lwall
  1125. + # patch1: created
  1126. + # 
  1127. + # Revision 2.0.1.1  88/08/05  00:29:17  lwall
  1128. + # patch1: now depends on perlpath
  1129. + # 
  1130.   # Revision 2.0  88/06/29  00:21:39  lwall
  1131.   # Baseline.
  1132.   # 
  1133. ***************
  1134. *** 198,204 ****
  1135.       }
  1136.       if ($patching && !$total) {    # check in null as trunk revision
  1137.           rename($file, "$file.xxx");
  1138. !         `cp /dev/null $file` unless -f "$file.xxx";
  1139.           if (system 'ci', "-l$baserev", @sw, @files) {
  1140.           print "Trying again...\n";
  1141.           system 'ci', "-r$baserev", @sw, @files;
  1142. --- 204,210 ----
  1143.       }
  1144.       if ($patching && !$total) {    # check in null as trunk revision
  1145.           rename($file, "$file.xxx");
  1146. !         `cp /dev/null $file` unless -f $file;
  1147.           if (system 'ci', "-l$baserev", @sw, @files) {
  1148.           print "Trying again...\n";
  1149.           system 'ci', "-r$baserev", @sw, @files;
  1150.  
  1151. Index: pat/patdiff.SH
  1152. Prereq: 2.0
  1153. *** pat/patdiff.SH.old    Fri Aug  5 00:56:25 1988
  1154. --- pat/patdiff.SH    Fri Aug  5 00:56:25 1988
  1155. ***************
  1156. *** 16,28 ****
  1157.   esac
  1158.   echo "Extracting patdiff (with variable substitutions)"
  1159.   cat >patdiff <<!GROK!THIS!
  1160. ! #!/usr/bin/perl
  1161. !         eval "exec /usr/bin/perl -S \$0 \$*"
  1162.                   if \$running_under_some_shell;
  1163.   
  1164. ! # $Header: patdiff.SH,v 2.0 88/06/28 23:19:39 lwall Exp $
  1165.   #
  1166.   # $Log:    patdiff.SH,v $
  1167.   # Revision 2.0  88/06/28  23:19:39  lwall
  1168.   # Baseline.
  1169.   # 
  1170. --- 16,31 ----
  1171.   esac
  1172.   echo "Extracting patdiff (with variable substitutions)"
  1173.   cat >patdiff <<!GROK!THIS!
  1174. ! #!$perlpath
  1175. !         eval "exec $perlpath -S \$0 \$*"
  1176.                   if \$running_under_some_shell;
  1177.   
  1178. ! # $Header: patdiff.SH,v 2.0.1.1 88/08/05 00:29:42 lwall Exp $
  1179.   #
  1180.   # $Log:    patdiff.SH,v $
  1181. + # Revision 2.0.1.1  88/08/05  00:29:42  lwall
  1182. + # patch1: now depends on perlpath
  1183. + # 
  1184.   # Revision 2.0  88/06/28  23:19:39  lwall
  1185.   # Baseline.
  1186.   # 
  1187.  
  1188. Index: pat/patftp.SH
  1189. Prereq: 2.0
  1190. *** pat/patftp.SH.old    Fri Aug  5 00:56:29 1988
  1191. --- pat/patftp.SH    Fri Aug  5 00:56:30 1988
  1192. ***************
  1193. *** 17,29 ****
  1194.   esac
  1195.   echo "Extracting patftp (with variable substitutions)"
  1196.   cat >patftp <<!GROK!THIS!
  1197. ! #!/usr/bin/perl
  1198. !         eval "exec /usr/bin/perl -S \$0 \$*"
  1199.                   if \$running_under_some_shell;
  1200.   
  1201. ! # $Header: patftp.SH,v 2.0 88/06/28 23:19:57 lwall Exp $
  1202.   #
  1203.   # $Log:    patftp.SH,v $
  1204.   # Revision 2.0  88/06/28  23:19:57  lwall
  1205.   # Baseline.
  1206.   # 
  1207. --- 17,32 ----
  1208.   esac
  1209.   echo "Extracting patftp (with variable substitutions)"
  1210.   cat >patftp <<!GROK!THIS!
  1211. ! #!$perlpath
  1212. !         eval "exec $perlpath -S \$0 \$*"
  1213.                   if \$running_under_some_shell;
  1214.   
  1215. ! # $Header: patftp.SH,v 2.0.1.1 88/08/05 00:29:52 lwall Exp $
  1216.   #
  1217.   # $Log:    patftp.SH,v $
  1218. + # Revision 2.0.1.1  88/08/05  00:29:52  lwall
  1219. + # patch1: now depends on perlpath
  1220. + # 
  1221.   # Revision 2.0  88/06/28  23:19:57  lwall
  1222.   # Baseline.
  1223.   # 
  1224.  
  1225. Index: pat/patmake.SH
  1226. Prereq: 2.0
  1227. *** pat/patmake.SH.old    Fri Aug  5 00:56:33 1988
  1228. --- pat/patmake.SH    Fri Aug  5 00:56:34 1988
  1229. ***************
  1230. *** 17,29 ****
  1231.   esac
  1232.   echo "Extracting patmake (with variable substitutions)"
  1233.   cat >patmake <<!GROK!THIS!
  1234. ! #!/usr/bin/perl
  1235. !         eval "exec /usr/bin/perl -S \$0 \$*"
  1236.                   if \$running_under_some_shell;
  1237.   
  1238. ! # $Header: patmake.SH,v 2.0 88/06/28 23:19:46 lwall Exp $
  1239.   #
  1240.   # $Log:    patmake.SH,v $
  1241.   # Revision 2.0  88/06/28  23:19:46  lwall
  1242.   # Baseline.
  1243.   # 
  1244. --- 17,32 ----
  1245.   esac
  1246.   echo "Extracting patmake (with variable substitutions)"
  1247.   cat >patmake <<!GROK!THIS!
  1248. ! #!$perlpath
  1249. !         eval "exec $perlpath -S \$0 \$*"
  1250.                   if \$running_under_some_shell;
  1251.   
  1252. ! # $Header: patmake.SH,v 2.0.1.1 88/08/05 00:30:00 lwall Exp $
  1253.   #
  1254.   # $Log:    patmake.SH,v $
  1255. + # Revision 2.0.1.1  88/08/05  00:30:00  lwall
  1256. + # patch1: now depends on perlpath
  1257. + # 
  1258.   # Revision 2.0  88/06/28  23:19:46  lwall
  1259.   # Baseline.
  1260.   # 
  1261. ***************
  1262. *** 50,56 ****
  1263.       $last = '';
  1264.   }
  1265.   
  1266. ! $mf = `grep '^[a-z]*:' [Mm]akefile* 2>&1`;
  1267.   $* = 1;
  1268.   $after = '';
  1269.   $after .= "\t\tConfigure -d\n" if -f 'Configure';
  1270. --- 53,63 ----
  1271.       $last = '';
  1272.   }
  1273.   
  1274. ! @ARGV = <[Mm]akefile*>;
  1275. ! $mf = '';
  1276. ! while (<>) {
  1277. !     $mf .= $_ if /^[a-z]+:/;
  1278. ! }
  1279.   $* = 1;
  1280.   $after = '';
  1281.   $after .= "\t\tConfigure -d\n" if -f 'Configure';
  1282. ***************
  1283. *** 165,171 ****
  1284.   $editor = 'vi' unless $editor;
  1285.   system $editor, "patch$bnum";
  1286.   if (-s "patch$bnum") {
  1287. !     `echo "#define PATCHLEVEL $bnum" >../patchlevel.h`;
  1288.       open(PL,"patchlevel.h") || die "Can't open patchlevel.h\n";
  1289.       while (<PL>) {
  1290.       $bnum = $1 if /^#define\s+PATCHLEVEL\s+(\d+)/;
  1291. --- 172,179 ----
  1292.   $editor = 'vi' unless $editor;
  1293.   system $editor, "patch$bnum";
  1294.   if (-s "patch$bnum") {
  1295. !     chdir '..';
  1296. !     `echo "#define PATCHLEVEL $bnum" >patchlevel.h`;
  1297.       open(PL,"patchlevel.h") || die "Can't open patchlevel.h\n";
  1298.       while (<PL>) {
  1299.       $bnum = $1 if /^#define\s+PATCHLEVEL\s+(\d+)/;
  1300.  
  1301. Index: pat/patpost.SH
  1302. Prereq: 2.0
  1303. *** pat/patpost.SH.old    Fri Aug  5 00:56:38 1988
  1304. --- pat/patpost.SH    Fri Aug  5 00:56:39 1988
  1305. ***************
  1306. *** 17,29 ****
  1307.   esac
  1308.   echo "Extracting patpost (with variable substitutions)"
  1309.   cat >patpost <<!GROK!THIS!
  1310. ! #!/usr/bin/perl
  1311. !     eval "exec /usr/bin/perl -S \$0 \$*"
  1312.           if \$running_under_some_shell;
  1313.   
  1314. ! # $Header: patpost.SH,v 2.0 88/06/28 23:19:50 lwall Exp $
  1315.   #
  1316.   # $Log:    patpost.SH,v $
  1317.   # Revision 2.0  88/06/28  23:19:50  lwall
  1318.   # Baseline.
  1319.   # 
  1320. --- 17,32 ----
  1321.   esac
  1322.   echo "Extracting patpost (with variable substitutions)"
  1323.   cat >patpost <<!GROK!THIS!
  1324. ! #!$perlpath
  1325. !     eval "exec $perlpath -S \$0 \$*"
  1326.           if \$running_under_some_shell;
  1327.   
  1328. ! # $Header: patpost.SH,v 2.0.1.1 88/08/05 00:30:10 lwall Exp $
  1329.   #
  1330.   # $Log:    patpost.SH,v $
  1331. + # Revision 2.0.1.1  88/08/05  00:30:10  lwall
  1332. + # patch1: now depends on perlpath
  1333. + # 
  1334.   # Revision 2.0  88/06/28  23:19:50  lwall
  1335.   # Baseline.
  1336.   # 
  1337.  
  1338. Index: pat/patsend.SH
  1339. Prereq: 2.0
  1340. *** pat/patsend.SH.old    Fri Aug  5 00:56:42 1988
  1341. --- pat/patsend.SH    Fri Aug  5 00:56:43 1988
  1342. ***************
  1343. *** 17,29 ****
  1344.   esac
  1345.   echo "Extracting patsend (with variable substitutions)"
  1346.   cat >patsend <<!GROK!THIS!
  1347. ! #!/usr/bin/perl
  1348. !         eval "exec /usr/bin/perl -S \$0 \$*"
  1349.                   if \$running_under_some_shell;
  1350.   
  1351. ! # $Header: patsend.SH,v 2.0 88/06/28 23:19:54 lwall Exp $
  1352.   #
  1353.   # $Log:    patsend.SH,v $
  1354.   # Revision 2.0  88/06/28  23:19:54  lwall
  1355.   # Baseline.
  1356.   # 
  1357. --- 17,32 ----
  1358.   esac
  1359.   echo "Extracting patsend (with variable substitutions)"
  1360.   cat >patsend <<!GROK!THIS!
  1361. ! #!$perlpath
  1362. !         eval "exec $perlpath -S \$0 \$*"
  1363.                   if \$running_under_some_shell;
  1364.   
  1365. ! # $Header: patsend.SH,v 2.0.1.1 88/08/05 00:30:17 lwall Exp $
  1366.   #
  1367.   # $Log:    patsend.SH,v $
  1368. + # Revision 2.0.1.1  88/08/05  00:30:17  lwall
  1369. + # patch1: now depends on perlpath
  1370. + # 
  1371.   # Revision 2.0  88/06/28  23:19:54  lwall
  1372.   # Baseline.
  1373.   # 
  1374. ***************
  1375. *** 90,107 ****
  1376.       $patnum = shift;
  1377.       open(XHEAD,">.xhead$$") || die "Can't create temp file.\n";
  1378.       print XHEAD
  1379. ! "Subject: $package $baserev patch #$patnum
  1380.   Organization: $orgname
  1381.   
  1382.   [The latest patch for $package version $baserev is #$maxnum.]
  1383.   
  1384.   ";
  1385. !     open(PATCH,"patch$patnum") || die "Can't open patch$_\n";
  1386.       while (<PATCH>) {
  1387.           print XHEAD;
  1388.       }
  1389.       close XHEAD;
  1390. !     system "/bin/mail $dest <.xhead$$";
  1391.   }
  1392.   unlink ".xhead$$";
  1393.   
  1394. --- 93,111 ----
  1395.       $patnum = shift;
  1396.       open(XHEAD,">.xhead$$") || die "Can't create temp file.\n";
  1397.       print XHEAD
  1398. ! "To: $dest
  1399. ! Subject: $package $baserev patch #$patnum
  1400.   Organization: $orgname
  1401.   
  1402.   [The latest patch for $package version $baserev is #$maxnum.]
  1403.   
  1404.   ";
  1405. !     open(PATCH,"patch$patnum") || die "Can't open patch$patnum\n";
  1406.       while (<PATCH>) {
  1407.           print XHEAD;
  1408.       }
  1409.       close XHEAD;
  1410. !     system "/usr/lib/sendmail -odq -t <.xhead$$";
  1411.   }
  1412.   unlink ".xhead$$";
  1413.   
  1414.  
  1415. Index: mcon/U/perlpath.U
  1416. *** mcon/U/perlpath.U.old    Fri Aug  5 00:55:39 1988
  1417. --- mcon/U/perlpath.U    Fri Aug  5 00:55:40 1988
  1418. ***************
  1419. *** 0 ****
  1420. --- 1,58 ----
  1421. + ?RCS:$Header: perlpath.U,v 2.0.1.1 88/08/05 00:50:43 lwall Exp $
  1422. + ?X: The purpose of this unit is to locate perl good enough to construct a #!
  1423. + ?RCS: $Log:    perlpath.U,v $
  1424. + ?RCS: Revision 2.0.1.1  88/08/05  00:50:43  lwall
  1425. + ?RCS: patch1: created
  1426. + ?RCS: 
  1427. + ?MAKE:perlpath: test echo n c Myread Oldconfig Loc perl
  1428. + ?MAKE:    -pick add $@ %*
  1429. + ?S:perlpath:
  1430. + ?S:    This variable contains the eventual value of the PERLPATH symbol,
  1431. + ?S:    which contains the absolute location of the perl interpeter.
  1432. + ?S:.
  1433. + ?C:PERLPATH:
  1434. + ?C:    This symbol contains the absolute location of the perl interpeter.
  1435. + ?C:.
  1436. + ?H:?%1:#define PERLPATH "$perlpath"        /**/
  1437. + ?H:?%1:
  1438. + : determine default editor
  1439. + case "$perlpath" in
  1440. + '')
  1441. +     if test -f /usr/bin/perl; then
  1442. +     dflt=/usr/bin/perl
  1443. +     else
  1444. +     case "$_perl" in
  1445. +     */*) dflt="$_perl";;
  1446. +     *) dflt=/usr/bin/perl;;
  1447. +     esac
  1448. +     fi
  1449. +     ;;
  1450. + *)  dflt="$perlpath"
  1451. +     ;;
  1452. + esac
  1453. + cont=true
  1454. + while $test "$cont" ; do
  1455. +     echo " "
  1456. +     rp="Where is perl located on your system? [$dflt]"
  1457. +     $echo $n "$rp $c"
  1458. +     . myread
  1459. +     perlpath="$ans"
  1460. +     case "$ans" in
  1461. +     /*) if test -f $ans; then
  1462. +         cont=''
  1463. +     else
  1464. +         dflt=n
  1465. +         rp="File $ans doesn't exist.  Use that name anyway? [$dflt]"
  1466. +         $echo $n "$rp $c"
  1467. +         . myread
  1468. +         dflt=''
  1469. +         case "$ans" in
  1470. +         y*) cont='';;
  1471. +         esac
  1472. +     fi
  1473. +     ;;
  1474. +     *) echo "Please use an absolute path name."
  1475. +     ;;
  1476. +     esac
  1477. + done
  1478.  
  1479. Index: mcon/U/randbits.U
  1480. Prereq: 2.0
  1481. *** mcon/U/randbits.U.old    Fri Aug  5 00:55:43 1988
  1482. --- mcon/U/randbits.U    Fri Aug  5 00:55:43 1988
  1483. ***************
  1484. *** 1,9 ****
  1485. ! ?RCS:$Header: randbits.U,v 2.0 88/06/28 23:18:07 lwall Exp $
  1486.   ?RCS: $Log:    randbits.U,v $
  1487.   ?RCS: Revision 2.0  88/06/28  23:18:07  lwall
  1488.   ?RCS: Baseline.
  1489.   ?RCS: 
  1490. ! ?MAKE:randbits: cat rm Myread echo n c
  1491.   ?MAKE:    -pick add $@ %*
  1492.   ?S:randbits:
  1493.   ?S:    This variable contains the eventual value of the RANDBITS symbol,
  1494. --- 1,12 ----
  1495. ! ?RCS:$Header: randbits.U,v 2.0.1.1 88/08/05 00:24:40 lwall Exp $
  1496.   ?RCS: $Log:    randbits.U,v $
  1497. + ?RCS: Revision 2.0.1.1  88/08/05  00:24:40  lwall
  1498. + ?RCS: patch1: max wasn't initialized
  1499. + ?RCS: 
  1500.   ?RCS: Revision 2.0  88/06/28  23:18:07  lwall
  1501.   ?RCS: Baseline.
  1502.   ?RCS: 
  1503. ! ?MAKE:randbits: cat rm Myread echo n c cc
  1504.   ?MAKE:    -pick add $@ %*
  1505.   ?S:randbits:
  1506.   ?S:    This variable contains the eventual value of the RANDBITS symbol,
  1507. ***************
  1508. *** 27,33 ****
  1509.   {
  1510.       register int i;
  1511.       register unsigned long tmp;
  1512. !     register unsigned long max;
  1513.   
  1514.       for (i=1000; i; i--) {
  1515.       tmp = (unsigned long)rand();
  1516. --- 30,36 ----
  1517.   {
  1518.       register int i;
  1519.       register unsigned long tmp;
  1520. !     register unsigned long max = 0L;
  1521.   
  1522.       for (i=1000; i; i--) {
  1523.       tmp = (unsigned long)rand();
  1524. ***************
  1525. *** 38,44 ****
  1526.       printf("%d\n",i);
  1527.   }
  1528.   EOCP
  1529. !     if cc try.c -o try >/dev/null 2>&1 ; then
  1530.       dflt=`try`
  1531.       else
  1532.       dflt='?'
  1533. --- 41,47 ----
  1534.       printf("%d\n",i);
  1535.   }
  1536.   EOCP
  1537. !     if $cc try.c -o try >/dev/null 2>&1 ; then
  1538.       dflt=`try`
  1539.       else
  1540.       dflt='?'
  1541.  
  1542. Index: mcon/U/sunscanf.U
  1543. Prereq: 2.0
  1544. *** mcon/U/sunscanf.U.old    Fri Aug  5 00:55:46 1988
  1545. --- mcon/U/sunscanf.U    Fri Aug  5 00:55:47 1988
  1546. ***************
  1547. *** 1,9 ****
  1548. ! ?RCS:$Header: sunscanf.U,v 2.0 88/06/28 23:18:31 lwall Exp $
  1549.   ?RCS: $Log:    sunscanf.U,v $
  1550.   ?RCS:Revision 2.0  88/06/28  23:18:31  lwall
  1551.   ?RCS:Baseline.
  1552.   ?RCS:
  1553. ! ?MAKE:sunscanf: cat rm Myread echo n c
  1554.   ?MAKE:    -pick add $@ %*
  1555.   ?S:sunscanf:
  1556.   ?S:    This variable is set if this system runs with the Sun version
  1557. --- 1,12 ----
  1558. ! ?RCS:$Header: sunscanf.U,v 2.0.1.1 88/08/05 00:25:24 lwall Exp $
  1559.   ?RCS: $Log:    sunscanf.U,v $
  1560. + ?RCS:Revision 2.0.1.1  88/08/05  00:25:24  lwall
  1561. + ?RCS:patch1: made depend on cc
  1562. + ?RCS:
  1563.   ?RCS:Revision 2.0  88/06/28  23:18:31  lwall
  1564.   ?RCS:Baseline.
  1565.   ?RCS:
  1566. ! ?MAKE:sunscanf: cat rm Myread echo n c cc
  1567.   ?MAKE:    -pick add $@ %*
  1568.   ?S:sunscanf:
  1569.   ?S:    This variable is set if this system runs with the Sun version
  1570. ***************
  1571. *** 27,33 ****
  1572.           printf("%d\n",value==4.5);
  1573.   }
  1574.   EOCP
  1575. ! if cc scanf.c -o scanf >/dev/null 2>&1 ; then
  1576.       $echo " "
  1577.       if $test `scanf` = 0; then
  1578.           $echo "Hmm.. seems your not running the USG flavor.."
  1579. --- 30,36 ----
  1580.           printf("%d\n",value==4.5);
  1581.   }
  1582.   EOCP
  1583. ! if $cc scanf.c -o scanf >/dev/null 2>&1 ; then
  1584.       $echo " "
  1585.       if $test `scanf` = 0; then
  1586.           $echo "Hmm.. seems your not running the USG flavor.."
  1587.  
  1588. Index: mcon/U/voidflags.U
  1589. Prereq: 2.0
  1590. *** mcon/U/voidflags.U.old    Fri Aug  5 00:55:50 1988
  1591. --- mcon/U/voidflags.U    Fri Aug  5 00:55:51 1988
  1592. ***************
  1593. *** 1,9 ****
  1594. ! ?RCS:$Header: voidflags.U,v 2.0 88/06/28 23:18:38 lwall Exp $
  1595.   ?RCS: $Log:    voidflags.U,v $
  1596.   ?RCS: Revision 2.0  88/06/28  23:18:38  lwall
  1597.   ?RCS: Baseline.
  1598.   ?RCS: 
  1599. ! ?MAKE:voidflags defvoidused: echo n c cat rm contains
  1600.   ?MAKE:    -pick add $@ %*
  1601.   ?S:voidflags:
  1602.   ?S:    This variable contains the eventual value of the VOIDFLAGS symbol,
  1603. --- 1,12 ----
  1604. ! ?RCS:$Header: voidflags.U,v 2.0.1.1 88/08/05 00:26:03 lwall Exp $
  1605.   ?RCS: $Log:    voidflags.U,v $
  1606. + ?RCS: Revision 2.0.1.1  88/08/05  00:26:03  lwall
  1607. + ?RCS: patch1: fixed a few bugs
  1608. + ?RCS: 
  1609.   ?RCS: Revision 2.0  88/06/28  23:18:38  lwall
  1610.   ?RCS: Baseline.
  1611.   ?RCS: 
  1612. ! ?MAKE:voidflags defvoidused: echo n c cat rm contains cc
  1613.   ?MAKE:    -pick add $@ %*
  1614.   ?S:voidflags:
  1615.   ?S:    This variable contains the eventual value of the VOIDFLAGS symbol,
  1616. ***************
  1617. *** 22,27 ****
  1618. --- 25,31 ----
  1619.   ?C:    The package designer should define VOIDUSED to indicate the requirements
  1620.   ?C:    of the package.  This can be done either by #defining VOIDUSED before
  1621.   ?C:    including config.h, or by defining defvoidused in Myinit.U.  If the
  1622. + ?C:    latter approach is taken, only those flags will be tested.  If the
  1623.   ?C:    level of void support necessary is not present, defines void to int.
  1624.   ?C:.
  1625.   ?H:?%1:#ifndef VOIDUSED
  1626. ***************
  1627. *** 53,66 ****
  1628.   #else
  1629.   main() {
  1630.   #endif
  1631. !     extern void *moo();
  1632. !     void *(*goo)();
  1633.   #if TRY & 2
  1634.       void (*foo[10])();
  1635.   #endif
  1636.   
  1637.   #if TRY & 4
  1638. !     if(*goo == moo) {
  1639.           exit(0);
  1640.       }
  1641.   #endif
  1642. --- 57,70 ----
  1643.   #else
  1644.   main() {
  1645.   #endif
  1646. !     extern void moo();    /* function returning void */
  1647. !     void (*goo)();        /* ptr to func returning void */
  1648.   #if TRY & 2
  1649.       void (*foo[10])();
  1650.   #endif
  1651.   
  1652.   #if TRY & 4
  1653. !     if(goo == moo) {
  1654.           exit(0);
  1655.       }
  1656.   #endif
  1657. ***************
  1658. *** 67,89 ****
  1659.       exit(0);
  1660.   }
  1661.   EOCP
  1662. !     if cc -S -DTRY=7 try.c >.out 2>&1 ; then
  1663. !     voidflags=7
  1664. !     echo "It appears to support void fully."
  1665.       if $contains warning .out >/dev/null 2>&1; then
  1666.           echo "However, you might get some warnings that look like this:"
  1667.           $cat .out
  1668.       fi
  1669.       else
  1670. !     echo "Hmm, you compiler has some difficulty with void.  Checking further..."
  1671. !     if cc -S -DTRY=1 try.c >/dev/null 2>&1 ; then
  1672.           echo "It supports 1..."
  1673. !         if cc -S -DTRY=3 try.c >/dev/null 2>&1 ; then
  1674.           voidflags=3
  1675.           echo "And it supports 2 but not 4."
  1676.           else
  1677.           echo "It doesn't support 2..."
  1678. !         if cc -S -DTRY=3 try.c >/dev/null 2>&1 ; then
  1679.               voidflags=5
  1680.               echo "But it supports 4."
  1681.           else
  1682. --- 71,93 ----
  1683.       exit(0);
  1684.   }
  1685.   EOCP
  1686. !     if $cc -S -DTRY=$defvoidused try.c >.out 2>&1 ; then
  1687. !     voidflags=$defvoidused
  1688. !     echo "It appears to support void."
  1689.       if $contains warning .out >/dev/null 2>&1; then
  1690.           echo "However, you might get some warnings that look like this:"
  1691.           $cat .out
  1692.       fi
  1693.       else
  1694. !     echo "Hmm, your compiler has some difficulty with void.  Checking further..."
  1695. !     if $cc -S -DTRY=1 try.c >/dev/null 2>&1 ; then
  1696.           echo "It supports 1..."
  1697. !         if $cc -S -DTRY=3 try.c >/dev/null 2>&1 ; then
  1698.           voidflags=3
  1699.           echo "And it supports 2 but not 4."
  1700.           else
  1701.           echo "It doesn't support 2..."
  1702. !         if $cc -S -DTRY=5 try.c >/dev/null 2>&1 ; then
  1703.               voidflags=5
  1704.               echo "But it supports 4."
  1705.           else
  1706.  
  1707.