home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume42 / dist-3.0 / patch24 < prev    next >
Internet Message Format  |  1994-05-06  |  46KB

  1. From: Raphael Manfredi <ram@acri.fr>
  2. Newsgroups: comp.sources.misc
  3. Subject: v42i075:  dist-3.0 - Configure script generator and related tools, Patch24
  4. Date: 6 May 1994 14:15:25 -0500
  5. Organization: Advanced Computer Research Institute, Lyon, France
  6. Sender: kent@sparky.sterling.com
  7. Approved: kent@sparky.sterling.com
  8. Message-ID: <2qe50d$47i@sparky.sterling.com>
  9. X-Md4-Signature: 88481968ecbbab73dfbc14ddbefc3bfb
  10.  
  11. Submitted-by: Raphael Manfredi <ram@acri.fr>
  12. Posting-number: Volume 42, Issue 75
  13. Archive-name: dist-3.0/patch24
  14. Environment: UNIX, Perl, RCS
  15. Patch-To: dist-3.0: Volume 39, Issue 5-32
  16.  
  17. [The latest patch for dist version 3.0 is #26.]
  18.  
  19. System: dist version 3.0
  20. Patch #: 24
  21. Priority: MEDIUM
  22. Subject: patch #23, continued
  23. Date: Fri May 06 17:42:30 MET DST 1994
  24. From: Raphael Manfredi <ram@acri.fr>
  25.  
  26. Description:
  27.     See patch #23.
  28.  
  29.  
  30. Fix:    From rn, say "| patch -p -N -d DIR", where DIR is your dist source
  31.     directory.  Outside of rn, say "cd DIR; patch -p -N <thisarticle".
  32.     If you don't have the patch program, apply the following by hand,
  33.     or get patch (version 2.0, latest patchlevel).
  34.  
  35.     After patching:
  36.         *** DO NOTHING--INSTALL ALL PATCHES UP THROUGH #26 FIRST ***
  37.  
  38.     If patch indicates that patchlevel is the wrong version, you may need
  39.     to apply one or more previous patches, or the patch may already
  40.     have been applied.  See the patchlevel.h file to find out what has or
  41.     has not been applied.  In any event, don't continue with the patch.
  42.  
  43.     If you are missing previous patches they can be obtained from me:
  44.  
  45.         Raphael Manfredi <ram@acri.fr>
  46.  
  47.     If you send a mail message of the following form it will greatly speed
  48.     processing:
  49.  
  50.         Subject: Command
  51.         @SH mailpatch PATH dist 3.0 LIST
  52.                ^ note the c
  53.  
  54.     where PATH is a return path FROM ME TO YOU either in Internet notation,
  55.     or in bang notation from some well-known host, and LIST is the number
  56.     of one or more patches you need, separated by spaces, commas, and/or
  57.     hyphens.  Saying 35- says everything from 35 to the end.
  58.  
  59.     To get some more detailed instructions, send me the following mail:
  60.  
  61.         Subject: Command
  62.         @SH mailhelp PATH
  63.  
  64.  
  65. Index: patchlevel.h
  66. Prereq: 23
  67. 4c4
  68. < #define PATCHLEVEL 23
  69. ---
  70. > #define PATCHLEVEL 24
  71.  
  72. Index: mcon/U/locdist.U
  73. Prereq: 3.0
  74. *** mcon/U/locdist.U.old    Fri May  6 17:28:30 1994
  75. --- mcon/U/locdist.U    Fri May  6 17:28:30 1994
  76. ***************
  77. *** 1,4 ****
  78. ! ?RCS: $Id: locdist.U,v 3.0 1993/08/18 12:09:06 ram Exp $
  79.   ?RCS:
  80.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  81.   ?RCS: 
  82. --- 1,4 ----
  83. ! ?RCS: $Id: locdist.U,v 3.0.1.1 1994/05/06 15:09:20 ram Exp $
  84.   ?RCS:
  85.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  86.   ?RCS: 
  87. ***************
  88. *** 9,19 ****
  89.   ?RCS: of the source tree for dist 3.0.
  90.   ?RCS:
  91.   ?RCS: $Log: locdist.U,v $
  92.   ?RCS: Revision 3.0  1993/08/18  12:09:06  ram
  93.   ?RCS: Baseline for dist 3.0 netwide release.
  94.   ?RCS:
  95. ! ?MAKE:locdist orgdist citydist statedist cntrydist contdist: test \
  96. !     newslibexp cat Myread Oldconfig
  97.   ?MAKE:    -pick add $@ %<
  98.   ?S:locdist:
  99.   ?S:    This variable contains the eventual value of the LOCDIST symbol,
  100. --- 9,22 ----
  101.   ?RCS: of the source tree for dist 3.0.
  102.   ?RCS:
  103.   ?RCS: $Log: locdist.U,v $
  104. + ?RCS: Revision 3.0.1.1  1994/05/06  15:09:20  ram
  105. + ?RCS: patch23: added support for multi-state regions (WED)
  106. + ?RCS:
  107.   ?RCS: Revision 3.0  1993/08/18  12:09:06  ram
  108.   ?RCS: Baseline for dist 3.0 netwide release.
  109.   ?RCS:
  110. ! ?MAKE:locdist orgdist citydist statedist multistatedist cntrydist contdist: \
  111. !     test newslibexp cat Myread Oldconfig
  112.   ?MAKE:    -pick add $@ %<
  113.   ?S:locdist:
  114.   ?S:    This variable contains the eventual value of the LOCDIST symbol,
  115. ***************
  116. *** 31,36 ****
  117. --- 34,43 ----
  118.   ?S:    This variable contains the eventual value of the STATEDIST symbol,
  119.   ?S:    which is the state's or province's distribution name for news.
  120.   ?S:.
  121. + ?S:multistatedist:
  122. + ?S:    This variable contains the eventual value of the MULTISTATEDIST symbol,
  123. + ?S:    which is the news distribution code for multi-state region.
  124. + ?S:.
  125.   ?S:cntrydist:
  126.   ?S:    This variable contains the eventual value of the CNTRYDIST symbol,
  127.   ?S:    which is the country's distribution name for news.
  128. ***************
  129. *** 55,60 ****
  130. --- 62,71 ----
  131.   ?C:    This symbol contains the distribution name for the news system that
  132.   ?C:    restricts article distribution to the state or province.
  133.   ?C:.
  134. + ?C:MULTISTATEDIST:
  135. + ?C:    This symbol contains the distribution name for the news system that
  136. + ?C:    restricts article distribution to a multi-state region.
  137. + ?C:.
  138.   ?C:CNTRYDIST:
  139.   ?C:    This symbol contains the distribution name for the news system that
  140.   ?C:    restricts article distribution to the country.
  141. ***************
  142. *** 66,71 ****
  143. --- 77,83 ----
  144.   ?H:#define LOCDIST "$locdist"        /**/
  145.   ?H:#define ORGDIST "$orgdist"        /**/
  146.   ?H:#define CITYDIST "$citydist"        /**/
  147. + ?H:#define MULTISTATEDIST "$multistatedist"    /**/
  148.   ?H:#define STATEDIST "$statedist"        /**/
  149.   ?H:#define CNTRYDIST "$cntrydist"        /**/
  150.   ?H:#define CONTDIST "$contdist"        /**/
  151. ***************
  152. *** 85,90 ****
  153. --- 97,103 ----
  154.   organization        att, dec, kgb, ...
  155.   city            la, ny, mosc, ...
  156.   state/province        ca, nj, bc, ...
  157. + multi-state region    pnw, ne, ...
  158.   country            usa, can, rok, whatever
  159.   continent        na (North America), asia, etc.
  160.   
  161. ***************
  162. *** 132,137 ****
  163. --- 145,157 ----
  164.   rp="What is the distribution code for your state/province?"
  165.   . ./myread
  166.   statedist="$ans"
  167. + case "$multistatedist" in
  168. + '') dflt="none";;
  169. + *) dflt="$multistatedist";;
  170. + esac
  171. + rp="What is the distribution code for your multi-state region?"
  172. + . ./myread
  173. + multistatedist="$ans"
  174.   case "$cntrydist" in
  175.   '') dflt="none";;
  176.   *)  dflt="$cntrydist";;
  177.  
  178. Index: mcon/U/i_termio.U
  179. Prereq: 3.0
  180. *** mcon/U/i_termio.U.old    Fri May  6 17:28:25 1994
  181. --- mcon/U/i_termio.U    Fri May  6 17:28:25 1994
  182. ***************
  183. *** 1,4 ****
  184. ! ?RCS: $Id: i_termio.U,v 3.0 1993/08/18 12:08:44 ram Exp $
  185.   ?RCS:
  186.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  187.   ?RCS: 
  188. --- 1,4 ----
  189. ! ?RCS: $Id: i_termio.U,v 3.0.1.1 1994/05/06 15:05:23 ram Exp $
  190.   ?RCS:
  191.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  192.   ?RCS: 
  193. ***************
  194. *** 9,17 ****
  195. --- 9,28 ----
  196.   ?RCS: of the source tree for dist 3.0.
  197.   ?RCS:
  198.   ?RCS: $Log: i_termio.U,v $
  199. + ?RCS: Revision 3.0.1.1  1994/05/06  15:05:23  ram
  200. + ?RCS: patch23: now include all three defines in config.h (ADO)
  201. + ?RCS:
  202.   ?RCS: Revision 3.0  1993/08/18  12:08:44  ram
  203.   ?RCS: Baseline for dist 3.0 netwide release.
  204.   ?RCS:
  205. + ?X:
  206. + ?X: Include all three (possible) definitions in config_h.SH.
  207. + ?X: There are enough implementations of posix <termios.h> out
  208. + ?X: there that do not work well with other system headers or are
  209. + ?X: incomplete.  This makes it easier for the user to back off 
  210. + ?X: and try <sgtty.h> or <termio.h> instead. This is achieved by
  211. + ?X: tying all three symbols to %<.
  212. + ?X:
  213.   ?MAKE:i_termio i_sgtty i_termios: test Inlibc Cppsym Guess Setvar Findhdr
  214.   ?MAKE:    -pick add $@ %<
  215.   ?S:i_termio:
  216. ***************
  217. *** 29,53 ****
  218.   ?S:    indicates to the C program that it should include <sgtty.h> rather
  219.   ?S:    than <termio.h>.
  220.   ?S:.
  221. ! ?C:I_TERMIO:
  222.   ?C:    This symbol, if defined, indicates that the program should include
  223.   ?C:    <termio.h> rather than <sgtty.h>.  There are also differences in
  224.   ?C:    the ioctl() calls that depend on the value of this symbol.
  225.   ?C:.
  226. ! ?C:I_TERMIOS:
  227.   ?C:    This symbol, if defined, indicates that the program should include
  228.   ?C:    the POSIX termios.h rather than sgtty.h or termio.h.
  229.   ?C:    There are also differences in the ioctl() calls that depend on the
  230.   ?C:    value of this symbol.
  231.   ?C:.
  232. ! ?C:I_SGTTY:
  233.   ?C:    This symbol, if defined, indicates that the program should include
  234.   ?C:    <sgtty.h> rather than <termio.h>.  There are also differences in
  235.   ?C:    the ioctl() calls that depend on the value of this symbol.
  236.   ?C:.
  237. ! ?H:#$i_termio I_TERMIO        /**/
  238. ! ?H:#$i_termios I_TERMIOS        /**/
  239. ! ?H:#$i_sgtty I_SGTTY        /**/
  240.   ?H:.
  241.   ?T:val2 val3
  242.   ?LINT:set i_termio i_sgtty i_termios
  243. --- 40,64 ----
  244.   ?S:    indicates to the C program that it should include <sgtty.h> rather
  245.   ?S:    than <termio.h>.
  246.   ?S:.
  247. ! ?C:I_TERMIO ~ %<:
  248.   ?C:    This symbol, if defined, indicates that the program should include
  249.   ?C:    <termio.h> rather than <sgtty.h>.  There are also differences in
  250.   ?C:    the ioctl() calls that depend on the value of this symbol.
  251.   ?C:.
  252. ! ?C:I_TERMIOS ~ %<:
  253.   ?C:    This symbol, if defined, indicates that the program should include
  254.   ?C:    the POSIX termios.h rather than sgtty.h or termio.h.
  255.   ?C:    There are also differences in the ioctl() calls that depend on the
  256.   ?C:    value of this symbol.
  257.   ?C:.
  258. ! ?C:I_SGTTY ~ %<:
  259.   ?C:    This symbol, if defined, indicates that the program should include
  260.   ?C:    <sgtty.h> rather than <termio.h>.  There are also differences in
  261.   ?C:    the ioctl() calls that depend on the value of this symbol.
  262.   ?C:.
  263. ! ?H:?%<:#$i_termio I_TERMIO        /**/
  264. ! ?H:?%<:#$i_termios I_TERMIOS        /**/
  265. ! ?H:?%<:#$i_sgtty I_SGTTY        /**/
  266.   ?H:.
  267.   ?T:val2 val3
  268.   ?LINT:set i_termio i_sgtty i_termios
  269.  
  270. Index: mcon/U/mallocsrc.U
  271. Prereq: 3.0
  272. *** mcon/U/mallocsrc.U.old    Fri May  6 17:28:31 1994
  273. --- mcon/U/mallocsrc.U    Fri May  6 17:28:31 1994
  274. ***************
  275. *** 1,4 ****
  276. ! ?RCS: $Id: mallocsrc.U,v 3.0 1993/08/18 12:09:12 ram Exp $
  277.   ?RCS:
  278.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  279.   ?RCS: 
  280. --- 1,4 ----
  281. ! ?RCS: $Id: mallocsrc.U,v 3.0.1.1 1994/05/06 15:10:46 ram Exp $
  282.   ?RCS:
  283.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  284.   ?RCS: 
  285. ***************
  286. *** 9,19 ****
  287.   ?RCS: of the source tree for dist 3.0.
  288.   ?RCS:
  289.   ?RCS: $Log: mallocsrc.U,v $
  290.   ?RCS: Revision 3.0  1993/08/18  12:09:12  ram
  291.   ?RCS: Baseline for dist 3.0 netwide release.
  292.   ?RCS:
  293. ! ?MAKE:mallocsrc mallocobj usemymalloc malloctype: Myread Oldconfig package \
  294. !     Guess test rm cat +cc +ccflags Findhdr
  295.   ?MAKE:    -pick add $@ %<
  296.   ?S:usemymalloc:
  297.   ?S:    This variable contains y if the malloc that comes with this package
  298. --- 9,22 ----
  299.   ?RCS: of the source tree for dist 3.0.
  300.   ?RCS:
  301.   ?RCS: $Log: mallocsrc.U,v $
  302. + ?RCS: Revision 3.0.1.1  1994/05/06  15:10:46  ram
  303. + ?RCS: patch23: added support for MYMALLOC, mainly  for perl5 (ADO)
  304. + ?RCS:
  305.   ?RCS: Revision 3.0  1993/08/18  12:09:12  ram
  306.   ?RCS: Baseline for dist 3.0 netwide release.
  307.   ?RCS:
  308. ! ?MAKE:mallocsrc mallocobj usemymalloc malloctype d_mymalloc: Myread \
  309. !     Oldconfig package Guess Setvar test rm cat +cc +ccflags Findhdr
  310.   ?MAKE:    -pick add $@ %<
  311.   ?S:usemymalloc:
  312.   ?S:    This variable contains y if the malloc that comes with this package
  313. ***************
  314. *** 27,32 ****
  315. --- 30,40 ----
  316.   ?S:    Otherwise the value is null.  This variable is intended for generating
  317.   ?S:    Makefiles.
  318.   ?S:.
  319. + ?S:d_mymalloc:
  320. + ?S:    This variable conditionally defines MYMALLOC in case other parts
  321. + ?S:    of the source want to take special action if MYMALLOC is used.
  322. + ?S:    This may include different sorts of profiling or error detection.
  323. + ?S:.
  324.   ?S:mallocobj:
  325.   ?S:    This variable contains the name of the malloc.o that this package
  326.   ?S:    generates, if that malloc.o is preferred over the system malloc.
  327. ***************
  328. *** 41,46 ****
  329. --- 49,59 ----
  330.   ?C:.
  331.   ?H:#define Malloc_t $malloctype            /**/
  332.   ?H:.
  333. + ?C:MYMALLOC:
  334. + ?C:    This symbol, if defined, indicates that we're using our own malloc.
  335. + ?C:.
  336. + ?H:#$d_mymalloc MYMALLOC            /**/
  337. + ?H:.
  338.   ?X: Cannot test for mallocsrc; it is the unit's name and there is a bug in
  339.   ?X: the interpreter which defines all the names, even though they are not used.
  340.   @if mallocobj
  341. ***************
  342. *** 48,58 ****
  343.   echo " "
  344.   case "$usemymalloc" in
  345.   '')
  346. !     if bsd || v7; then
  347. !         dflt='y'
  348. !     else
  349. !         dflt='n'
  350. !     fi
  351.       ;;
  352.   *)  dflt="$usemymalloc"
  353.       ;;
  354. --- 61,67 ----
  355.   echo " "
  356.   case "$usemymalloc" in
  357.   '')
  358. !     dflt='y'
  359.       ;;
  360.   *)  dflt="$usemymalloc"
  361.       ;;
  362. ***************
  363. *** 61,68 ****
  364.   . ./myread
  365.   usemymalloc="$ans"
  366.   case "$ans" in
  367. ! y*) mallocsrc='malloc.c'; mallocobj='malloc.o';;
  368. ! *) mallocsrc=''; mallocobj='';;
  369.   esac
  370.   
  371.   @end
  372. --- 70,85 ----
  373.   . ./myread
  374.   usemymalloc="$ans"
  375.   case "$ans" in
  376. ! y*)
  377. !     mallocsrc='malloc.c'
  378. !     mallocobj='malloc.o'
  379. !     d_mymalloc="$define"
  380. !     ;;
  381. ! *)
  382. !     mallocsrc=''
  383. !     mallocobj=''
  384. !     d_mymalloc="$undef"
  385. !     ;;
  386.   esac
  387.   
  388.   @end
  389.  
  390. Index: mcon/U/d_readdir.U
  391. Prereq: 3.0
  392. *** mcon/U/d_readdir.U.old    Fri May  6 17:28:18 1994
  393. --- mcon/U/d_readdir.U    Fri May  6 17:28:18 1994
  394. ***************
  395. *** 1,4 ****
  396. ! ?RCS: $Id: d_readdir.U,v 3.0 1993/08/18 12:06:52 ram Exp $
  397.   ?RCS:
  398.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  399.   ?RCS: 
  400. --- 1,4 ----
  401. ! ?RCS: $Id: d_readdir.U,v 3.0.1.1 1994/05/06 14:46:37 ram Exp $
  402.   ?RCS:
  403.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  404.   ?RCS: 
  405. ***************
  406. *** 9,20 ****
  407.   ?RCS: of the source tree for dist 3.0.
  408.   ?RCS:
  409.   ?RCS: $Log: d_readdir.U,v $
  410.   ?RCS: Revision 3.0  1993/08/18  12:06:52  ram
  411.   ?RCS: Baseline for dist 3.0 netwide release.
  412.   ?RCS:
  413.   ?X:    Force checking for <dirent.h> inclusion
  414.   ?X:INC: i_dirent
  415. ! ?MAKE:d_readdir: Inlibc
  416.   ?MAKE:    -pick add $@ %<
  417.   ?S:d_readdir:
  418.   ?S:    This variable conditionally defines HAS_READDIR if readdir() is
  419. --- 9,23 ----
  420.   ?RCS: of the source tree for dist 3.0.
  421.   ?RCS:
  422.   ?RCS: $Log: d_readdir.U,v $
  423. + ?RCS: Revision 3.0.1.1  1994/05/06  14:46:37  ram
  424. + ?RCS: patch23: added support for seekdir, telldir and rewinddir (ADO)
  425. + ?RCS:
  426.   ?RCS: Revision 3.0  1993/08/18  12:06:52  ram
  427.   ?RCS: Baseline for dist 3.0 netwide release.
  428.   ?RCS:
  429.   ?X:    Force checking for <dirent.h> inclusion
  430.   ?X:INC: i_dirent
  431. ! ?MAKE:d_readdir d_seekdir d_telldir d_rewinddir: Inlibc
  432.   ?MAKE:    -pick add $@ %<
  433.   ?S:d_readdir:
  434.   ?S:    This variable conditionally defines HAS_READDIR if readdir() is
  435. ***************
  436. *** 27,34 ****
  437.   ?C:.
  438.   ?H:#$d_readdir HAS_READDIR        /**/
  439.   ?H:.
  440. ! ?LINT:set d_readdir
  441. ! : see if readdir exists
  442.   set readdir d_readdir
  443.   eval $inlibc
  444.   
  445. --- 30,79 ----
  446.   ?C:.
  447.   ?H:#$d_readdir HAS_READDIR        /**/
  448.   ?H:.
  449. ! ?S:d_seekdir:
  450. ! ?S:    This variable conditionally defines HAS_SEEKDIR if seekdir() is
  451. ! ?S:    available.
  452. ! ?S:.
  453. ! ?C:HAS_SEEKDIR:
  454. ! ?C:    This symbol, if defined, indicates that the seekdir routine is
  455. ! ?C:    available. You may have to include <dirent.h>. See I_DIRENT.
  456. ! ?C:.
  457. ! ?H:#$d_seekdir HAS_SEEKDIR        /**/
  458. ! ?H:.
  459. ! ?S:d_telldir:
  460. ! ?S:    This variable conditionally defines HAS_TELLDIR if telldir() is
  461. ! ?S:    available.
  462. ! ?S:.
  463. ! ?C:HAS_TELLDIR:
  464. ! ?C:    This symbol, if defined, indicates that the telldir routine is
  465. ! ?C:    available. You may have to include <dirent.h>. See I_DIRENT.
  466. ! ?C:.
  467. ! ?H:#$d_telldir HAS_TELLDIR        /**/
  468. ! ?H:.
  469. ! ?S:d_rewinddir:
  470. ! ?S:    This variable conditionally defines HAS_REWINDDIR if rewinddir() is
  471. ! ?S:    available.
  472. ! ?S:.
  473. ! ?C:HAS_REWINDDIR:
  474. ! ?C:    This symbol, if defined, indicates that the rewinddir routine is
  475. ! ?C:    available. You may have to include <dirent.h>. See I_DIRENT.
  476. ! ?C:.
  477. ! ?H:#$d_rewinddir HAS_REWINDDIR        /**/
  478. ! ?H:.
  479. ! ?LINT:set d_readdir d_seekdir d_telldir d_rewinddir
  480. ! : see if readdir and friends exist
  481.   set readdir d_readdir
  482.   eval $inlibc
  483. + @if d_seekdir || HAS_SEEKDIR
  484. + set seekdir d_seekdir
  485. + eval $inlibc
  486. + @end
  487. + @if d_telldir || HAS_TELLDIR
  488. + set telldir d_telldir
  489. + eval $inlibc
  490. + @end
  491. + @if d_rewinddir || HAS_REWINDDIR
  492. + set rewinddir d_rewinddir
  493. + eval $inlibc
  494. + @end
  495.   
  496.  
  497. Index: mcon/U/d_strerror.U
  498. Prereq: 3.0.1.1
  499. *** mcon/U/d_strerror.U.old    Fri May  6 17:28:21 1994
  500. --- mcon/U/d_strerror.U    Fri May  6 17:28:21 1994
  501. ***************
  502. *** 1,4 ****
  503. ! ?RCS: $Id: d_strerror.U,v 3.0.1.1 1994/01/24 14:08:56 ram Exp $
  504.   ?RCS:
  505.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  506.   ?RCS: 
  507. --- 1,4 ----
  508. ! ?RCS: $Id: d_strerror.U,v 3.0.1.2 1994/05/06 14:58:26 ram Exp $
  509.   ?RCS:
  510.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  511.   ?RCS: 
  512. ***************
  513. *** 9,14 ****
  514. --- 9,17 ----
  515.   ?RCS: of the source tree for dist 3.0.
  516.   ?RCS:
  517.   ?RCS: $Log: d_strerror.U,v $
  518. + ?RCS: Revision 3.0.1.2  1994/05/06  14:58:26  ram
  519. + ?RCS: patch23: renamed strerror into Strerror to protect name space (ADO)
  520. + ?RCS:
  521.   ?RCS: Revision 3.0.1.1  1994/01/24  14:08:56  ram
  522.   ?RCS: patch16: protected code looking for sys_errnolist[] with @if
  523.   ?RCS: patch16: added default value for d_sysernlst
  524. ***************
  525. *** 37,43 ****
  526.   ?C:HAS_STRERROR (STRERROR):
  527.   ?C:    This symbol, if defined, indicates that the strerror routine is
  528.   ?C:    available to translate error numbers to strings. See the writeup
  529. ! ?C:    of strerror() in this file before you try to define your own.
  530.   ?C:.
  531.   ?C:HAS_SYS_ERRLIST (SYSERRLIST):
  532.   ?C:    This symbol, if defined, indicates that the sys_errlist array is
  533. --- 40,46 ----
  534.   ?C:HAS_STRERROR (STRERROR):
  535.   ?C:    This symbol, if defined, indicates that the strerror routine is
  536.   ?C:    available to translate error numbers to strings. See the writeup
  537. ! ?C:    of Strerror() in this file before you try to define your own.
  538.   ?C:.
  539.   ?C:HAS_SYS_ERRLIST (SYSERRLIST):
  540.   ?C:    This symbol, if defined, indicates that the sys_errlist array is
  541. ***************
  542. *** 49,55 ****
  543.   ?C:    available to translate an errno code into its symbolic name (e.g.
  544.   ?C: ENOENT). The extern int sys_nerrno gives the size of that table.
  545.   ?C:.
  546. ! ?C:strerror:
  547.   ?C:    This preprocessor symbol is defined as a macro if strerror() is
  548.   ?C:    not available to translate error numbers to strings but sys_errlist[]
  549.   ?C:    array is there.
  550. --- 52,58 ----
  551.   ?C:    available to translate an errno code into its symbolic name (e.g.
  552.   ?C: ENOENT). The extern int sys_nerrno gives the size of that table.
  553.   ?C:.
  554. ! ?C:Strerror:
  555.   ?C:    This preprocessor symbol is defined as a macro if strerror() is
  556.   ?C:    not available to translate error numbers to strings but sys_errlist[]
  557.   ?C:    array is there.
  558. ***************
  559. *** 57,63 ****
  560.   ?H:#$d_strerror HAS_STRERROR        /**/
  561.   ?H:#$d_syserrlst HAS_SYS_ERRLIST    /**/
  562.   ?H:#$d_sysernlst HAS_SYS_ERRNOLIST    /**/
  563. ! ?H:#$d_strerrm strerror(e) ((e)<0||(e)>=sys_nerr?"unknown":sys_errlist[e]) /**/
  564.   ?H:.
  565.   ?D:d_sysernlst=''
  566.   ?T:xxx val
  567. --- 60,70 ----
  568.   ?H:#$d_strerror HAS_STRERROR        /**/
  569.   ?H:#$d_syserrlst HAS_SYS_ERRLIST    /**/
  570.   ?H:#$d_sysernlst HAS_SYS_ERRNOLIST    /**/
  571. ! ?H:?%<:#ifdef HAS_STRERROR
  572. ! ?H:?%<:#define Strerror strerror
  573. ! ?H:?%<:#else
  574. ! ?H:#$d_strerrm Strerror(e) ((e)<0||(e)>=sys_nerr?"unknown":sys_errlist[e]) /**/
  575. ! ?H:?%<:#endif
  576.   ?H:.
  577.   ?D:d_sysernlst=''
  578.   ?T:xxx val
  579.  
  580. Index: mcon/U/libflex.U
  581. Prereq: 3.0.1.1
  582. *** mcon/U/libflex.U.old    Fri May  6 17:28:28 1994
  583. --- mcon/U/libflex.U    Fri May  6 17:28:28 1994
  584. ***************
  585. *** 1,4 ****
  586. ! ?RCS: $Id: libflex.U,v 3.0.1.1 1994/01/24 14:13:25 ram Exp $
  587.   ?RCS:
  588.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  589.   ?RCS: 
  590. --- 1,4 ----
  591. ! ?RCS: $Id: libflex.U,v 3.0.1.2 1994/05/06 15:07:02 ram Exp $
  592.   ?RCS:
  593.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  594.   ?RCS: 
  595. ***************
  596. *** 9,21 ****
  597.   ?RCS: of the source tree for dist 3.0.
  598.   ?RCS:
  599.   ?RCS: $Log: libflex.U,v $
  600.   ?RCS: Revision 3.0.1.1  1994/01/24  14:13:25  ram
  601.   ?RCS: patch16: un-obsoleted this unit to allow smooth lex/flex compilations
  602.   ?RCS:
  603.   ?RCS: Revision 3.0  1993/08/18  12:08:59  ram
  604.   ?RCS: Baseline for dist 3.0 netwide release.
  605.   ?RCS:
  606. ! ?MAKE:libflex: test Loc lex libpth
  607.   ?MAKE:    -pick add $@ %<
  608.   ?S:libflex:
  609.   ?S:    This variable contains the argument to pass to the loader in order
  610. --- 9,24 ----
  611.   ?RCS: of the source tree for dist 3.0.
  612.   ?RCS:
  613.   ?RCS: $Log: libflex.U,v $
  614. + ?RCS: Revision 3.0.1.2  1994/05/06  15:07:02  ram
  615. + ?RCS: patch23: now uses full library path instead of -l notation
  616. + ?RCS:
  617.   ?RCS: Revision 3.0.1.1  1994/01/24  14:13:25  ram
  618.   ?RCS: patch16: un-obsoleted this unit to allow smooth lex/flex compilations
  619.   ?RCS:
  620.   ?RCS: Revision 3.0  1993/08/18  12:08:59  ram
  621.   ?RCS: Baseline for dist 3.0 netwide release.
  622.   ?RCS:
  623. ! ?MAKE:libflex: Loc lex libpth
  624.   ?MAKE:    -pick add $@ %<
  625.   ?S:libflex:
  626.   ?S:    This variable contains the argument to pass to the loader in order
  627. ***************
  628. *** 27,66 ****
  629.   echo " "
  630.   case "$lex" in
  631.   *flex)
  632. !     if $test -r /usr/lib/libfl.a || $test -r /usr/local/lib/libfl.a ; then
  633. !         echo "-lfl found." >&4
  634. !         libflex='-lfl'
  635. !     else
  636. !         xxx=`./loc libfl.a x $libpth`
  637. !         case "$xxx" in
  638. !         x)
  639. !             echo "No flex library found." >&4
  640. !             libflex=''
  641. !             ;;
  642. !         *)
  643. !             echo "flex library found in $xxx." >&4
  644. !             libflex="$xxx"
  645. !             ;;
  646. !         esac
  647. !     fi
  648.       ;;
  649.   *lex)
  650. !     if $test -r /usr/lib/libl.a || $test -r /usr/local/lib/libl.a ; then
  651. !         echo "-ll found." >&4
  652. !         libflex='-ll'
  653. !     else
  654. !         xxx=`./loc libl.a x $libpth`
  655. !         case "$xxx" in
  656. !         x)
  657. !             echo "No lex library found." >&4
  658. !             libflex=''
  659. !             ;;
  660. !         *)
  661. !             echo "lex library found in $xxx." >&4
  662. !             libflex="$xxx"
  663. !             ;;
  664. !         esac
  665. !     fi
  666.       ;;
  667.   *)
  668.   echo "You don't seem to have lex or flex, so I won't look for libraries." >&4
  669. --- 30,59 ----
  670.   echo " "
  671.   case "$lex" in
  672.   *flex)
  673. !     xxx=`./loc libfl.a x $libpth`
  674. !     case "$xxx" in
  675. !     x)
  676. !         echo "No flex library found." >&4
  677. !         libflex=''
  678. !         ;;
  679. !     *)
  680. !         echo "flex library found in $xxx." >&4
  681. !         libflex="$xxx"
  682. !         ;;
  683. !     esac
  684.       ;;
  685.   *lex)
  686. !     xxx=`./loc libl.a x $libpth`
  687. !     case "$xxx" in
  688. !     x)
  689. !         echo "No lex library found." >&4
  690. !         libflex=''
  691. !         ;;
  692. !     *)
  693. !         echo "lex library found in $xxx." >&4
  694. !         libflex="$xxx"
  695. !         ;;
  696. !     esac
  697.       ;;
  698.   *)
  699.   echo "You don't seem to have lex or flex, so I won't look for libraries." >&4
  700.  
  701. Index: mcon/U/cc.U
  702. Prereq: 3.0
  703. *** mcon/U/cc.U.old    Fri May  6 17:28:14 1994
  704. --- mcon/U/cc.U    Fri May  6 17:28:14 1994
  705. ***************
  706. *** 1,4 ****
  707. ! ?RCS: $Id: cc.U,v 3.0 1993/08/18 12:05:30 ram Exp $
  708.   ?RCS:
  709.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  710.   ?RCS: 
  711. --- 1,4 ----
  712. ! ?RCS: $Id: cc.U,v 3.0.1.1 1994/05/06 14:26:06 ram Exp $
  713.   ?RCS:
  714.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  715.   ?RCS: 
  716. ***************
  717. *** 9,25 ****
  718.   ?RCS: of the source tree for dist 3.0.
  719.   ?RCS:
  720.   ?RCS: $Log: cc.U,v $
  721.   ?RCS: Revision 3.0  1993/08/18  12:05:30  ram
  722.   ?RCS: Baseline for dist 3.0 netwide release.
  723.   ?RCS:
  724. ! ?MAKE:cc: cat contains sysman +large cpp Mcc Myread Guess Oldconfig Loc
  725.   ?MAKE:    -pick add $@ %<
  726.   ?S:cc:
  727.   ?S:    This variable holds the name of a command to execute a C compiler which
  728.   ?S:    can resolve multiple global references that happen to have the same
  729.   ?S:    name.  Usual values are "cc", "Mcc", "cc -M", and "gcc".
  730.   ?S:.
  731.   ?D:cc='cc'
  732.   ?LINT:change cpp
  733.   : see if we need a special compiler
  734.   echo " "
  735. --- 9,35 ----
  736.   ?RCS: of the source tree for dist 3.0.
  737.   ?RCS:
  738.   ?RCS: $Log: cc.U,v $
  739. + ?RCS: Revision 3.0.1.1  1994/05/06  14:26:06  ram
  740. + ?RCS: patch23: added support for gcc version (ADO)
  741. + ?RCS:
  742.   ?RCS: Revision 3.0  1993/08/18  12:05:30  ram
  743.   ?RCS: Baseline for dist 3.0 netwide release.
  744.   ?RCS:
  745. ! ?MAKE:cc gccversion: cat contains sysman +large cpp rm test \
  746. !     Mcc Myread Guess Oldconfig Loc
  747.   ?MAKE:    -pick add $@ %<
  748.   ?S:cc:
  749.   ?S:    This variable holds the name of a command to execute a C compiler which
  750.   ?S:    can resolve multiple global references that happen to have the same
  751.   ?S:    name.  Usual values are "cc", "Mcc", "cc -M", and "gcc".
  752.   ?S:.
  753. + ?S:gccversion:
  754. + ?S:    If GNU cc (gcc) is used, this variable holds '1' or '2' to 
  755. + ?S:    indicate whether the compiler is version 1 or 2.  This is used in
  756. + ?S:    setting some of the default cflags.
  757. + ?S:.
  758.   ?D:cc='cc'
  759. + ?D:gccversion='1'
  760.   ?LINT:change cpp
  761.   : see if we need a special compiler
  762.   echo " "
  763. ***************
  764. *** 64,69 ****
  765.       cc="$ans"
  766.   fi
  767.   case "$cc" in
  768. ! gcc*) cpp=`./loc gcc-cpp $cpp $pth`;;
  769.   esac
  770.   
  771. --- 74,115 ----
  772.       cc="$ans"
  773.   fi
  774.   case "$cc" in
  775. ! gcc*)
  776. !     echo "Checking out which version of gcc you have..." >&4
  777. !     $cat >gccvers.c <<EOM
  778. ! #include <stdio.h>
  779. ! int main()
  780. ! {
  781. !     char *v;
  782. !     v = "unknown";
  783. ! #ifdef __GNUC__
  784. ! #ifdef __VERSION__
  785. !     v = __VERSION__;
  786. ! #endif
  787. ! #endif
  788. !     switch((int) v[0]) {
  789. !         case '1': printf("1\n"); break;
  790. !         case '2': printf("2\n"); break;
  791. !         case '3': printf("3\n"); break;
  792. !         default: break;
  793. !     }
  794. ! #ifdef __GNUC__
  795. !     return 0;
  796. ! #else
  797. !     return 1;
  798. ! #endif
  799. ! }
  800. ! EOM
  801. !     if $cc -o gccvers gccvers.c >/dev/null 2>&1; then
  802. !         gccversion=`./gccvers`
  803. !         echo "You appear to have version $gccversion."
  804. !     else
  805. !         echo "Doesn't appear to be GNU cc after all."
  806. !     fi
  807. !     $rm -f gccvers*
  808. !     if $test "$gccversion" = '1'; then
  809. !         cpp=`./loc gcc-cpp $cpp $pth`
  810. !     fi
  811. !     ;;
  812.   esac
  813.   
  814.  
  815. Index: kit/kitpost.man
  816. *** kit/kitpost.man.old    Fri May  6 17:28:06 1994
  817. --- kit/kitpost.man    Fri May  6 17:28:07 1994
  818. ***************
  819. *** 0 ****
  820. --- 1,86 ----
  821. + ''' $Id: kitpost.man,v 3.0.1.1 1994/05/06 13:55:01 ram Exp $
  822. + '''
  823. + '''  Copyright (c) 1991-1993, Raphael Manfredi
  824. + '''  
  825. + '''  You may redistribute only under the terms of the Artistic Licence,
  826. + '''  as specified in the README file that comes with the distribution.
  827. + '''  You may reuse parts of this distribution only within the terms of
  828. + '''  that same Artistic Licence; a copy of which may be found at the root
  829. + '''  of the source tree for dist 3.0.
  830. + '''
  831. + ''' $Log: kitpost.man,v $
  832. + ''' Revision 3.0.1.1  1994/05/06  13:55:01  ram
  833. + ''' patch23: created
  834. + '''
  835. + .TH KITSEND 1 ram
  836. + .SH NAME
  837. + kitpost \- posts distribution kits
  838. + .SH SYNOPSIS
  839. + .B kitpost
  840. + [
  841. + .B \-hrV
  842. + ] [
  843. + .B -H
  844. + .I file
  845. + ] [
  846. + .B -D
  847. + .I desc
  848. + ] [
  849. + .B -m
  850. + .I dest1,dest2
  851. + ] [ 
  852. + .I kits
  853. + ] [
  854. + .I newsgroups
  855. + ]
  856. + .SH DESCRIPTION
  857. + .I Kitpost
  858. + posts distribution kits made by \fImakedist\fR to some (source) newsgroups
  859. + specified on the command line. If you do not specify any kit list, then all the
  860. + kits are sent. Otherwise, only the specified kits will be (re)sent.
  861. + .PP
  862. + A kit list may include ranges, \fI1-10\fR specifying kits 1 through 10,
  863. + and \fI5-\fR meaning kits 5 up to the last one. You may also specify kit
  864. + numbers by separating them with commas or spaces, and even mix with ranges,
  865. + such as: \fI1 3 5-7 9\fR.
  866. + .PP
  867. + .I Kitpost
  868. + ensures correct \fIReferences:\fR lines are inserted in your postings so that
  869. + all parts but the first point to the root article. Threaded newsreaders and
  870. + end-users traditionally appreciate that.
  871. + .SH OPTIONS
  872. + The following options are recognized by \fIkitpost\fR:
  873. + .TP 10
  874. + .B \-h
  875. + Print help message and exit.
  876. + .TP
  877. + \fB\-m\fI dest1,destn\fR
  878. + Sends kits by e-mail to the specified recipients. This option may be used in
  879. + conjunction with newsgroup posting. It is mainly intended for sites where
  880. + direct posting to a moderated newsgroup is not allowed by \fIinews\fR. You may
  881. + thus send your kits to the newsgroup moderator in a form that will ease the
  882. + whole posting process.
  883. + .TP
  884. + .B \-r
  885. + Signals a repost.
  886. + .TP
  887. + \fB\-D\fI description\fR
  888. + Specify a description string that will be added to the subject line. Usually
  889. + a brief sentence (less than, say, 40 characters).
  890. + .TP
  891. + \fB\-H\fI file\fR
  892. + Specify a file to be used as header introduction in the first part of your
  893. + posting. Usually the root README file.
  894. + .TP
  895. + .B \-V
  896. + Print version number and exit.
  897. + .SH BUGS
  898. + Article cross-referencing is properly set-up only when the whole package is
  899. + (re)posted in one batch.
  900. + .PP
  901. + It is not currently possible to set-up the article headers manually or
  902. + better, interactively.
  903. + .SH AUTHOR
  904. + Raphael Manfredi <ram@acri.fr>
  905. + .SH "SEE ALSO"
  906. + makedist(1), kitsend(1).
  907.  
  908. Index: mcon/U/gidtype.U
  909. Prereq: 3.0
  910. *** mcon/U/gidtype.U.old    Fri May  6 17:28:22 1994
  911. --- mcon/U/gidtype.U    Fri May  6 17:28:23 1994
  912. ***************
  913. *** 1,4 ****
  914. ! ?RCS: $Id: gidtype.U,v 3.0 1993/08/18 12:08:11 ram Exp $
  915.   ?RCS:
  916.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  917.   ?RCS: 
  918. --- 1,4 ----
  919. ! ?RCS: $Id: gidtype.U,v 3.0.1.1 1994/05/06 15:01:51 ram Exp $
  920.   ?RCS:
  921.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  922.   ?RCS: 
  923. ***************
  924. *** 9,27 ****
  925.   ?RCS: of the source tree for dist 3.0.
  926.   ?RCS:
  927.   ?RCS: $Log: gidtype.U,v $
  928.   ?RCS: Revision 3.0  1993/08/18  12:08:11  ram
  929.   ?RCS: Baseline for dist 3.0 netwide release.
  930.   ?RCS:
  931. ! ?MAKE:gidtype: Myread Oldconfig contains Findhdr
  932.   ?MAKE:    -pick add $@ %<
  933.   ?S:gidtype:
  934. ! ?S:    This variable defines GIDTYPE to be something like gid_t, int, 
  935. ! ?S:    ushort, or whatever type is used to declare group ids in the kernel.
  936.   ?S:.
  937.   ?C:Gid_t (GIDTYPE):
  938. ! ?C:    This symbol holds the type used to declare user ids in the kernel.
  939. ! ?C:    It can be int, ushort, uid_t, etc... It may be necessary to include
  940. ! ?C:    <sys/types.h> to get any typedef'ed information.
  941.   ?C:.
  942.   ?H:#define Gid_t $gidtype        /* Type for getgid(), etc... */
  943.   ?H:.
  944. --- 9,34 ----
  945.   ?RCS: of the source tree for dist 3.0.
  946.   ?RCS:
  947.   ?RCS: $Log: gidtype.U,v $
  948. + ?RCS: Revision 3.0.1.1  1994/05/06  15:01:51  ram
  949. + ?RCS: patch23: protected gidtype setting via setvar (ADO)
  950. + ?RCS: patch23: made Gid_t comment more explicit (ADO)
  951. + ?RCS:
  952.   ?RCS: Revision 3.0  1993/08/18  12:08:11  ram
  953.   ?RCS: Baseline for dist 3.0 netwide release.
  954.   ?RCS:
  955. ! ?MAKE:gidtype: Myread Oldconfig contains Findhdr Setvar
  956.   ?MAKE:    -pick add $@ %<
  957.   ?S:gidtype:
  958. ! ?S:    This variable defines Gid_t to be something like gid_t, int,
  959. ! ?S:    ushort, or whatever type is used to declare the return type
  960. ! ?S:    of getgid().  Typically, it is the type of group ids in the kernel.
  961.   ?S:.
  962.   ?C:Gid_t (GIDTYPE):
  963. ! ?C:    This symbol holds the return type of getgid() and the type of
  964. ! ?C:    argument to setrgid() and related functions.  Typically,
  965. ! ?C:    it is the type of group ids in the kernel. It can be int, ushort,
  966. ! ?C:    uid_t, etc... It may be necessary to include <sys/types.h> to get
  967. ! ?C:    any typedef'ed information.
  968.   ?C:.
  969.   ?H:#define Gid_t $gidtype        /* Type for getgid(), etc... */
  970.   ?H:.
  971. ***************
  972. *** 43,49 ****
  973.   *)  dflt="$gidtype";;
  974.   esac
  975.   echo " "
  976. ! rp="What type are group ids on this system declared as?"
  977.   . ./myread
  978. ! gidtype="$ans"
  979.   
  980. --- 50,58 ----
  981.   *)  dflt="$gidtype";;
  982.   esac
  983.   echo " "
  984. ! rp="What is the type for group ids returned by getgid()?"
  985.   . ./myread
  986. ! val="$ans"
  987. ! set gidtype
  988. ! eval $setvar
  989.   
  990.  
  991. Index: mcon/U/d_shmat.U
  992. Prereq: 3.0
  993. *** mcon/U/d_shmat.U.old    Fri May  6 17:28:20 1994
  994. --- mcon/U/d_shmat.U    Fri May  6 17:28:20 1994
  995. ***************
  996. *** 1,4 ****
  997. ! ?RCS: $Id: d_shmat.U,v 3.0 1993/08/18 12:07:18 ram Exp $
  998.   ?RCS:
  999.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1000.   ?RCS: 
  1001. --- 1,4 ----
  1002. ! ?RCS: $Id: d_shmat.U,v 3.0.1.1 1994/05/06 14:54:18 ram Exp $
  1003.   ?RCS:
  1004.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1005.   ?RCS: 
  1006. ***************
  1007. *** 9,31 ****
  1008.   ?RCS: of the source tree for dist 3.0.
  1009.   ?RCS:
  1010.   ?RCS: $Log: d_shmat.U,v $
  1011.   ?RCS: Revision 3.0  1993/08/18  12:07:18  ram
  1012.   ?RCS: Baseline for dist 3.0 netwide release.
  1013.   ?RCS:
  1014. ! ?MAKE:d_shmat: Inlibc
  1015.   ?MAKE:    -pick add $@ %<
  1016.   ?S:d_shmat:
  1017.   ?S:    This variable conditionally defines the HAS_SHMAT symbol, which
  1018.   ?S:    indicates to the C program that the shmat() routine is available.
  1019.   ?S:.
  1020.   ?C:HAS_SHMAT:
  1021.   ?C:    This symbol, if defined, indicates that the shmat() routine is
  1022.   ?C:    available to attach a shared memory segment to the process space.
  1023.   ?C:.
  1024.   ?H:#$d_shmat HAS_SHMAT        /**/
  1025.   ?H:.
  1026.   ?LINT:set d_shmat
  1027.   : see if shmat exists
  1028.   set shmat d_shmat
  1029.   eval $inlibc
  1030.   
  1031. --- 9,59 ----
  1032.   ?RCS: of the source tree for dist 3.0.
  1033.   ?RCS:
  1034.   ?RCS: $Log: d_shmat.U,v $
  1035. + ?RCS: Revision 3.0.1.1  1994/05/06  14:54:18  ram
  1036. + ?RCS: patch23: new Shmat_t symbol to declare return type of shmat()
  1037. + ?RCS:
  1038.   ?RCS: Revision 3.0  1993/08/18  12:07:18  ram
  1039.   ?RCS: Baseline for dist 3.0 netwide release.
  1040.   ?RCS:
  1041. ! ?MAKE:d_shmat shmattype: Inlibc cat +cc +ccflags rm
  1042.   ?MAKE:    -pick add $@ %<
  1043.   ?S:d_shmat:
  1044.   ?S:    This variable conditionally defines the HAS_SHMAT symbol, which
  1045.   ?S:    indicates to the C program that the shmat() routine is available.
  1046.   ?S:.
  1047. + ?S:shmattype:
  1048. + ?S:    This symbol contains the type of pointer returned by shmat().
  1049. + ?S:    It can be 'void *' or 'char *'.
  1050. + ?S:.
  1051.   ?C:HAS_SHMAT:
  1052.   ?C:    This symbol, if defined, indicates that the shmat() routine is
  1053.   ?C:    available to attach a shared memory segment to the process space.
  1054.   ?C:.
  1055. + ?C:Shmat_t:
  1056. + ?C:    This symbol holds the return type of the shmat() system call.
  1057. + ?C:    Usually set to 'void *' or 'char *'.
  1058. + ?C:.
  1059.   ?H:#$d_shmat HAS_SHMAT        /**/
  1060. + ?H:#define Shmat_t $shmattype    /**/
  1061.   ?H:.
  1062.   ?LINT:set d_shmat
  1063.   : see if shmat exists
  1064.   set shmat d_shmat
  1065.   eval $inlibc
  1066. + : see what shmat returns
  1067. + case "$d_shmat" in
  1068. + "$define")
  1069. +     $cat >shmat.c <<'END'
  1070. + #include <sys/shm.h>
  1071. + void *shmat();
  1072. + END
  1073. +     if $cc $ccflags -c shmat.c >/dev/null 2>&1; then
  1074. +         shmattype='void *'
  1075. +     else
  1076. +         shmattype='char *'
  1077. +     fi
  1078. +     $rm -f shmat.[co]
  1079. +     echo "and it returns ($shmattype)." >&4
  1080. +     ;;
  1081. + esac
  1082.   
  1083.  
  1084. Index: mcon/U/cf_who.U
  1085. Prereq: 3.0
  1086. *** mcon/U/cf_who.U.old    Fri May  6 17:28:16 1994
  1087. --- mcon/U/cf_who.U    Fri May  6 17:28:16 1994
  1088. ***************
  1089. *** 1,4 ****
  1090. ! ?RCS: $Id: cf_who.U,v 3.0 1993/08/18 12:05:32 ram Exp $
  1091.   ?RCS:
  1092.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1093.   ?RCS: 
  1094. --- 1,4 ----
  1095. ! ?RCS: $Id: cf_who.U,v 3.0.1.1 1994/05/06 14:42:34 ram Exp $
  1096.   ?RCS:
  1097.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1098.   ?RCS: 
  1099. ***************
  1100. *** 9,14 ****
  1101. --- 9,17 ----
  1102.   ?RCS: of the source tree for dist 3.0.
  1103.   ?RCS:
  1104.   ?RCS: $Log: cf_who.U,v $
  1105. + ?RCS: Revision 3.0.1.1  1994/05/06  14:42:34  ram
  1106. + ?RCS: patch23: login name now computed the hard way
  1107. + ?RCS:
  1108.   ?RCS: Revision 3.0  1993/08/18  12:05:32  ram
  1109.   ?RCS: Baseline for dist 3.0 netwide release.
  1110.   ?RCS:
  1111. ***************
  1112. *** 16,22 ****
  1113.   ?X: Oldconfig dependency is there to ensure computation occurs after old values
  1114.   ?X: from config.sh have been loaded, so that we can supersede them.
  1115.   ?X:
  1116. ! ?MAKE:cf_time cf_by: date Oldconfig
  1117.   ?MAKE:    -pick add $@ %<
  1118.   ?S:cf_time:
  1119.   ?S:    Holds the output of the "date" command when the configuration file was
  1120. --- 19,25 ----
  1121.   ?X: Oldconfig dependency is there to ensure computation occurs after old values
  1122.   ?X: from config.sh have been loaded, so that we can supersede them.
  1123.   ?X:
  1124. ! ?MAKE:cf_time cf_by: cat date rm test Oldconfig
  1125.   ?MAKE:    -pick add $@ %<
  1126.   ?S:cf_time:
  1127.   ?S:    Holds the output of the "date" command when the configuration file was
  1128. ***************
  1129. *** 28,36 ****
  1130.   ?S:.
  1131.   : who configured the system
  1132.   cf_time=`$date 2>&1`
  1133.   ?X: Leave a white space between first two '(' for ksh. The sub-shell is needed
  1134.   ?X: on some machines to avoid the error message when logname is not found; e.g.
  1135.   ?X: on SUN-OS 3.2, (logname || whoami) would not execute whoami if logname was
  1136.   ?X: not found. Sigh!
  1137. ! cf_by=`( (logname) 2>/dev/null || whoami) 2>&1`
  1138.   
  1139. --- 31,50 ----
  1140.   ?S:.
  1141.   : who configured the system
  1142.   cf_time=`$date 2>&1`
  1143. + ?X:
  1144.   ?X: Leave a white space between first two '(' for ksh. The sub-shell is needed
  1145.   ?X: on some machines to avoid the error message when logname is not found; e.g.
  1146.   ?X: on SUN-OS 3.2, (logname || whoami) would not execute whoami if logname was
  1147.   ?X: not found. Sigh!
  1148. ! ?X:
  1149. ! ?X: Convex had a broken logname executable which returned a non-zero status,
  1150. ! ?X: and that broke the previous:
  1151. ! ?X:   cf_by=`( (logname) 2>/dev/null || whoami) 2>&1`
  1152. ! ?X: Switch to emergency mode... -- RAM, 19/04/94
  1153. ! ?X:
  1154. ! (logname > .temp) >/dev/null 2>&1
  1155. ! $test -s .temp || (whoami > .temp) >/dev/null 2>&1
  1156. ! $test -s .temp || echo unknown > .temp
  1157. ! cf_by=`$cat .temp`
  1158. ! $rm -f .temp
  1159.   
  1160.  
  1161. Index: mcon/U/libc.U
  1162. Prereq: 3.0.1.3
  1163. *** mcon/U/libc.U.old    Fri May  6 17:28:27 1994
  1164. --- mcon/U/libc.U    Fri May  6 17:28:27 1994
  1165. ***************
  1166. *** 1,4 ****
  1167. ! ?RCS: $Id: libc.U,v 3.0.1.3 1994/01/24 14:12:17 ram Exp $
  1168.   ?RCS:
  1169.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1170.   ?RCS: 
  1171. --- 1,4 ----
  1172. ! ?RCS: $Id: libc.U,v 3.0.1.4 1994/05/06 15:06:33 ram Exp $
  1173.   ?RCS:
  1174.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1175.   ?RCS: 
  1176. ***************
  1177. *** 9,14 ****
  1178. --- 9,17 ----
  1179.   ?RCS: of the source tree for dist 3.0.
  1180.   ?RCS:
  1181.   ?RCS: $Log: libc.U,v $
  1182. + ?RCS: Revision 3.0.1.4  1994/05/06  15:06:33  ram
  1183. + ?RCS: patch23: added shared library knowledge (ADO and WED)
  1184. + ?RCS:
  1185.   ?RCS: Revision 3.0.1.3  1994/01/24  14:12:17  ram
  1186.   ?RCS: patch16: can now export nm_extract as an internal-use only variable
  1187.   ?RCS:
  1188. ***************
  1189. *** 22,28 ****
  1190.   ?RCS: Baseline for dist 3.0 netwide release.
  1191.   ?RCS:
  1192.   ?MAKE:libc +nm_extract: echo n c rm test grep Getfile Myread Oldconfig Loc \
  1193. !     sed libs incpath libpth runnm nm_opt contains plibpth xlibpth
  1194.   ?MAKE:    -pick add $@ %<
  1195.   ?S:libc:
  1196.   ?S:    This variable contains the location of the C library.
  1197. --- 25,31 ----
  1198.   ?RCS: Baseline for dist 3.0 netwide release.
  1199.   ?RCS:
  1200.   ?MAKE:libc +nm_extract: echo n c rm test grep Getfile Myread Oldconfig Loc \
  1201. !     sed libs incpath libpth runnm nm_opt contains xlibpth
  1202.   ?MAKE:    -pick add $@ %<
  1203.   ?S:libc:
  1204.   ?S:    This variable contains the location of the C library.
  1205. ***************
  1206. *** 33,39 ****
  1207.   ?S:    internally by Configure.
  1208.   ?S:.
  1209.   ?T:thislib try libnames xxx xscan xrun thisname com tans
  1210. ! ?LINT:change libpth nm_opt
  1211.   case "$runnm" in
  1212.   true)
  1213.   ?X: indentation is wrong on purpose--RAM
  1214. --- 36,42 ----
  1215.   ?S:    internally by Configure.
  1216.   ?S:.
  1217.   ?T:thislib try libnames xxx xscan xrun thisname com tans
  1218. ! ?LINT:change nm_opt
  1219.   case "$runnm" in
  1220.   true)
  1221.   ?X: indentation is wrong on purpose--RAM
  1222. ***************
  1223. *** 46,52 ****
  1224.       esac
  1225.       ;;
  1226.   esac
  1227. - libpth="$plibpth $libpth"
  1228.   libnames='';
  1229.   case "$libs" in
  1230.   '') ;;
  1231. --- 49,54 ----
  1232. ***************
  1233. *** 62,68 ****
  1234.                   if test ! -f $try; then
  1235.                       try=`./loc Slib$thislib.a blurfl/dyick $xlibpth`
  1236.                       if test ! -f $try; then
  1237. !                         try=''
  1238.                       fi
  1239.                   fi
  1240.               fi
  1241. --- 64,76 ----
  1242.                   if test ! -f $try; then
  1243.                       try=`./loc Slib$thislib.a blurfl/dyick $xlibpth`
  1244.                       if test ! -f $try; then
  1245. !                         try=`./loc lib$thislib.so.'*' blurfl/dyick $libpth`
  1246. !                         if test ! -f $try; then
  1247. !                             try=`./loc lib$thislib.so blurfl/dyick $libpth`
  1248. !                             if test ! -f $try; then
  1249. !                                 try=''
  1250. !                             fi
  1251. !                         fi
  1252.                       fi
  1253.                   fi
  1254.               fi
  1255.  
  1256. Index: mcon/U/d_vfork.U
  1257. Prereq: 3.0.1.2
  1258. *** mcon/U/d_vfork.U.old    Fri May  6 17:28:22 1994
  1259. --- mcon/U/d_vfork.U    Fri May  6 17:28:22 1994
  1260. ***************
  1261. *** 1,4 ****
  1262. ! ?RCS: $Id: d_vfork.U,v 3.0.1.2 1993/10/16 13:49:39 ram Exp $
  1263.   ?RCS:
  1264.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1265.   ?RCS: 
  1266. --- 1,4 ----
  1267. ! ?RCS: $Id: d_vfork.U,v 3.0.1.3 1994/05/06 14:59:09 ram Exp $
  1268.   ?RCS:
  1269.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1270.   ?RCS: 
  1271. ***************
  1272. *** 9,14 ****
  1273. --- 9,17 ----
  1274.   ?RCS: of the source tree for dist 3.0.
  1275.   ?RCS:
  1276.   ?RCS: $Log: d_vfork.U,v $
  1277. + ?RCS: Revision 3.0.1.3  1994/05/06  14:59:09  ram
  1278. + ?RCS: patch23: now explicitely ask whether vfork() should be used (ADO)
  1279. + ?RCS:
  1280.   ?RCS: Revision 3.0.1.2  1993/10/16  13:49:39  ram
  1281.   ?RCS: patch12: added magic for vfork()
  1282.   ?RCS:
  1283. ***************
  1284. *** 19,30 ****
  1285.   ?RCS: Revision 3.0  1993/08/18  12:07:55  ram
  1286.   ?RCS: Baseline for dist 3.0 netwide release.
  1287.   ?RCS:
  1288. ! ?MAKE:d_vfork: Inlibc
  1289.   ?MAKE:    -pick add $@ %<
  1290.   ?S:d_vfork:
  1291.   ?S:    This variable conditionally defines the HAS_VFORK symbol, which
  1292.   ?S:    indicates the vfork() routine is available.
  1293.   ?S:.
  1294.   ?C:HAS_VFORK (VFORK):
  1295.   ?C:    This symbol, if defined, indicates that vfork() exists.
  1296.   ?C:.
  1297. --- 22,38 ----
  1298.   ?RCS: Revision 3.0  1993/08/18  12:07:55  ram
  1299.   ?RCS: Baseline for dist 3.0 netwide release.
  1300.   ?RCS:
  1301. ! ?MAKE:d_vfork usevfork: Inlibc Myread Oldconfig
  1302.   ?MAKE:    -pick add $@ %<
  1303.   ?S:d_vfork:
  1304.   ?S:    This variable conditionally defines the HAS_VFORK symbol, which
  1305.   ?S:    indicates the vfork() routine is available.
  1306.   ?S:.
  1307. + ?S:usevfork:
  1308. + ?S:    This variable is set to true when the user accepts to use vfork.
  1309. + ?S:    It is set to false when no vfork is available or when the user
  1310. + ?S:    explicitely requests not to use vfork.
  1311. + ?S:.
  1312.   ?C:HAS_VFORK (VFORK):
  1313.   ?C:    This symbol, if defined, indicates that vfork() exists.
  1314.   ?C:.
  1315. ***************
  1316. *** 48,51 ****
  1317. --- 56,84 ----
  1318.   : see if there is a vfork
  1319.   set vfork d_vfork
  1320.   eval $inlibc
  1321. + : Ok, but do we want to use it. vfork is reportedly unreliable in 
  1322. + : perl on Solaris 2.x, and probably elsewhere.
  1323. + case "$d_vfork" in
  1324. + $define)
  1325. +     echo " "
  1326. +     case "$usevfork" in
  1327. +     true) dflt='y';;
  1328. +     *) dflt='n';;
  1329. +     esac
  1330. +     rp="Some systems have problems with vfork().  Do you want to use it?"
  1331. +     . ./myread
  1332. +     case "$ans" in
  1333. +     y|Y) usevfork='true';;
  1334. +     *)
  1335. +         echo "Ok, we won't use vfork()."
  1336. +         d_vfork="$undef"
  1337. +         usevfork='false'
  1338. +         ;;
  1339. +     esac
  1340. +     ;;
  1341. + *)
  1342. +     usevfork='false'
  1343. +     ;;
  1344. + esac
  1345.   
  1346.  
  1347. Index: mcon/pl/extract.pl
  1348. Prereq: 3.0
  1349. *** mcon/pl/extract.pl.old    Fri May  6 17:28:39 1994
  1350. --- mcon/pl/extract.pl    Fri May  6 17:28:39 1994
  1351. ***************
  1352. *** 1,4 ****
  1353. ! ;# $Id: extract.pl,v 3.0 1993/08/18 12:10:22 ram Exp $
  1354.   ;#
  1355.   ;#  Copyright (c) 1991-1993, Raphael Manfredi
  1356.   ;#  
  1357. --- 1,4 ----
  1358. ! ;# $Id: extract.pl,v 3.0.1.1 1994/05/06 15:21:43 ram Exp $
  1359.   ;#
  1360.   ;#  Copyright (c) 1991-1993, Raphael Manfredi
  1361.   ;#  
  1362. ***************
  1363. *** 9,14 ****
  1364. --- 9,17 ----
  1365.   ;#  of the source tree for dist 3.0.
  1366.   ;#
  1367.   ;# $Log: extract.pl,v $
  1368. + ;# Revision 3.0.1.1  1994/05/06  15:21:43  ram
  1369. + ;# patch23: now saves the last unit line value for metalint
  1370. + ;#
  1371.   ;# Revision 3.0  1993/08/18  12:10:22  ram
  1372.   ;# Baseline for dist 3.0 netwide release.
  1373.   ;#
  1374. ***************
  1375. *** 23,28 ****
  1376. --- 26,32 ----
  1377.       local($dir, $unit);                    # Directory and unit's name
  1378.       local($old_version) = 0;            # True when old-version unit detected
  1379.       local($mc) = "$MC/U";                # Public metaconfig directory
  1380. +     local($line);                        # Last processed line for metalint
  1381.   
  1382.       printf "Extracting dependency lists from %d units...\n", $#ARGV+1
  1383.           unless $opt_s;
  1384. ***************
  1385. *** 50,55 ****
  1386. --- 54,60 ----
  1387.           $file = "$unit.U" if $dir eq $mc;
  1388.           print "$dir/$unit.U:\n" if $opt_d;
  1389.           line: while (<FILE>) {
  1390. +             $line = $_;                    # Save last processed unit line
  1391.               if (s/^\?([\w\-]+)://) {     # We may have found a control line
  1392.                   $proc = $Depend{$1};    # Look for a procedure to handle it
  1393.                   unless ($proc) {        # Unknown control line
  1394. ***************
  1395. *** 70,83 ****
  1396.               } else {
  1397.                   next file unless $body;        # No procedure to handle body
  1398.                   do {
  1399.                       eval { &$body($_) } ;    # From now on, it's the unit body
  1400. !                 } while ($_ = <FILE>);
  1401.                   next file;
  1402.               }
  1403.           }
  1404.       } continue {
  1405.           warn("    Warning: $file is a pre-3.0 version.\n") if $old_version;
  1406. !         &$ending if $ending;                # Post-processing for metalint
  1407.       }
  1408.   
  1409.       &end_extraction;        # End the extraction process
  1410. --- 75,89 ----
  1411.               } else {
  1412.                   next file unless $body;        # No procedure to handle body
  1413.                   do {
  1414. +                     $line = $_;                # Save last processed unit line
  1415.                       eval { &$body($_) } ;    # From now on, it's the unit body
  1416. !                 } while (defined ($_ = <FILE>));
  1417.                   next file;
  1418.               }
  1419.           }
  1420.       } continue {
  1421.           warn("    Warning: $file is a pre-3.0 version.\n") if $old_version;
  1422. !         &$ending($line) if $ending;            # Post-processing for metalint
  1423.       }
  1424.   
  1425.       &end_extraction;        # End the extraction process
  1426.  
  1427. Index: mcon/U/libyacc.U
  1428. Prereq: 3.0.1.1
  1429. *** mcon/U/libyacc.U.old    Fri May  6 17:28:29 1994
  1430. --- mcon/U/libyacc.U    Fri May  6 17:28:29 1994
  1431. ***************
  1432. *** 1,4 ****
  1433. ! ?RCS: $Id: libyacc.U,v 3.0.1.1 1994/01/24 14:13:49 ram Exp $
  1434.   ?RCS:
  1435.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1436.   ?RCS: 
  1437. --- 1,4 ----
  1438. ! ?RCS: $Id: libyacc.U,v 3.0.1.2 1994/05/06 15:09:01 ram Exp $
  1439.   ?RCS:
  1440.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1441.   ?RCS: 
  1442. ***************
  1443. *** 9,21 ****
  1444.   ?RCS: of the source tree for dist 3.0.
  1445.   ?RCS:
  1446.   ?RCS: $Log: libyacc.U,v $
  1447.   ?RCS: Revision 3.0.1.1  1994/01/24  14:13:49  ram
  1448.   ?RCS: patch16: un-obsoleted this unit for smooth yacc compilations
  1449.   ?RCS:
  1450.   ?RCS: Revision 3.0  1993/08/18  12:09:04  ram
  1451.   ?RCS: Baseline for dist 3.0 netwide release.
  1452.   ?RCS:
  1453. ! ?MAKE:libyacc: Loc yacc libpth test
  1454.   ?MAKE:    -pick add $@ %<
  1455.   ?S:libyacc:
  1456.   ?S:    This variable contains the argument to pass to the loader in order
  1457. --- 9,24 ----
  1458.   ?RCS: of the source tree for dist 3.0.
  1459.   ?RCS:
  1460.   ?RCS: $Log: libyacc.U,v $
  1461. + ?RCS: Revision 3.0.1.2  1994/05/06  15:09:01  ram
  1462. + ?RCS: patch23: now uses full library path instead of -l notation
  1463. + ?RCS:
  1464.   ?RCS: Revision 3.0.1.1  1994/01/24  14:13:49  ram
  1465.   ?RCS: patch16: un-obsoleted this unit for smooth yacc compilations
  1466.   ?RCS:
  1467.   ?RCS: Revision 3.0  1993/08/18  12:09:04  ram
  1468.   ?RCS: Baseline for dist 3.0 netwide release.
  1469.   ?RCS:
  1470. ! ?MAKE:libyacc: Loc yacc libpth
  1471.   ?MAKE:    -pick add $@ %<
  1472.   ?S:libyacc:
  1473.   ?S:    This variable contains the argument to pass to the loader in order
  1474. ***************
  1475. *** 27,48 ****
  1476.   echo " "
  1477.   case "$yacc" in
  1478.   *yacc)
  1479. !     if $test -r /usr/lib/liby.a || $test -r /usr/local/lib/liby.a ; then
  1480. !         echo "-ly found." >&4
  1481. !         libyacc='-ly'
  1482. !     else
  1483. !         xxx=`./loc liby.a x $libpth`
  1484. !         case "$xxx" in
  1485. !         x)
  1486. !             echo "No yacc library found." >&4
  1487. !             libyacc=''
  1488. !             ;;
  1489. !         *)
  1490. !             echo "yacc library found in $xxx." >&4
  1491. !             libyacc="$xxx"
  1492. !             ;;
  1493. !         esac
  1494. !     fi
  1495.       ;;
  1496.   *bison*)
  1497.       echo "You are using bison, so I won't look for a yacc library." >&4
  1498. --- 30,46 ----
  1499.   echo " "
  1500.   case "$yacc" in
  1501.   *yacc)
  1502. !     xxx=`./loc liby.a x $libpth`
  1503. !     case "$xxx" in
  1504. !     x)
  1505. !         echo "No yacc library found." >&4
  1506. !         libyacc=''
  1507. !         ;;
  1508. !     *)
  1509. !         echo "yacc library found in $xxx." >&4
  1510. !         libyacc="$xxx"
  1511. !         ;;
  1512. !     esac
  1513.       ;;
  1514.   *bison*)
  1515.       echo "You are using bison, so I won't look for a yacc library." >&4
  1516.  
  1517. Index: mcon/U/alignbytes.U
  1518. Prereq: 3.0
  1519. *** mcon/U/alignbytes.U.old    Fri May  6 17:28:13 1994
  1520. --- mcon/U/alignbytes.U    Fri May  6 17:28:13 1994
  1521. ***************
  1522. *** 1,4 ****
  1523. ! ?RCS: $Id: alignbytes.U,v 3.0 1993/08/18 12:05:23 ram Exp $
  1524.   ?RCS:
  1525.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1526.   ?RCS: 
  1527. --- 1,4 ----
  1528. ! ?RCS: $Id: alignbytes.U,v 3.0.1.1 1994/05/06 14:25:20 ram Exp $
  1529.   ?RCS:
  1530.   ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
  1531.   ?RCS: 
  1532. ***************
  1533. *** 9,14 ****
  1534. --- 9,17 ----
  1535.   ?RCS: of the source tree for dist 3.0.
  1536.   ?RCS:
  1537.   ?RCS: $Log: alignbytes.U,v $
  1538. + ?RCS: Revision 3.0.1.1  1994/05/06  14:25:20  ram
  1539. + ?RCS: patch23: avoid ALIGNBYTES, since it conflicts on NetBSD
  1540. + ?RCS:
  1541.   ?RCS: Revision 3.0  1993/08/18  12:05:23  ram
  1542.   ?RCS: Baseline for dist 3.0 netwide release.
  1543.   ?RCS:
  1544. ***************
  1545. *** 18,28 ****
  1546.   ?S:    This variable holds the number of bytes required to align a
  1547.   ?S:    double. Usual values are 2, 4 and 8.
  1548.   ?S:.
  1549. ! ?C:ALIGNBYTES:
  1550.   ?C:    This symbol contains the number of bytes required to align a
  1551.   ?C:    double. Usual values are 2, 4 and 8.
  1552.   ?C:.
  1553. ! ?H:#define ALIGNBYTES $alignbytes    /**/
  1554.   ?H:.
  1555.   : check for alignment requirements
  1556.   echo " "
  1557. --- 21,33 ----
  1558.   ?S:    This variable holds the number of bytes required to align a
  1559.   ?S:    double. Usual values are 2, 4 and 8.
  1560.   ?S:.
  1561. ! ?X: This used to be called ALIGNBYTES, but that conflicts with
  1562. ! ?X: <machines/param.h> in NetBSD.
  1563. ! ?C:MEM_ALIGNBYTES (ALIGNBYTES):
  1564.   ?C:    This symbol contains the number of bytes required to align a
  1565.   ?C:    double. Usual values are 2, 4 and 8.
  1566.   ?C:.
  1567. ! ?H:#define MEM_ALIGNBYTES $alignbytes    /**/
  1568.   ?H:.
  1569.   : check for alignment requirements
  1570.   echo " "
  1571.  
  1572. *** End of Patch 24 ***
  1573.  
  1574. exit 0 # Just in case...
  1575.