[comp.unix.xenix] Perl 3.0 PL6 Xenix patches

chip@ateng.com (Chip Salzenberg) (11/30/89)

These patches are the Xenix port of Perl 3.0 patchlevel _six_.  Features:

    1.  Support for directory reading via <sys/ndir.h> and -lx.
	(Xenix users, *avoid* <dirent.h> and -ldirent!
	They're buggy in Xenix 2.3.1.)

    2.  Support for finding all Xenix libraries, including -lx and -ldbm.

    3.  Support for SCO TCP/IP, particularly -lsocket.  Note that you must
	manually add the required -Di386 and -DLAI_TCP, though I suppose
	that I could have made these flags automatic.

    4.  Separation of the library directories into variable xlibpth, just
	in case you want to compile for the '286 on a '386.

Generic bug fixes:

    1.  Makefile.SH mentions perly.o twice on the left side of a ":".


# This file contains patches for Perl 3.0.
# (Be sure to use the "-p" option of patch.)
# Patches are enclosed for the following file(s):
#	Makefile.SH
#	config.h.SH
#	perl.h
#	Configure

Index: Makefile.SH
*** Makefile.SH.P	Fri Nov 17 19:20:34 1989
--- Makefile.SH	Tue Nov 28 16:31:01 1989
***************
*** 345,349 ****
  
  # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
! perly.o $(obj):
  	@ echo "You haven't done a "'"make depend" yet!'; exit 1
  makedepend: makedepend.SH
--- 345,349 ----
  
  # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
! $(obj):
  	@ echo "You haven't done a "'"make depend" yet!'; exit 1
  makedepend: makedepend.SH

Index: config.h.SH
*** config.h.SH.P	Tue Nov 28 15:55:19 1989
--- config.h.SH	Tue Nov 28 16:12:30 1989
***************
*** 519,522 ****
--- 519,528 ----
  #$i_sysdir	I_SYSDIR		/**/
  
+ /* I_SYSNDIR:
+  *	This symbol, if defined, indicates to the C program that it should
+  *	include sys/ndir.h.
+  */
+ #$i_sysdir	I_SYSNDIR		/**/
+ 
  /* I_SYSIOCTL:
   *	This symbol, if defined, indicates that sys/ioctl.h exists and should

Index: perl.h
*** perl.h.P	Tue Nov 28 15:55:46 1989
--- perl.h	Tue Nov 28 16:02:38 1989
***************
*** 136,139 ****
--- 136,143 ----
  #endif
  
+ #ifdef I_SYSNDIR
+ #include <sys/ndir.h>
+ #define DIRENT direct
+ #else
  #ifdef I_DIRENT
  #include <dirent.h>
***************
*** 149,152 ****
--- 153,157 ----
  #endif
  #endif
+ #endif
  
  typedef struct arg ARG;

Index: Configure
*** Configure.P	Tue Nov 28 15:55:09 1989
--- Configure	Tue Nov 28 16:11:13 1989
***************
*** 172,175 ****
--- 172,176 ----
  d_pwexpire=''
  i_sysdir=''
+ i_sysndir=''
  i_sysioctl=''
  i_varargs=''
***************
*** 220,224 ****
  define='define'
  undef='undef'
! libpth='/usr/lib /usr/local/lib /usr/lib/386 /usr/lib/large /lib /lib/386 /lib/large /usr/lib/small /lib/small'
  smallmach='pdp11 i8086 z8000 i80286 iAPX286'
  rmlist='kit[1-9]isdone kit[1-9][0-9]isdone'
--- 221,227 ----
  define='define'
  undef='undef'
! : change the next line if compiling for Xenix/286 on Xenix/386
! xlibpth='/usr/lib/386 /lib/386'
! libpth='/usr/lib /usr/local/lib /usr/lib/large /lib '$xlibpth' /lib/large /usr/lib/small /lib/small'
  smallmach='pdp11 i8086 z8000 i80286 iAPX286'
  rmlist='kit[1-9]isdone kit[1-9][0-9]isdone'
***************
*** 250,254 ****
  d_newshome="/usr/NeWS"
  defvoidused=7
! libswanted="net nm ndir ndbm dbm sun bsd c_s"
  inclwanted='/usr/netinclude /usr/include/sun /usr/include/bsd'
  : some greps do not return status, grrr.
--- 253,257 ----
  d_newshome="/usr/NeWS"
  defvoidused=7
! libswanted="net socket nm ndir ndbm dbm sun bsd x c_s"
  inclwanted='/usr/netinclude /usr/include/sun /usr/include/bsd'
  : some greps do not return status, grrr.
***************
*** 1121,1125 ****
  	    esac
  	else
! 	    xxx=`loc Slib$thislib.a X /usr/lib /usr/local/lib /lib`
  	    if test -f $xxx; then
  		echo "Found -l$thislib."
--- 1124,1128 ----
  	    esac
  	else
! 	    xxx=`loc Slib$thislib.a X $xlibpth`
  	    if test -f $xxx; then
  		echo "Found -l$thislib."
***************
*** 1348,1352 ****
  		    try=`loc $thislib blurfl/dyick $libpth`
  		    if test ! -f $try; then
! 			try=''
  		    fi
  		fi
--- 1351,1358 ----
  		    try=`loc $thislib blurfl/dyick $libpth`
  		    if test ! -f $try; then
! 			try=`loc Slib$thislib.a blurfl/dyick $xlibpth`
! 			if test ! -f $try; then
! 			    try=''
! 			fi
  		    fi
  		fi
***************
*** 1378,1388 ****
      fi
      if test ! -f "$ans"; then
! 	ans=`loc Slibc.a blurfl/dyick /usr/lib/386 /lib/386 $libpth`
      fi
      if test ! -f "$ans"; then
! 	ans=`loc Mlibc.a blurfl/dyick $libpth`
      fi
      if test ! -f "$ans"; then
! 	ans=`loc Llibc.a blurfl/dyick $libpth`
      fi
      if test -f "$ans"; then
--- 1384,1394 ----
      fi
      if test ! -f "$ans"; then
! 	ans=`loc Slibc.a blurfl/dyick $xlibpth`
      fi
      if test ! -f "$ans"; then
! 	ans=`loc Mlibc.a blurfl/dyick $xlibpth`
      fi
      if test ! -f "$ans"; then
! 	ans=`loc Llibc.a blurfl/dyick $xlibpth`
      fi
      if test -f "$ans"; then
***************
*** 1523,1529 ****
      cryptlib=''
  else
!     cryptlib=`loc Slibcrypt.a "" /lib/386 /lib`
      if $test -z "$cryptlib"; then
! 	cryptlib=`loc Mlibcrypt.a "" /lib/386 /lib`
      else
  	cryptlib=-lcrypt
--- 1529,1535 ----
      cryptlib=''
  else
!     cryptlib=`loc Slibcrypt.a "" $xlibpth`
      if $test -z "$cryptlib"; then
! 	cryptlib=`loc Mlibcrypt.a "" $xlibpth`
      else
  	cryptlib=-lcrypt
***************
*** 1530,1534 ****
      fi
      if $test -z "$cryptlib"; then
! 	cryptlib=`loc Llibcrypt.a "" /lib/386 /lib`
      else
  	cryptlib=-lcrypt
--- 1536,1540 ----
      fi
      if $test -z "$cryptlib"; then
! 	cryptlib=`loc Llibcrypt.a "" $xlibpth`
      else
  	cryptlib=-lcrypt
***************
*** 2121,2130 ****
  if $test -r /usr/include/sys/dir.h ; then
      i_sysdir="$define"
!     echo "sysdir.h found."
  else
      i_sysdir="$undef"
!     echo "No sysdir.h found."
  fi
  
  : see if ioctl defs are in sgtty/termio or sys/ioctl
  echo " "
--- 2127,2146 ----
  if $test -r /usr/include/sys/dir.h ; then
      i_sysdir="$define"
!     echo "sys/dir.h found."
  else
      i_sysdir="$undef"
!     echo "No sys/dir.h found."
  fi
  
+ : see if this is a sys/ndir.h system
+ echo " "
+ if $test -r /usr/include/sys/ndir.h ; then
+     i_sysndir="$define"
+     echo "sys/ndir.h found."
+ else
+     i_sysndir="$undef"
+     echo "No sys/ndir.h found."
+ fi
+ 
  : see if ioctl defs are in sgtty/termio or sys/ioctl
  echo " "
***************
*** 2496,2499 ****
--- 2512,2516 ----
  d_pwexpire='$d_pwexpire'
  i_sysdir='$i_sysdir'
+ i_sysndir='$i_sysdir'
  i_sysioctl='$i_sysioctl'
  i_varargs='$i_varargs'

-- 
You may redistribute this article only to those who may freely do likewise.
Chip Salzenberg at A T Engineering;  <chip@ateng.com> or <uunet!ateng!chip>
	  "The Usenet, in a very real sense, does not exist."