[comp.sources.bugs] dist 2.0 patch #1

lwall@jpl-devvax.JPL.NASA.GOV (Larry Wall) (08/05/88)

System: dist version 2.0
Patch #: 1
Priority: MEDIUM
Subject: new and fixed units
Subject: scripts now depend on perlpath

Description:
	We've got a bunch of new units.

	Perl scripts now use the perlpath variable to find perl.

	You now have better choice over which C compiler to use.

	Various other fixes.

Fix:	From rn, say "| patch -p -N -d DIR", where DIR is your dist source
	directory.  Outside of rn, say "cd DIR; patch -p -N <thisarticle".
	If you don't have the patch program, apply the following by hand,
	or get patch (version 2.0, latest patchlevel).

	After patching:
		*** DO NOTHING ***  Apply patch2 next.

	If patch indicates that patchlevel is the wrong version, you may need
	to apply one or more previous patches, or the patch may already
	have been applied.  See the patchlevel.h file to find out what has or
	has not been applied.  In any event, don't continue with the patch.

	If you are missing previous patches (hah!) they can be obtained from me:

	Larry Wall
	lwall@jpl-devvax.Jpl.Nasa.Gov

	If you send a mail message of the following form it will greatly speed
	processing:

	Subject: Command
	@SH mailpatch PATH dist 2.0 LIST
		   ^ note the c

	where PATH is a return path FROM ME TO YOU either in Internet notation,
	or in bang notation from some well-known host, and LIST is the number
	of one or more patches you need, separated by spaces, commas, and/or
	hyphens.  Saying 35- says everything from 35 to the end.


	You can also get the patches via anonymous FTP from
	jpl-devvax.Jpl.Nasa.Gov.  (128.149.8.43)

Index: patchlevel.h
Prereq: 0
1c1
< #define PATCHLEVEL 0
---
> #define PATCHLEVEL 1

Index: Configure
Prereq: 2.0
*** Configure.old	Fri Aug  5 00:53:26 1988
--- Configure	Fri Aug  5 00:53:27 1988
***************
*** 8,14 ****
  # and edit it to reflect your system.  Some packages may include samples
  # of config.h for certain machines, so you might look for one of those.)
  #
! # $Header: Configure,v 2.0 88/06/28 23:11:40 lwall Exp $
  #
  # Yes, you may rip this off to use in other distribution packages.
  # (Note: this Configure script was generated automatically.  Rather than
--- 8,14 ----
  # and edit it to reflect your system.  Some packages may include samples
  # of config.h for certain machines, so you might look for one of those.)
  #
! # $Header: Configure,v 2.0.1.1 88/08/04 23:43:07 lwall Exp $
  #
  # Yes, you may rip this off to use in other distribution packages.
  # (Note: this Configure script was generated automatically.  Rather than
***************
*** 66,71 ****
--- 66,72 ----
  mailx=''
  mail=''
  cpp=''
+ perl=''
  Log=''
  Header=''
  bin=''
***************
*** 86,91 ****
--- 87,93 ----
  passcat=''
  orgname=''
  package=''
+ perlpath=''
  spitshell=''
  shsharp=''
  sharpbang=''
***************
*** 115,127 ****
      eunicefix=/etc/unixtovms.exe
  fi
  
  attrlist="mc68000 sun gcos unix ibm gimpel interdata tss os mert pyr"
  attrlist="$attrlist vax pdp11 i8086 z8000 u3b2 u3b5 u3b20 u3b200"
  attrlist="$attrlist ns32000 ns16000 iAPX286 mc300 mc500 mc700 sparc"
  attrlist="$attrlist nsc32000 sinix xenix venix posix ansi M_XENIX"
! attrlist="$attrlist $mc68k __STDC__"
! pth="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /etc /usr/lib /lib"
! d_newshome="../../NeWS"
  defvoidused=7
  
  : some greps do not return status, grrr.
--- 117,136 ----
      eunicefix=/etc/unixtovms.exe
  fi
  
+ : Now test for existence of everything in MANIFEST
+ 
+ echo "First let's make sure your kit is complete.  Checking..."
+ (cd ..; cat `awk 'NR>4{print $1}' MANIFEST` >/dev/null || kill $$)
+ echo " "
+ 
  attrlist="mc68000 sun gcos unix ibm gimpel interdata tss os mert pyr"
  attrlist="$attrlist vax pdp11 i8086 z8000 u3b2 u3b5 u3b20 u3b200"
+ attrlist="$attrlist hpux hp9000s300 hp9000s500 hp9000s800"
  attrlist="$attrlist ns32000 ns16000 iAPX286 mc300 mc500 mc700 sparc"
  attrlist="$attrlist nsc32000 sinix xenix venix posix ansi M_XENIX"
! attrlist="$attrlist $mc68k __STDC__ UTS M_I8086 M_I186 M_I286 M_I386"
! pth="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /etc /usr/lib /lib /usr/local/lib"
! d_newshome="/usr/NeWS"
  defvoidused=7
  
  : some greps do not return status, grrr.
***************
*** 299,304 ****
--- 308,314 ----
  test
  inews
  vi
+ perl
  "
  for file in $loclist; do
      xxx=`loc $file $file $pth`
***************
*** 341,354 ****
      echo "Hopefully test is built into your sh."
      ;;
  /bin/test)
!     echo " "
!     dflt=n
!     rp="Is your "'"'"test"'"'" built into sh? [$dflt] (OK to guess)"
!     echo $n "$rp $c"
!     . myread
!     case "$ans" in
!     y*) test=test ;;
!     esac
      ;;
  *)
      test=test
--- 351,360 ----
      echo "Hopefully test is built into your sh."
      ;;
  /bin/test)
!     if sh -c "PATH= test true" >/dev/null 2>&1; then
! 	echo "Using the test built into your sh."
! 	test=test
!     fi
      ;;
  *)
      test=test
***************
*** 428,438 ****
  fi
  echo " "
  $echo $n "Extracting names from $libc for later perusal...$c"
! nm $libc 2>/dev/null | sed -n -e 's/^.* T _//p' -e 's/^.* T //p' > libc.list
  if $contains '^printf$' libc.list >/dev/null 2>&1; then
      echo "done"
  else
!     nm $libc 2>/dev/null | sed -n -e 's/^.* D _//p' -e 's/^.* D //p' > libc.list
      if $contains '^printf$' libc.list >/dev/null 2>&1; then
  	echo "done"
      else
--- 434,448 ----
  fi
  echo " "
  $echo $n "Extracting names from $libc for later perusal...$c"
! nm $libc 2>/dev/null >libc.tmp
! sed -n -e 's/^.* [AT] _//p' -e 's/^.* [AT] //p' <libc.tmp >libc.list
  if $contains '^printf$' libc.list >/dev/null 2>&1; then
      echo "done"
  else
!     sed -n -e 's/^.* D _//p' -e 's/^.* D //p' <libc.tmp >libc.list
!     $contains '^printf$' libc.list >/dev/null 2>&1 || \
!        sed -n -e 's/^_//' \
! 	      -e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p' <libc.tmp >libc.list
      if $contains '^printf$' libc.list >/dev/null 2>&1; then
  	echo "done"
      else
***************
*** 439,445 ****
  	echo " "
  	echo "nm didn't seem to work right."
  	echo "Trying ar instead..."
- 	rmlist="$rmlist libc.tmp"
  	if ar t $libc > libc.tmp; then
  	    sed -e 's/\.o$//' < libc.tmp > libc.list
  	    echo "Ok."
--- 449,454 ----
***************
*** 455,461 ****
  	fi
      fi
  fi
! rmlist="$rmlist libc.list"
  
  : make some quick guesses about what we are up against
  echo " "
--- 464,470 ----
  	fi
      fi
  fi
! rmlist="$rmlist libc.tmp libc.list"
  
  : make some quick guesses about what we are up against
  echo " "
***************
*** 804,810 ****
  : determine where manual pages go
  case "$mansrc" in
  '')
!     dflt=`loc . /usr/man/man1 /usr/man/mann /usr/man/local/man1 /usr/man/u_man/man1 /usr/man/man1`
      ;;
  *)  dflt="$mansrc"
      ;;
--- 813,819 ----
  : determine where manual pages go
  case "$mansrc" in
  '')
!     dflt=`loc . /usr/man/man1 /usr/man/mann /usr/man/manl /usr/man/local/man1 /usr/man/u_man/man1 /usr/man/man1`
      ;;
  *)  dflt="$mansrc"
      ;;
***************
*** 959,964 ****
--- 968,1014 ----
      orgname="$ans"
  done
  
+ : determine default editor
+ case "$perlpath" in
+ '')
+     if test -f /usr/bin/perl; then
+ 	dflt=/usr/bin/perl
+     else
+ 	case "$_perl" in
+ 	*/*) dflt="$_perl";;
+ 	*) dflt=/usr/bin/perl;;
+ 	esac
+     fi
+     ;;
+ *)  dflt="$perlpath"
+     ;;
+ esac
+ cont=true
+ while $test "$cont" ; do
+     echo " "
+     rp="Where is perl located on your system? [$dflt]"
+     $echo $n "$rp $c"
+     . myread
+     perlpath="$ans"
+     case "$ans" in
+     /*) if test -f $ans; then
+ 	    cont=''
+ 	else
+ 	    dflt=n
+ 	    rp="File $ans doesn't exist.  Use that name anyway? [$dflt]"
+ 	    $echo $n "$rp $c"
+ 	    . myread
+ 	    dflt=''
+ 	    case "$ans" in
+ 	    y*) cont='';;
+ 	    esac
+ 	fi
+ 	;;
+     *) echo "Please use an absolute path name."
+ 	;;
+     esac
+ done
+ 
  echo " "
  echo "End of configuration questions."
  echo " "
***************
*** 1002,1007 ****
--- 1052,1058 ----
  mailx='$mailx'
  mail='$mail'
  cpp='$cpp'
+ perl='$perl'
  Log='$Log'
  Header='$Header'
  bin='$bin'
***************
*** 1022,1027 ****
--- 1073,1079 ----
  passcat='$passcat'
  orgname='$orgname'
  package='$package'
+ perlpath='$perlpath'
  spitshell='$spitshell'
  shsharp='$shsharp'
  sharpbang='$sharpbang'

Index: mcon/U/Cppsym.U
Prereq: 2.0
*** mcon/U/Cppsym.U.old	Fri Aug  5 00:53:53 1988
--- mcon/U/Cppsym.U	Fri Aug  5 00:53:54 1988
***************
*** 1,4 ****
! ?RCS:$Header: Cppsym.U,v 2.0 88/06/28 23:12:50 lwall Exp $
  ?X: 
  ?X: This unit produces a shell script called Cppsym, which can be used to
  ?X: determine whether any in a list of symbols is defined by the C preprocessor.
--- 1,4 ----
! ?RCS:$Header: Cppsym.U,v 2.0.1.1 88/08/04 23:56:40 lwall Exp $
  ?X: 
  ?X: This unit produces a shell script called Cppsym, which can be used to
  ?X: determine whether any in a list of symbols is defined by the C preprocessor.
***************
*** 7,12 ****
--- 7,15 ----
  ?X: it in Myinit.U.
  ?X: 
  ?RCS: $Log:	Cppsym.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/04  23:56:40  lwall
+ ?RCS: patch1: added some new symbols
+ ?RCS: 
  ?RCS: Revision 2.0  88/06/28  23:12:50  lwall
  ?RCS: Baseline.
  ?RCS: 
***************
*** 14,22 ****
  ?MAKE:	-pick add $@ %*
  ?INIT:attrlist="mc68000 sun gcos unix ibm gimpel interdata tss os mert pyr"
  ?INIT:attrlist="$attrlist vax pdp11 i8086 z8000 u3b2 u3b5 u3b20 u3b200"
  ?INIT:attrlist="$attrlist ns32000 ns16000 iAPX286 mc300 mc500 mc700 sparc"
  ?INIT:attrlist="$attrlist nsc32000 sinix xenix venix posix ansi M_XENIX"
! ?INIT:attrlist="$attrlist $mc68k __STDC__"
  : get C preprocessor symbols handy
  echo " "
  echo $attrlist | $tr '[ - ]' '[\012-\012]' >Cppsym.know
--- 17,26 ----
  ?MAKE:	-pick add $@ %*
  ?INIT:attrlist="mc68000 sun gcos unix ibm gimpel interdata tss os mert pyr"
  ?INIT:attrlist="$attrlist vax pdp11 i8086 z8000 u3b2 u3b5 u3b20 u3b200"
+ ?INIT:attrlist="$attrlist hpux hp9000s300 hp9000s500 hp9000s800"
  ?INIT:attrlist="$attrlist ns32000 ns16000 iAPX286 mc300 mc500 mc700 sparc"
  ?INIT:attrlist="$attrlist nsc32000 sinix xenix venix posix ansi M_XENIX"
! ?INIT:attrlist="$attrlist $mc68k __STDC__ UTS M_I8086 M_I186 M_I286 M_I386"
  : get C preprocessor symbols handy
  echo " "
  echo $attrlist | $tr '[ - ]' '[\012-\012]' >Cppsym.know

Index: mcon/U/Init.U
Prereq: 2.0
*** mcon/U/Init.U.old	Fri Aug  5 00:53:58 1988
--- mcon/U/Init.U	Fri Aug  5 00:53:59 1988
***************
*** 1,9 ****
! ?RCS:$Header: Init.U,v 2.0 88/06/28 23:13:17 lwall Exp $
  ?X: 
  ?X: This file initializes certain default variables used by Configure.  They
  ?X: may be overridden or added to by definitions in Myinit.U.
  ?X: 
  ?RCS: $Log:	Init.U,v $
  ?RCS: Revision 2.0  88/06/28  23:13:17  lwall
  ?RCS: Baseline.
  ?RCS: 
--- 1,12 ----
! ?RCS:$Header: Init.U,v 2.0.1.1 88/08/04 23:57:36 lwall Exp $
  ?X: 
  ?X: This file initializes certain default variables used by Configure.  They
  ?X: may be overridden or added to by definitions in Myinit.U.
  ?X: 
  ?RCS: $Log:	Init.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/04  23:57:36  lwall
+ ?RCS: patch1: added test of MANIFEST files
+ ?RCS: 
  ?RCS: Revision 2.0  88/06/28  23:13:17  lwall
  ?RCS: Baseline.
  ?RCS: 
***************
*** 30,33 ****
--- 33,42 ----
  if test -f /etc/unixtovms.exe; then
      eunicefix=/etc/unixtovms.exe
  fi
+ 
+ : Now test for existence of everything in MANIFEST
+ 
+ echo "First let's make sure your kit is complete.  Checking..."
+ (cd ..; cat `awk 'NR>4{print $1}' MANIFEST` >/dev/null || kill $$)
+ echo " "
  

Index: mcon/U/Loc.U
Prereq: 2.0
*** mcon/U/Loc.U.old	Fri Aug  5 00:54:02 1988
--- mcon/U/Loc.U	Fri Aug  5 00:54:03 1988
***************
*** 1,4 ****
! ?RCS:$Header: Loc.U,v 2.0 88/06/28 23:13:25 lwall Exp $
  ?X: 
  ?X: This unit produces a shell script "loc" which can be used to find out
  ?X: where in a list of directories something is.  It then uses loc to
--- 1,4 ----
! ?RCS:$Header: Loc.U,v 2.0.1.1 88/08/04 23:59:16 lwall Exp $
  ?X: 
  ?X: This unit produces a shell script "loc" which can be used to find out
  ?X: where in a list of directories something is.  It then uses loc to
***************
*** 10,21 ****
  ?X: the loclist or trylist variable.
  ?X: 
  ?RCS: $Log:	Loc.U,v $
  ?RCS: Revision 2.0  88/06/28  23:13:25  lwall
  ?RCS: Baseline.
  ?RCS: 
! ?MAKE:Loc loclist expr sed echo cat rm mv cp tail tr mkdir sort uniq grep trylist test inews egrep more pg Mcc vi mailx mail cpp: startsh eunicefix n c Myread Oldconfig
  ?MAKE:	-pick weed $@ %*
! ?INIT:pth="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /etc /usr/lib /lib"
  : find out where common programs are
  echo " "
  echo "Locating common programs..."
--- 10,26 ----
  ?X: the loclist or trylist variable.
  ?X: 
  ?RCS: $Log:	Loc.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/04  23:59:16  lwall
+ ?RCS: patch1: can now find executables in /usr/local/lib
+ ?RCS: patch1: now locates perl
+ ?RCS: patch1: can now determine for itself if test is built into sh
+ ?RCS: 
  ?RCS: Revision 2.0  88/06/28  23:13:25  lwall
  ?RCS: Baseline.
  ?RCS: 
! ?MAKE:Loc loclist expr sed echo cat rm mv cp tail tr mkdir sort uniq grep trylist test inews egrep more pg Mcc vi mailx mail cpp perl: startsh eunicefix n c Myread Oldconfig
  ?MAKE:	-pick weed $@ %*
! ?INIT:pth="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /etc /usr/lib /lib /usr/local/lib"
  : find out where common programs are
  echo " "
  echo "Locating common programs..."
***************
*** 79,84 ****
--- 84,90 ----
  ?mailx:mailx
  ?mail:mail
  ?cpp:cpp
+ ?perl:perl
  "
  for file in $loclist; do
      xxx=`loc $file $file $pth`
***************
*** 121,135 ****
      echo "Hopefully test is built into your sh."
      ;;
  /bin/test)
!     echo " "
!     dflt=n
!     rp="Is your "'"'"test"'"'" built into sh? [$dflt] (OK to guess)"
! ?X: we don't know how $echo treats $n and $c yet, so use builtin
!     echo $n "$rp $c"
!     . myread
!     case "$ans" in
!     y*) test=test ;;
!     esac
      ;;
  *)
      test=test
--- 127,136 ----
      echo "Hopefully test is built into your sh."
      ;;
  /bin/test)
!     if sh -c "PATH= test true" >/dev/null 2>&1; then
! 	echo "Using the test built into your sh."
! 	test=test
!     fi
      ;;
  *)
      test=test

Index: MANIFEST
*** MANIFEST.old	Fri Aug  5 00:53:33 1988
--- MANIFEST	Fri Aug  5 00:53:34 1988
***************
*** 4,128 ****
  --------		--- -----------
  Configure                1 Portability tool.
  MANIFEST                 2 This list of files.
! Makefile                 6 A makefile to run subsidiary makefiles.
  README                   1 Basic instructions.
  config.h.SH              3 Produces config.h.
  kit/Makefile.SH          4 Builds kit builder.
  kit/README               1 Instructions on makedist.
  kit/makeSH               5 Does most of turning a script into an SH file.
! kit/makedist.SH          2 Makes a set of kits in the current directory.
! mcon/Makefile.SH         4 Builds metaconfig.
  mcon/README              1 Instructions on using metaconfig.
! mcon/U/AAAAA.U           5 Does magic before Head.U.
! mcon/U/Chk_whoami.U      6 A unit which checks for conflicts.
! mcon/U/Config_h.U        4 Makes config.h.SH--bizarrity here.
  mcon/U/Config_sh.U       6 Makes config.sh.
! mcon/U/Cppsym.U          3 Makes program to test for cpp symbols.
  mcon/U/End.U             6 "End of configuration questions"
  mcon/U/Filexp.U          5 Makes program to do tilde expansion.
! mcon/U/Finish.U          3 A unit which always goes last.
  mcon/U/Guess.U           3 Hazard guesses as to overall philosophy.
! mcon/U/Head.U            4 First unit, does "#!/bin/sh" et al.
! mcon/U/Init.U            5 Magically gathers ?Init: lines from other units.
! mcon/U/Instruct.U        1 Prints instructions.
  mcon/U/Loc.U             2 Look for common programs.
! mcon/U/Log.U             6 Some stupid redefinitions to keep RCS happy.
! mcon/U/Myinit.U          6 For copying to private U directories.
! mcon/U/Myread.U          5 Makes program to do read with shell escape.
! mcon/U/Null.U            6 Zeroes out variables.  Probably unnecessary.
! mcon/U/Oldconfig.U       5 Looks for old config.sh file.
  mcon/U/Warn_v7EXT.U      6 V7 has some ideosyncracies.
  mcon/U/Warn_v7ND.U       6 V7 has no O_NDELAY read.
! mcon/U/active.U          4 Find the news active file.
! mcon/U/bin.U             5 Find where to install public executables.
! mcon/U/cc.U              4 Find special compilers and options.
! mcon/U/contains.U        5 Makes status-returning grep.
! mcon/U/cpp.U             6 Where is the C preprocessor.
! mcon/U/d_bcopy.U         5 Do we have bcopy() or memcpy()?
  mcon/U/d_charsprf.U      5 How is sprintf() defined?
! mcon/U/d_crypt.U         5 Does crypt() exist?
  mcon/U/d_fcntl.U         6 Do we have fcntl()?
  mcon/U/d_flexfnam.U      5 Long filenames?
! mcon/U/d_ftime.U         5 Do we have ftime()?
! mcon/U/d_gethname.U      2 What is the C function to get host name?
! mcon/U/d_getpwent.U      5 How is passwd info gotten?
! mcon/U/d_havetlib.U      3 Where is termlib?
  mcon/U/d_hidnet.U        4 Do hiddennet stuff?
! mcon/U/d_index.U         4 index() vs strchr().
  mcon/U/d_internet.U      5 Use internet addresses?
! mcon/U/d_ioctl.U         5 Does sys/ioctl.h exist?
! mcon/U/d_news.U          3 What kind of NeWS is here?
! mcon/U/d_newsadm.U       4 Who is news administrator?
  mcon/U/d_nolnbuf.U       4 Is stdout line buffered?
  mcon/U/d_normsig.U       5 signal() vs sigset().
! mcon/U/d_portable.U      4 How portable do we want to be?
! mcon/U/d_raster.U        5 Is this a Raster Tech machine?
! mcon/U/d_rdchk.U         5 Is rdchk() there to check for input?
! mcon/U/d_scorfl.U        4 Keep scoreboards by full name?
! mcon/U/d_sgndchr.U       5 Are chars signed?
  mcon/U/d_speedopt.U      5 Optimize speed vs memory?
! mcon/U/d_statblks.U      5 Does stat know about blksize and blocks?
! mcon/U/d_stdstdio.U      5 How standard is stdio?
! mcon/U/d_strctcpy.U      5 Do we do struct copies?
! mcon/U/d_symlink.U       5 Does symlink() exist?
  mcon/U/d_termio.U        5 Termio vs sgtty.
! mcon/U/d_tminsys.U       5 Is struct tm in <sys/time.h>?
  mcon/U/d_usendir.U       4 Use our own ndir routines?
! mcon/U/d_vfork.U         5 vfork() vs fork().
! mcon/U/d_voidsig.U       5 How is signal() declared?
  mcon/U/d_whoami.U        6 Is there a whoami.h file?
! mcon/U/defeditor.U       5 Find default editor.
  mcon/U/filexp.U          6 Finds location of filexp made by Filexp.U.
! mcon/U/fpu.U             4 What kind of Sun fpu is in use?
! mcon/U/hostname.U        2 How to determine hostname from shell.
  mcon/U/libc.U            4 Where is libc?
! mcon/U/libnm.U           5 New math library?
! mcon/U/locdist.U         2 Find distribution names for news.
! mcon/U/maildir.U         5 Where is mail spooled.
  mcon/U/mailer.U          5 What delivers mail?
! mcon/U/mailfile.U        5 What filename in maildir?
! mcon/U/mallocsrc.U       4 Use malloc included in kit?
  mcon/U/mansrc.U          5 Where to put manual pages source.
! mcon/U/mboxchar.U        4 How to determine if file is mailbox.
  mcon/U/models.U          2 Large vs small, split I&D, etc.
! mcon/U/n.U               5 How to suppress newline with echo.
  mcon/U/nametype.U        3 How to get user's fullname.
  mcon/U/newslevel.U       5 What version of news are we running?
  mcon/U/newslib.U         4 Where is the news library?
! mcon/U/newsspool.U       4 Where is news spooled?
! mcon/U/orgname.U         4 What is the organizaton name?
! mcon/U/package.U         3 Gets package name from .package magically.
  mcon/U/pager.U           5 What's the pager, more or less?
! mcon/U/prefshell.U       4 Preferred user shell.
  mcon/U/privlib.U         5 Where is the private library?
! mcon/U/randbits.U        4 How many bits in rand()?
! mcon/U/registers.U       3 How many register declarations to use.
! mcon/U/rootid.U          4 Root user id.
! mcon/U/spitshell.U       4 Shell comment stripper, maybe.
! mcon/U/startsh.U         5 How to guarantee sh startup.
! mcon/U/stdchar.U         5 Are chars unsigned in stdio?
! mcon/U/sunscanf.U        5 Is this Sun's version of scanf()?
  mcon/U/voidflags.U       3 How supported is void?
  mcon/makegloss           3 Extracts Glossary from Unit files.
  mcon/metaconfig.SH       1 Writes Configure scripts for you.
  packinit.SH              2 Creates a .package file describing your package.
  pat/Makefile.SH          4 Builds patch generator.
  pat/README               1 Directions for patch generator.
! pat/mailagent            3 A sample mail agent.
  pat/mailpatch            4 A sample automatic patch mailer.
! pat/pat.SH               3 Check in, do diffs, make patch, send it.
  pat/patbase.SH           4 To set the base for future differences.
! pat/patchlevel.h         6 A prototype patchlevel.h file.
! pat/patcil.SH            3 Check in the latest changes.
! pat/patdiff.SH           2 Find the differences since patbase.
  pat/patftp.SH            4 Puts patches in ftp pub directory.
! pat/patindex             6 Generate an index of patches sent out.
  pat/patmake.SH           3 Put together a patch file.
  pat/patpost.SH           3 Sends patches via news.
! pat/patsend.SH           3 Sends patches via mail.
! patchlevel.h             6 The current patchlevel for dist.
  pl/fullname.pl           6 Perl library to get full name.
  pl/logname.pl            2 Perl library to get login name.
  pl/package.pl            6 Perl library to read .package.
  pl/rangeargs.pl          6 Perl library to expand number lists.
! pl/rcsargs.pl            5 Perl library to expand rcs filename lists.
--- 4,147 ----
  --------		--- -----------
  Configure                1 Portability tool.
  MANIFEST                 2 This list of files.
! Makefile                 4 A makefile to run subsidiary makefiles.
  README                   1 Basic instructions.
  config.h.SH              3 Produces config.h.
  kit/Makefile.SH          4 Builds kit builder.
  kit/README               1 Instructions on makedist.
  kit/makeSH               5 Does most of turning a script into an SH file.
! kit/makeSH.man           5 Manual page for same.
! kit/makedist.SH          3 Makes a set of kits in the current directory.
! kit/makedist.man         4 Manual page for same.
! mcon/Makefile.SH         5 Builds metaconfig.
  mcon/README              1 Instructions on using metaconfig.
! mcon/U/AAAAA.U           7 Does magic before Head.U.
! mcon/U/Chk_whoami.U      7 A unit which checks for conflicts.
! mcon/U/Config_h.U        5 Makes config.h.SH--bizarrity here.
  mcon/U/Config_sh.U       6 Makes config.sh.
! mcon/U/Cppsym.U          4 Makes program to test for cpp symbols.
  mcon/U/End.U             6 "End of configuration questions"
  mcon/U/Filexp.U          5 Makes program to do tilde expansion.
! mcon/U/Finish.U          4 A unit which always goes last.
  mcon/U/Guess.U           3 Hazard guesses as to overall philosophy.
! mcon/U/Head.U            5 First unit, does "#!/bin/sh" et al.
! mcon/U/Init.U            6 Magically gathers ?Init: lines from other units.
! mcon/U/Instruct.U        4 Prints instructions.
  mcon/U/Loc.U             2 Look for common programs.
! mcon/U/Log.U             5 Some stupid redefinitions to keep RCS happy.
! mcon/U/Myinit.U          7 For copying to private U directories.
! mcon/U/Myread.U          6 Makes program to do read with shell escape.
! mcon/U/Null.U            7 Zeroes out variables.  Probably unnecessary.
! mcon/U/Oldconfig.U       6 Looks for old config.sh file.
  mcon/U/Warn_v7EXT.U      6 V7 has some ideosyncracies.
  mcon/U/Warn_v7ND.U       6 V7 has no O_NDELAY read.
! mcon/U/active.U          5 Find the news active file.
! mcon/U/bin.U             6 Find where to install public executables.
! mcon/U/cc.U              5 Find special compilers and options.
! mcon/U/contains.U        6 Makes status-returning grep.
! mcon/U/cppstdin.U          0
! mcon/U/d_bcopy.U         6 Do we have bcopy() or memcpy()?
  mcon/U/d_charsprf.U      5 How is sprintf() defined?
! mcon/U/d_crypt.U         6 Does crypt() exist?
! mcon/U/d_dosuid.U        4 Do they want setuid emulation?
! mcon/U/d_fchmod.U        6 Do we have fchmod()?
! mcon/U/d_fchown.U        6 Do we have fchown()?
  mcon/U/d_fcntl.U         6 Do we have fcntl()?
  mcon/U/d_flexfnam.U      5 Long filenames?
! mcon/U/d_ftime.U         6 Do we have ftime()?
! mcon/U/d_getgrps.U       6 Do we have getgroups()?
! mcon/U/d_gethname.U      3 What is the C function to get host name?
! mcon/U/d_getpwent.U      6 How is passwd info gotten?
! mcon/U/d_havetlib.U      4 Where is termlib?
  mcon/U/d_hidnet.U        4 Do hiddennet stuff?
! mcon/U/d_index.U         5 index() vs strchr().
  mcon/U/d_internet.U      5 Use internet addresses?
! mcon/U/d_ioctl.U         6 Does sys/ioctl.h exist?
! mcon/U/d_killpg.U        6 Do we have killpg()?
! mcon/U/d_memcpy.U        6 Do we have memcpy()?
! mcon/U/d_news.U          4 What kind of NeWS is here?
! mcon/U/d_newsadm.U       5 Who is news administrator?
  mcon/U/d_nolnbuf.U       4 Is stdout line buffered?
  mcon/U/d_normsig.U       5 signal() vs sigset().
! mcon/U/d_portable.U      5 How portable do we want to be?
! mcon/U/d_raster.U        6 Is this a Raster Tech machine?
! mcon/U/d_rdchk.U         6 Is rdchk() there to check for input?
! mcon/U/d_rename.U        6 Do we have rename()?
! mcon/U/d_scorfl.U        5 Keep scoreboards by full name?
! mcon/U/d_setegid.U       6 Do we have setegid()?
! mcon/U/d_seteuid.U       6 Do we have seteuid()?
! mcon/U/d_setrgid.U       6 Do we have setrgid()?
! mcon/U/d_setruid.U       6 Do we have setruid()?
! mcon/U/d_sgndchr.U       6 Are chars signed?
  mcon/U/d_speedopt.U      5 Optimize speed vs memory?
! mcon/U/d_statblks.U      6 Does stat know about blksize and blocks?
! mcon/U/d_stdstdio.U      6 How standard is stdio?
! mcon/U/d_strcspn.U       6 Do we have strcspn()?
! mcon/U/d_strctcpy.U      6 Do we do struct copies?
! mcon/U/d_symlink.U       6 Does symlink() exist?
  mcon/U/d_termio.U        5 Termio vs sgtty.
! mcon/U/d_tminsys.U       6 Is struct tm in <sys/time.h>?
  mcon/U/d_usendir.U       4 Use our own ndir routines?
! mcon/U/d_vfork.U         6 vfork() vs fork().
! mcon/U/d_voidsig.U       6 How is signal() declared?
  mcon/U/d_whoami.U        6 Is there a whoami.h file?
! mcon/U/defeditor.U       6 Find default editor.
  mcon/U/filexp.U          6 Finds location of filexp made by Filexp.U.
! mcon/U/fpu.U             5 What kind of Sun fpu is in use?
! mcon/U/gidtype.U         5 What is the type of gids?
! mcon/U/hostname.U        3 How to determine hostname from shell.
  mcon/U/libc.U            4 Where is libc?
! mcon/U/libnm.U           6 New math library?
! mcon/U/locdist.U         3 Find distribution names for news.
! mcon/U/maildir.U         6 Where is mail spooled.
  mcon/U/mailer.U          5 What delivers mail?
! mcon/U/mailfile.U        1 What filename in maildir?
! mcon/U/mallocsrc.U       5 Use malloc included in kit?
  mcon/U/mansrc.U          5 Where to put manual pages source.
! mcon/U/mboxchar.U        5 How to determine if file is mailbox.
  mcon/U/models.U          2 Large vs small, split I&D, etc.
! mcon/U/n.U               6 How to suppress newline with echo.
  mcon/U/nametype.U        3 How to get user's fullname.
  mcon/U/newslevel.U       5 What version of news are we running?
  mcon/U/newslib.U         4 Where is the news library?
! mcon/U/newsspool.U       5 Where is news spooled?
! mcon/U/orgname.U         5 What is the organizaton name?
! mcon/U/package.U         7 Gets package name from .package magically.
  mcon/U/pager.U           5 What's the pager, more or less?
! mcon/U/prefshell.U       5 Preferred user shell.
  mcon/U/privlib.U         5 Where is the private library?
! mcon/U/randbits.U        5 How many bits in rand()?
! mcon/U/registers.U       4 How many register declarations to use.
! mcon/U/rootid.U          6 Root user id.
! mcon/U/spitshell.U       5 Shell comment stripper, maybe.
! mcon/U/startsh.U         6 How to guarantee sh startup.
! mcon/U/stdchar.U         6 Are chars unsigned in stdio?
! mcon/U/sunscanf.U        6 Is this Sun's version of scanf()?
! mcon/U/uidtype.U         6 What is the type of uids?
  mcon/U/voidflags.U       3 How supported is void?
  mcon/makegloss           3 Extracts Glossary from Unit files.
  mcon/metaconfig.SH       1 Writes Configure scripts for you.
+ mcon/metaconfig.man      2 Manual page for same.
  packinit.SH              2 Creates a .package file describing your package.
  pat/Makefile.SH          4 Builds patch generator.
  pat/README               1 Directions for patch generator.
! pat/mailagent            4 A sample mail agent.
  pat/mailpatch            4 A sample automatic patch mailer.
! pat/pat.SH               4 Check in, do diffs, make patch, send it.
! pat/pat.man              2 Manual page for same.
  pat/patbase.SH           4 To set the base for future differences.
! pat/patchlevel.h         7 A prototype patchlevel.h file.
! pat/patcil.SH            2 Check in the latest changes.
! pat/patdiff.SH           3 Find the differences since patbase.
  pat/patftp.SH            4 Puts patches in ftp pub directory.
! pat/patindex             7 Generate an index of patches sent out.
  pat/patmake.SH           3 Put together a patch file.
  pat/patpost.SH           3 Sends patches via news.
! pat/patsend.SH           4 Sends patches via mail.
! patchlevel.h             3 The current patchlevel for dist.
! pl/comment.pl            6 Perl library to find comment in front of $Log.
  pl/fullname.pl           6 Perl library to get full name.
  pl/logname.pl            2 Perl library to get login name.
  pl/package.pl            6 Perl library to read .package.
  pl/rangeargs.pl          6 Perl library to expand number lists.
! pl/rcsargs.pl            6 Perl library to expand rcs filename lists.

Index: README
*** README.old	Fri Aug  5 00:53:38 1988
--- README	Fri Aug  5 00:53:39 1988
***************
*** 6,11 ****
--- 6,13 ----
  make money off it, or pretend that you wrote it.
  --------------------------------------------------------------------------
  
+ NOTE: This version of dist requires you to have version 2.0 of perl.
+ 
  Please read all the directions below before you proceed any further, and
  then follow them carefully.  Failure to do so may void your warranty. :-)
  

Index: mcon/U/cc.U
Prereq: 2.0
*** mcon/U/cc.U.old	Fri Aug  5 00:54:05 1988
--- mcon/U/cc.U	Fri Aug  5 00:54:06 1988
***************
*** 1,55 ****
! ?RCS:$Header: cc.U,v 2.0 88/06/28 23:14:06 lwall Exp $
! ?RCS: $Log:	cc.U,v $
! ?RCS: Revision 2.0  88/06/28  23:14:06  lwall
! ?RCS: Baseline.
! ?RCS: 
! ?MAKE:cc: echo mansrc cat n c Mcc Myread Guess Oldconfig large
! ?MAKE:	-pick add $@ %*
! ?S:cc:
! ?S:	This variable holds the name of a command to execute a C compiler which
! ?S:	can resolve multiple global references that happen to have the same
! ?S:	name.  Usual values are "cc", "Mcc", and "cc -M".
! ?S:.
! : see if we need a special compiler
! echo " "
! if usg; then
!     case "$cc" in
!     '')
! 	case "$Mcc" in
! 	/*) dflt='Mcc'
! 	    ;;
! 	*)
! 	    case "$large" in
! 	    -M*)
! 		dflt='cc'
! 		;;
! 	    *)
! 		if $contains '\-M' $mansrc/cc.1 >/dev/null 2>&1 ; then
! 		    dflt='cc -M'
! 		else
! 		    dflt='cc'
! 		fi
! 		;;
! 	    esac
! 	    ;;
! 	esac
! 	;;
!     *)  dflt="$cc";;
!     esac
!     $cat <<'EOM'
!  
! On some systems the default C compiler will not resolve multiple global
! references that happen to have the same name.  On some such systems the
! "Mcc" command may be used to force these to be resolved.  On other systems
! a "cc -M" command is required.  (Note that the -M flag on other systems
! indicates a memory model to use!)  What command will force resolution on
! EOM
!     $echo $n "this system? [$dflt] $c"
!     rp="Command to resolve multiple refs? [$dflt]"
!     . myread
!     cc="$ans"
! else
!     echo "Not a USG system--assuming cc can resolve multiple definitions."
!     cc=cc
! fi
! 
--- 1 ----
! ?X: delete me

Index: pl/comment.pl
No differences encountered

Index: config.h.SH
*** config.h.SH.old	Fri Aug  5 00:53:43 1988
--- config.h.SH	Fri Aug  5 00:53:43 1988
***************
*** 83,86 ****
--- 83,91 ----
   */
  #define ORGNAME "$orgname"		/**/
  
+ /* PERLPATH:
+  *	This symbol contains the absolute location of the perl interpeter.
+  */
+ #define PERLPATH "$perlpath"		/**/
+ 
  !GROK!THIS!

Index: mcon/U/cppstdin.U
*** mcon/U/cppstdin.U.old	Fri Aug  5 00:54:08 1988
--- mcon/U/cppstdin.U	Fri Aug  5 00:54:10 1988
***************
*** 0 ****
--- 1,131 ----
+ ?RCS:$Header: cppstdin.U,v 2.0.1.1 88/08/05 00:41:49 lwall Exp $
+ ?RCS: $Log:	cppstdin.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:41:49  lwall
+ ?RCS: dummy null revision.
+ ?RCS: 
+ ?RCS: Revision 1.0.1.1  88/01/21  22:53:18  lwall
+ ?RCS: Now assumes input to cpp will be via stdin.  cppminus is '-' if necessary.
+ ?RCS: 
+ ?RCS: Revision 1.0  87/05/22  12:30:23  lwall
+ ?RCS: Initial revision
+ ?RCS: 
+ ?MAKE:cppstdin cppminus: contains echo n c Myread Oldconfig Loc cpp cc
+ ?MAKE:	-pick add $@ %*
+ ?S:cppstdin:
+ ?S:	This variable contains the command which will invoke the C
+ ?S:	preprocessor on standard input and put the output to stdout.
+ ?S:	It is primarily used by other Configure units that ask about
+ ?S:	preprocessor symbols.
+ ?S:.
+ ?S:cppminus:
+ ?S:	This variable contains the second part of the string which will invoke
+ ?S:	the C preprocessor on the standard input and produce to standard
+ ?S:	output.  This variable will have the value "-" if cppstdin needs a minus
+ ?S:	to specify standard input, otherwise the value is "".
+ ?S:.
+ ?C:CPPSTDIN:
+ ?C:	This symbol contains the first part of the string which will invoke
+ ?C:	the C preprocessor on the standard input and produce to standard
+ ?C:	output.	 Typical value of "cc -E" or "/lib/cpp".
+ ?C:.
+ ?C:CPPMINUS:
+ ?C:	This symbol contains the second part of the string which will invoke
+ ?C:	the C preprocessor on the standard input and produce to standard
+ ?C:	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
+ ?C:	to specify standard input, otherwise the value is "".
+ ?C:.
+ ?H:?%1:#define CPPSTDIN "$cppstdin"
+ ?H:?%1:#define CPPMINUS "$cppminus"
+ ?H:?%1:
+ : see how we invoke the C preprocessor
+ echo " "
+ echo "Now, how can we feed standard input to your C preprocessor..."
+ cat <<'EOT' >testcpp.c
+ #define ABC abc
+ #define XYZ xyz
+ ABC.XYZ
+ EOT
+ echo 'Maybe "'"$cc"' -E" will work...'
+ $cc -E <testcpp.c >testcpp.out 2>&1
+ if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+     echo "Yup, it does."
+     cppstdin="$cc -E"
+     cppminus='';
+ else
+     echo 'Nope, maybe "'$cpp'" will work...'
+     $cpp <testcpp.c >testcpp.out 2>&1
+     if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ 	echo "Yup, it does."
+ 	cppstdin="$cpp"
+ 	cppminus='';
+     else
+ 	echo 'No such luck...maybe "'$cpp' -" will work...'
+ 	$cpp - <testcpp.c >testcpp.out 2>&1
+ 	if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ 	    echo "It works!"
+ 	    cppstdin="$cpp"
+ 	    cppminus='-';
+ 	else
+ 	    echo 'Nixed again...maybe "'"$cc"' -E -" will work...'
+ 	    $cc -E - <testcpp.c >testcpp.out 2>&1
+ 	    if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ 		echo "Hooray, it works!  I was beginning to wonder."
+ 		cppstdin="$cc -E"
+ 		cppminus='-';
+ 	    else
+ 		echo 'Nope...maybe "'"$cc"' -P" will work...'
+ 		$cc -P <testcpp.c >testcpp.out 2>&1
+ 		if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ 		    echo "Yup, that does."
+ 		    cppstdin="$cc -P"
+ 		    cppminus='';
+ 		else
+ 		    echo 'Nope...maybe "'"$cc"' -P -" will work...'
+ 		    $cc -P - <testcpp.c >testcpp.out 2>&1
+ 		    if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ 			echo "Yup, that does."
+ 			cppstdin="$cc -P"
+ 			cppminus='-';
+ 		    else
+ 			echo 'Hmm...perhaps you already told me...'
+ 			case "$cppstdin" in
+ 			'') ;;
+ 			*) $cppstdin $cppminus <testcpp.c >testcpp.out 2>&1;;
+ 			esac
+ 			if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ 			    echo "Hooray, you did!  I was beginning to wonder."
+ 			else
+ 			    echo 'Uh-uh.  Time to get fancy...'
+ 			    cd ..
+ 			    echo 'Trying (cat >/tmp/$$.c; '"$cc"' -E /tmp/$$.c; rm /tmp/$$.c)'
+ 			    echo 'cat >/tmp/$$.c; '"$cc"' -E /tmp/$$.c; rm /tmp/$$.c' >cppstdin
+ 			    chmod 755 cppstdin
+ 			    cppstdin=`pwd`/cppstdin
+ 			    cppminus='';
+ 			    cd UU
+ 			    $cppstdin <testcpp.c >testcpp.out 2>&1
+ 			    if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ 				echo "Eureka!."
+ 			    else
+ 				dflt=blurfl
+ 				$echo $n "No dice.  I can't find a C preprocessor.  Name one: $c"
+ 				rp='Name a C preprocessor:'
+ 				. myread
+ 				cppstdin="$ans"
+ 				$cppstdin <testcpp.c >testcpp.out 2>&1
+ 				if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ 				    echo "OK, that will do."
+ 				else
+ 				    echo "Sorry, I can't get that to work.  Go find one."
+ 				    exit 1
+ 				fi
+ 			    fi
+ 			fi
+ 		    fi
+ 		fi
+ 	    fi
+ 	fi
+     fi
+ fi
+ rm -f testcpp.c testcpp.out
+ 

Index: mcon/U/d_charsprf.U
Prereq: 2.0
*** mcon/U/d_charsprf.U.old	Fri Aug  5 00:54:12 1988
--- mcon/U/d_charsprf.U	Fri Aug  5 00:54:13 1988
***************
*** 1,9 ****
! ?RCS:$Header: d_charsprf.U,v 2.0 88/06/28 23:14:20 lwall Exp $
  ?RCS: $Log:	d_charsprf.U,v $
  ?RCS: Revision 2.0  88/06/28  23:14:20  lwall
  ?RCS: Baseline.
  ?RCS: 
! ?MAKE:d_charsprf: contains
  ?MAKE:	-pick add $@ %*
  ?S:d_charsprf:
  ?S:	This variable conditionally defines CHARSPRINTF if this system
--- 1,12 ----
! ?RCS:$Header: d_charsprf.U,v 2.0.1.1 88/08/05 00:01:24 lwall Exp $
  ?RCS: $Log:	d_charsprf.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:01:24  lwall
+ ?RCS: patch1: made it call the right version of cc
+ ?RCS: 
  ?RCS: Revision 2.0  88/06/28  23:14:20  lwall
  ?RCS: Baseline.
  ?RCS: 
! ?MAKE:d_charsprf: contains cc
  ?MAKE:	-pick add $@ %*
  ?S:d_charsprf:
  ?S:	This variable conditionally defines CHARSPRINTF if this system
***************
*** 23,29 ****
  cat >.ucbsprf.c <<'EOF'
  main() { char buf[10]; exit((unsigned long)sprintf(buf,"%s","foo") > 10L); }
  EOF
! if cc .ucbsprf.c -o .ucbsprf >/dev/null 2>&1 && .ucbsprf; then
      echo "Your sprintf() returns (int)."
      d_charsprf="$undef"
  else
--- 26,32 ----
  cat >.ucbsprf.c <<'EOF'
  main() { char buf[10]; exit((unsigned long)sprintf(buf,"%s","foo") > 10L); }
  EOF
! if $cc .ucbsprf.c -o .ucbsprf >/dev/null 2>&1 && .ucbsprf; then
      echo "Your sprintf() returns (int)."
      d_charsprf="$undef"
  else

Index: mcon/U/d_dosuid.U
Prereq: 2.0
*** mcon/U/d_dosuid.U.old	Fri Aug  5 00:54:16 1988
--- mcon/U/d_dosuid.U	Fri Aug  5 00:54:17 1988
***************
*** 1,5 ****
! ?RCS:$Header: d_dosuid.U,v 2.0 88/06/29 00:18:20 lwall Exp $
  ?RCS: $Log:	d_dosuid.U,v $
  ?RCS: Revision 2.0  88/06/29  00:18:20  lwall
  ?RCS: Baseline.
  ?RCS: 
--- 1,8 ----
! ?RCS:$Header: d_dosuid.U,v 2.0.1.1 88/08/05 00:01:46 lwall Exp $
  ?RCS: $Log:	d_dosuid.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:01:46  lwall
+ ?RCS: patch1: now defaults to no
+ ?RCS: 
  ?RCS: Revision 2.0  88/06/29  00:18:20  lwall
  ?RCS: Baseline.
  ?RCS: 
***************
*** 27,38 ****
  ?H:?%1:
  : now see if they want to do setuid emulation
  case "$d_dosuid" in
! '') if bsd; then
! 	dflt=y
!     else
! 	dflt=n
!     fi
!     ;;
  *undef*) dflt=n;;
  *) dflt=y;;
  esac
--- 30,36 ----
  ?H:?%1:
  : now see if they want to do setuid emulation
  case "$d_dosuid" in
! '') dflt=n;;
  *undef*) dflt=n;;
  *) dflt=y;;
  esac

Index: mcon/U/d_getopt.U
*** mcon/U/d_getopt.U.old	Fri Aug  5 00:54:21 1988
--- mcon/U/d_getopt.U	Fri Aug  5 00:54:23 1988
***************
*** 0 ****
--- 1,29 ----
+ ?RCS: $Header: d_getopt.U,v 2.0.1.1 88/08/05 00:44:06 lwall Exp $
+ ?X: d_getopt.U, from d_ftime.U 1.0
+ ?X:
+ ?RCS: $Log:	d_getopt.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:44:06  lwall
+ ?RCS: dummy null revision.
+ ?RCS: 
+ ?MAKE:d_getopt: contains libc
+ ?MAKE:	-pick add $@ %*
+ ?S:d_getopt:
+ ?S:	This variable conditionally defines the GETOPT symbol, which indicates
+ ?S:	that the getopt() routine exists.  The getopt() routine parses command
+ ?S:	line options in a standard fashion.
+ ?S:.
+ ?C:GETOPT:
+ ?C:	This symbol, if defined, indicates that the getopt() routine exists.
+ ?C:.
+ ?H:?%1:#$d_getopt	GETOPT		/**/
+ ?H:?%1:
+ : see if getopt exists
+ echo " "
+ if $contains getopt libc.list >/dev/null 2>&1; then
+     echo 'getopt() found.'
+     d_getopt="$define"
+ else
+     echo 'getopt() not found--will use our getopt instead.'
+     d_getopt="$undef"
+ fi
+ 

Index: mcon/U/d_itimer.U
*** mcon/U/d_itimer.U.old	Fri Aug  5 00:54:25 1988
--- mcon/U/d_itimer.U	Fri Aug  5 00:54:26 1988
***************
*** 0 ****
--- 1,45 ----
+ ?RCS: $Header: d_itimer.U,v 2.0.1.1 88/08/05 00:44:50 lwall Exp $
+ ?X: d_itimer.U, from d_ftime.U 1.0
+ ?X:
+ ?RCS: $Log:	d_itimer.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:44:50  lwall
+ ?RCS: patch1: created
+ ?RCS: 
+ ?MAKE:d_itimer d_systime: contains libc
+ ?MAKE:	-pick add $@ %*
+ ?S:d_itimer:
+ ?S:	This variable conditionally defines the ITIMER symbol, which indicates
+ ?S:	that the setitimer() routine exists.  The setitimer() routine supports
+ ?S:	sub-second accuracy for one real-time and two cpu clocks.
+ ?S:.
+ ?S:d_systime:
+ ?S:	This variable contains the path of the include file which contains the
+ ?S:	struct timeval and itimer definitions.
+ ?S:.
+ ?C:ITIMER:
+ ?C:	This symbol, if defined, indicates that the setitimer() routine exists.
+ ?C:.
+ ?C:SYSTIME:
+ ?C:	This symbol is the include file which contains the struct timeval and
+ ?C:	itimer definitions.
+ ?C:.
+ ?H:?%1:#$d_itimer	ITIMER		/**/
+ ?H:?%1:
+ ?H:?%1:#define	SYSTIME	"$d_systime"	/**/
+ ?H:?%1:
+ : see if setitimer exists
+ echo " "
+ if $contains setitimer libc.list >/dev/null 2>&1; then
+     echo 'setitimer() found.'
+     d_itimer="$define"
+     if test -f /usr/include/sys/time.h; then
+ 	d_systime=/usr/include/sys/time.h
+     else
+ 	d_systime=/usr/include/time.h
+     fi
+ else
+     echo 'setitimer() not found--timing may be less accurate.'
+     d_itimer="$undef"
+     d_systime=/usr/include/time.h
+ fi
+ 

Index: mcon/U/d_mkdir.U
*** mcon/U/d_mkdir.U.old	Fri Aug  5 00:54:31 1988
--- mcon/U/d_mkdir.U	Fri Aug  5 00:54:33 1988
***************
*** 0 ****
--- 1,31 ----
+ ?RCS:$Header: d_mkdir.U,v 2.0.1.1 88/08/05 00:45:52 lwall Exp $
+ ?RCS: $Log:	d_mkdir.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:45:52  lwall
+ ?RCS: patch1: created
+ ?RCS: 
+ ?RCS: 
+ ?RCS: 
+ ?MAKE:d_mkdir: contains Guess
+ ?MAKE:	-pick add $@ %*
+ ?S:d_mkdir:
+ ?S:	This variable conditionally defines the MKDIR symbol, which
+ ?S:	indicates to the C program that the mkdir() routine is available
+ ?S:	to create directories..
+ ?S:.
+ ?C:MKDIR:
+ ?C:	This symbol, if defined, indicates that the mkdir routine is available
+ ?C:	to create directories.  Otherwise you should fork off a new process to
+ ?C:	exec /bin/mkdir.
+ ?C:.
+ ?H:?%1:#$d_mkdir	MKDIR		/**/
+ ?H:?%1:
+ : see if mkdir exists
+ echo " "
+ if $contains '^mkdir$' libc.list >/dev/null 2>&1; then
+     echo 'mkdir() found.'
+     d_mkdir="$define"
+ else
+     echo 'mkdir() not found.'
+     d_mkdir="$undef"
+ fi
+ 

Index: mcon/U/d_news.U
Prereq: 2.0
*** mcon/U/d_news.U.old	Fri Aug  5 00:54:35 1988
--- mcon/U/d_news.U	Fri Aug  5 00:54:36 1988
***************
*** 1,4 ****
! ?RCS:$Header: d_news.U,v 2.0 88/06/28 23:15:12 lwall Exp $
  ?RCS: 
  ?RCS: Revision 1.0  87/05/22  12:30:34  siegel
  ?RCS: This unit looks to see what window system you are using
--- 1,4 ----
! ?RCS:$Header: d_news.U,v 2.0.1.1 88/08/05 00:10:39 lwall Exp $
  ?RCS: 
  ?RCS: Revision 1.0  87/05/22  12:30:34  siegel
  ?RCS: This unit looks to see what window system you are using
***************
*** 6,12 ****
  ?RCS: 
  ?MAKE:d_news d_news0 d_newshome d_textcan: contains echo n Myread c
  ?MAKE:	-pick add $@ %*
! ?INIT:d_newshome="../../NeWS"
  ?S:d_news:
  ?S:	Set if running NeWS 1.1
  ?S:.
--- 6,12 ----
  ?RCS: 
  ?MAKE:d_news d_news0 d_newshome d_textcan: contains echo n Myread c
  ?MAKE:	-pick add $@ %*
! ?INIT:d_newshome="/usr/NeWS"
  ?S:d_news:
  ?S:	Set if running NeWS 1.1
  ?S:.

Index: mcon/U/d_nolnbuf.U
Prereq: 2.0
*** mcon/U/d_nolnbuf.U.old	Fri Aug  5 00:54:39 1988
--- mcon/U/d_nolnbuf.U	Fri Aug  5 00:54:40 1988
***************
*** 1,9 ****
! ?RCS:$Header: d_nolnbuf.U,v 2.0 88/06/28 23:15:22 lwall Exp $
  ?RCS: $Log:	d_nolnbuf.U,v $
  ?RCS: Revision 2.0  88/06/28  23:15:22  lwall
  ?RCS: Baseline.
  ?RCS: 
! ?MAKE:d_nolnbuf: Guess n c echo test Myread
  ?MAKE:	-pick add $@ %*
  ?S:d_nolnbuf:
  ?S:	This variable conditionally defines the NOLINEBUF symbol, which
--- 1,12 ----
! ?RCS:$Header: d_nolnbuf.U,v 2.0.1.1 88/08/05 00:11:08 lwall Exp $
  ?RCS: $Log:	d_nolnbuf.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:11:08  lwall
+ ?RCS: patch1: made depend on cc
+ ?RCS: 
  ?RCS: Revision 2.0  88/06/28  23:15:22  lwall
  ?RCS: Baseline.
  ?RCS: 
! ?MAKE:d_nolnbuf: Guess n c echo test Myread cc
  ?MAKE:	-pick add $@ %*
  ?S:d_nolnbuf:
  ?S:	This variable conditionally defines the NOLINEBUF symbol, which
***************
*** 33,39 ****
      putchar('\n');
  }
  EOT
!     cc blurfl.c -o blurfl
      rm -f blurfl.c
      cat <<'EOM'
  Checking for buffering of stdout to terminal.
--- 36,42 ----
      putchar('\n');
  }
  EOT
!     $cc blurfl.c -o blurfl
      rm -f blurfl.c
      cat <<'EOM'
  Checking for buffering of stdout to terminal.

Index: mcon/U/d_psignal.U
*** mcon/U/d_psignal.U.old	Fri Aug  5 00:54:42 1988
--- mcon/U/d_psignal.U	Fri Aug  5 00:54:43 1988
***************
*** 0 ****
--- 1,29 ----
+ ?RCS: $Header: d_psignal.U,v 2.0.1.1 88/08/05 00:46:36 lwall Exp $
+ ?X: d_psignal.U, from d_ftime.U 1.0
+ ?X:
+ ?RCS: $Log:	d_psignal.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:46:36  lwall
+ ?RCS: patch1: created
+ ?RCS: 
+ ?MAKE:d_psignal: contains libc
+ ?MAKE:	-pick add $@ %*
+ ?S:d_psignal:
+ ?S:	This variable conditionally defines the PSIGNAL symbol, which indicates
+ ?S:	that the psignal() routine exists.  The psignal() routine prints a
+ ?S:	description of a signal on the standard error output.
+ ?S:.
+ ?C:PSIGNAL:
+ ?C:	This symbol, if defined, indicates that the psignal() routine exists.
+ ?C:.
+ ?H:?%1:#$d_psignal	PSIGNAL		/**/
+ ?H:?%1:
+ : see if psignal exists
+ echo " "
+ if $contains psignal libc.list >/dev/null 2>&1; then
+     echo 'psignal() found.'
+     d_psignal="$define"
+ else
+     echo 'psignal() not found--descriptions in siglist.h will be used.'
+     d_psignal="$undef"
+ fi
+ 

Index: mcon/U/d_rusage.U
*** mcon/U/d_rusage.U.old	Fri Aug  5 00:54:46 1988
--- mcon/U/d_rusage.U	Fri Aug  5 00:54:47 1988
***************
*** 0 ****
--- 1,30 ----
+ ?RCS: $Header: d_rusage.U,v 2.0.1.1 88/08/05 00:47:20 lwall Exp $
+ ?X: d_rusage.U, from d_ftime.U 1.0
+ ?X:
+ ?RCS: $Log:	d_rusage.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:47:20  lwall
+ ?RCS: patch1: created
+ ?RCS: 
+ ?RCS: 
+ ?MAKE:d_rusage: contains libc
+ ?MAKE:	-pick add $@ %*
+ ?S:d_rusage:
+ ?S:	This variable conditionally defines the RUSAGE symbol, which indicates
+ ?S:	that the getrusage() routine exists.  The getrusage() routine supports
+ ?S:	sub-second accuracy for process cpu accounting.
+ ?S:.
+ ?C:RUSAGE:
+ ?C:	This symbol, if defined, indicates that the getrusage() routine exists.
+ ?C:.
+ ?H:?%1:#$d_rusage	RUSAGE		/**/
+ ?H:?%1:
+ : see if getrusage exists
+ echo " "
+ if $contains getrusage libc.list >/dev/null 2>&1; then
+     echo 'getrusage() found.'
+     d_rusage="$define"
+ else
+     echo 'getrusage() not found--cpu accounting may be less accurate.'
+     d_rusage="$undef"
+ fi
+ 

Index: mcon/U/d_sgndchr.U
Prereq: 2.0
*** mcon/U/d_sgndchr.U.old	Fri Aug  5 00:54:53 1988
--- mcon/U/d_sgndchr.U	Fri Aug  5 00:54:54 1988
***************
*** 1,9 ****
! ?RCS:$Header: d_sgndchr.U,v 2.0 88/06/28 23:15:43 lwall Exp $
  ?RCS: $Log:	d_sgndchr.U,v $
  ?RCS: Revision 2.0  88/06/28  23:15:43  lwall
  ?RCS: Baseline.
  ?RCS: 
! ?MAKE:d_sgndchr: cat rm
  ?MAKE:	-pick add $@ %*
  ?S:d_sgndchr:
  ?S:	This variable conditionally defines the SIGNEDCHAR symbol, which
--- 1,12 ----
! ?RCS:$Header: d_sgndchr.U,v 2.0.1.1 88/08/05 00:13:54 lwall Exp $
  ?RCS: $Log:	d_sgndchr.U,v $
+ ?RCS: Revision 2.0.1.1  88/08/05  00:13:54  lwall
+ ?RCS: patch1: made depend on cc
+ ?RCS: 
  ?RCS: Revision 2.0  88/06/28  23:15:43  lwall
  ?RCS: Baseline.
  ?RCS: 
! ?MAKE:d_sgndchr: cat rm cc
  ?MAKE:	-pick add $@ %*
  ?S:d_sgndchr:
  ?S:	This variable conditionally defines the SIGNEDCHAR symbol, which
***************
*** 28,34 ****
  	exit(c >= 0);
  }
  EOCP
! cc -o a.out try.c
  if a.out; then
      d_sgndchr="$define"
      echo "It certainly can."
--- 31,37 ----
  	exit(c >= 0);
  }
  EOCP
! $cc -o a.out try.c
  if a.out; then
      d_sgndchr="$define"
      echo "It certainly can."