[comp.sys.next] Perl and the NeXT platform

louie@sayshell.umd.edu (Louis A. Mamakos) (06/06/91)

I've received a few messages regarding a posting I made asking how I was
able to make perl compile and run on the NeXT.  What follows is a context diff
of the changes that I made, and then the config.sh file that I used to build 
it.  It compiles and runs just fine now.

*** Configure.ORIG	Sat Apr 13 19:42:25 1991
--- Configure	Sat Apr 13 22:24:00 1991
***************
*** 746,751 ****
--- 746,752 ----
      test -f /dynix && dflt="$dflt dynix"
      test -f /dnix && dflt="$dflt dnix"
      test -f /bin/mips && /bin/mips && dflt="$dflt mips"
+     test -d /NextApps && test -f /usr/adm/software_version && dflt="$dflt next"
      if test -f /bin/uname || test -f /usr/bin/uname; then
  	set `uname -a | tr '[A-Z]' '[a-z]'`
  
*** perl.h.ORIG	Sat Apr 13 20:24:22 1991
--- perl.h	Sat Apr 13 20:31:48 1991
***************
*** 102,109 ****
--- 102,113 ----
  #    endif /* ndef memcpy */
  #  endif /* ndef __STDC__ */
  
+ #ifndef	HAS_BCOPY
  #define bcopy(s1,s2,l) memcpy(s2,s1,l)
+ #endif
+ #ifndef	HAS_BZERO
  #define bzero(s,l) memset(s,0,l)
+ #endif
  #endif /* HAS_MEMCPY */
  
  #ifndef HAS_BCMP		/* prefer bcmp slightly 'cuz it doesn't order */
*** perl.c.ORIG	Sat Apr 13 19:39:45 1991
--- perl.c	Sat Apr 13 22:27:29 1991
***************
*** 50,56 ****
  {
      register STR *str;
      register char *s;
!     char *index(), *strcpy(), *getenv();
      bool dosearch = FALSE;
  #ifdef DOSUID
      char *validarg = "";
--- 50,59 ----
  {
      register STR *str;
      register char *s;
! #ifndef	__STDC__
!     char *index();
! #endif
!     char *strcpy(), *getenv();
      bool dosearch = FALSE;
  #ifdef DOSUID
      char *validarg = "";
*** hints/next.sh.ORIG	Sat Apr 13 22:29:15 1991
--- hints/next.sh	Sat Apr 13 22:01:45 1991
***************
*** 1,2 ****
--- 1,4 ----
  : Just disable defaulting to -fpcc-struct-return, since gcc is native compiler.
  ccflags="$ccflags "
+ groupstype="int"
+ usemymalloc="n"

================================================================

#!/bin/sh
# config.sh
# This file was produced by running the Configure script.

d_eunice='undef'
define='define'
eunicefix=':'
loclist='
cat
cp
echo
expr
grep
mkdir
mv
rm
sed
sort
tr
uniq
'
expr='/bin/expr'
sed='/bin/sed'
echo='/bin/echo'
cat='/bin/cat'
rm='/bin/rm'
mv='/bin/mv'
cp='/bin/cp'
tail=''
tr='/usr/bin/tr'
mkdir='/bin/mkdir'
sort='/usr/bin/sort'
uniq='/usr/bin/uniq'
grep='/bin/grep'
trylist='
Mcc
bison
cpp
csh
egrep
nroff
test
uname
yacc
'
test='test'
inews=''
egrep='/usr/bin/egrep'
more=''
pg=''
Mcc='Mcc'
vi=''
mailx=''
mail=''
cpp='/lib/cpp'
perl=''
emacs=''
ls=''
rmail=''
sendmail=''
shar=''
smail=''
tbl=''
troff=''
nroff='/usr/bin/nroff'
uname='uname'
uuname=''
line=''
chgrp=''
chmod=''
lint=''
sleep=''
pr=''
tar=''
ln=''
lpr=''
lp=''
touch=''
make=''
date=''
csh='/bin/csh'
bash=''
ksh=''
lex=''
flex=''
bison='bison'
Log='$Log'
Header='$Header'
Id='$Id'
lastuname=''
alignbytes='2'
bin='/usr/local/bin'
installbin='/usr/local/bin'
byteorder='4321'
contains='grep'
cppstdin='/lib/cpp'
cppminus=''
d_bcmp='define'
d_bcopy='define'
d_bzero='define'
d_castneg='undef'
castflags='2'
d_charsprf='undef'
d_chsize='undef'
d_crypt='define'
cryptlib=''
d_csh='define'
d_dosuid='undef'
d_dup2='define'
d_fchmod='define'
d_fchown='define'
d_fcntl='define'
d_flexfnam='define'
d_flock='define'
d_getgrps='define'
d_gethent='define'
d_getpgrp='define'
d_getpgrp2='undef'
d_getprior='define'
d_htonl='define'
d_index='undef'
d_killpg='define'
d_lstat='define'
d_memcmp='define'
d_memcpy='define'
d_mkdir='define'
d_msg='undef'
d_msgctl='undef'
d_msgget='undef'
d_msgrcv='undef'
d_msgsnd='undef'
d_ndbm='define'
d_odbm='define'
d_open3='define'
d_readdir='define'
d_rename='define'
d_rmdir='define'
d_select='define'
d_sem='undef'
d_semctl='undef'
d_semget='undef'
d_semop='undef'
d_setegid='define'
d_seteuid='define'
d_setpgrp='define'
d_setpgrp2='undef'
d_setprior='define'
d_setregid='define'
d_setresgid='undef'
d_setreuid='define'
d_setresuid='undef'
d_setrgid='define'
d_setruid='define'
d_shm='undef'
d_shmat='undef'
d_shmctl='undef'
d_shmdt='undef'
d_shmget='undef'
d_socket='define'
d_sockpair='define'
d_oldsock='undef'
socketlib=''
d_statblks='define'
d_stdstdio='define'
d_strctcpy='define'
d_strerror='define'
d_symlink='define'
d_syscall='define'
d_truncate='define'
d_vfork='define'
d_voidsig='define'
d_tosignal='void'
d_volatile='define'
d_vprintf='define'
d_charvspr='undef'
d_wait4='define'
d_waitpid='undef'
gidtype='gid_t'
groupstype='int'
i_fcntl='undef'
i_gdbm='undef'
i_grp='define'
i_niin='define'
i_sysin='undef'
i_pwd='define'
d_pwquota='define'
d_pwage='undef'
d_pwchange='undef'
d_pwclass='undef'
d_pwexpire='undef'
d_pwcomment='define'
i_sys_file='define'
i_sysioctl='define'
i_time='undef'
i_sys_time='define'
i_sys_select='undef'
d_systimekernel='undef'
i_utime='undef'
i_varargs='define'
i_vfork='undef'
intsize='4'
libc='/lib/libsys_s.a'
nm_opts=''
libndir=''
i_my_dir='undef'
i_ndir='undef'
i_sys_ndir='undef'
i_dirent='undef'
i_sys_dir='define'
d_dirnamlen='define'
ndirc=''
ndiro=''
mallocsrc=''
mallocobj=''
usemymalloc='n'
mallocptrtype='void'
mansrc='/usr/local/man/man1'
manext='1'
models='none'
split=''
small=''
medium=''
large=''
huge=''
optimize='-O'
ccflags=' '
cppflags=''
ldflags=''
cc='cc'
libs='-lnm -ldbm -lm'
n='-n'
c=''
package='perl'
randbits='31'
scriptdir='/usr/local/bin'
sig_name='ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST EMSG MSG'
spitshell='cat'
shsharp='true'
sharpbang='#!'
startsh='#!/bin/sh'
stdchar='char'
uidtype='uid_t'
usrinclude='/usr/include'
inclPath=''
void=''
voidhave='7'
voidwant='7'
w_localtim='1'
w_s_timevl='1'
w_s_tm='1'
yacc='/usr/bin/yacc'
lib=''
privlib='/usr/local/lib/perl'
installprivlib='/usr/local/lib/perl'
CONFIG=true
PATCHLEVEL=3