[win32] add AS patch#24, remove one other instance of error_no
[p5sagit/p5-mst-13.2.git] / hints / machten.sh
index 321a80a..2ae79f1 100644 (file)
@@ -1,8 +1,8 @@
 # machten.sh
-# This is for MachTen 4.0.2.  It might work on other versions too.
+# This is for MachTen 4.0.3.  It might work on other versions and variants too.
 #
-# MachTen users might need a fixed tr from ftp.tenon.com.  This should
-# be described in the MachTen release notes.
+# Users of earlier MachTen versions might need a fixed tr from ftp.tenon.com.
+# This should be described in the MachTen release notes.
 #
 # MachTen 2.x has its own hint file.
 #
 #      Martijn Koster <m.koster@webcrawler.com>
 #      Richard Yeh <rcyeh@cco.caltech.edu>
 #
-# File::Find's use of link count disabled by Dominic Dunlop 950528
-# Perl's use of sigsetjmp etc. disabled by Dominic Dunlop 950521
+# Use of semctl() can crash system: disable -- Dominic Dunlop 980506
+# Raise stack size further; slight tweaks to accomodate MT 4.1
+#                      -- Dominic Dunlop <domo@computer.org> 980211
+# Raise perl's stack size -- Dominic Dunlop <domo@tcp.ip.lu> 970922
+# Reinstate sigsetjmp iff version is 4.0.3 or greater; use nm
+# (assumes Configure change); prune libswanted -- Dominic Dunlop 970113
+# Warn about test failure due to old Berkeley db -- Dominic Dunlop 970105
+# Do not use perl's malloc; SysV IPC OK -- Neil Cutcliffe, Tenon 961030
+# File::Find's use of link count disabled by Dominic Dunlop 960528
+# Perl's use of sigsetjmp etc. disabled by Dominic Dunlop 960521
 #
 # Comments, questions, and improvements welcome!
 #
 # MachTen 4.X does support dynamic loading, but perl doesn't
 # know how to use it yet.
-#
-#  Updated by Dominic Dunlop <domo@tcp.ip.lu>
-#  Tue May 28 11:20:08 WET DST 1996
 
-# Configure doesn't know how to parse the nm output.
-usenm=undef
+# Power MachTen is a real memory system and its standard malloc
+# has been optimized for this. Using this malloc instead of Perl's
+# malloc may result in significant memory savings.
+usemymalloc='false'
+
+# Make symbol table listings les voluminous
+nmopts=-gp
+
+# Increase perl's stack size.  Without this, lib/complex.t crashes out.
+# Particularly perverse programs may require that perl has an even larger
+# stack allocation than that specified here.  (See  man setstackspace )
+ldflags='-Xlstack=0x018000'
+
+# Install in /usr/local by default
+prefix='/usr/local'
 
 # At least on PowerMac, doubles must be aligned on 8 byte boundaries.
 # I don't know if this is true for all MachTen systems, or how to
 # determine this automatically.
 alignbytes=8
 
-# There appears to be a problem with perl's use of sigsetjmp and
+# 4.0.2 and earlier had a problem with perl's use of sigsetjmp and
 # friends.  Use setjmp and friends instead.
-d_sigsetjmp='undef' 
+expr "$osvers" \< "4.0.3" > /dev/null && d_sigsetjmp='undef'
+
+# semctl(.., ..,  IPC_STATUS, ..) hangs system: say we don't have semctl()
+d_semctl='undef'
 
+# Get rid of some extra libs which it takes Configure a tediously
+# long time never to find on MachTen
+set `echo X "$libswanted "|sed -e 's/ net / /' -e 's/ socket / /' \
+    -e 's/ inet / /' -e 's/ nsl / /' -e 's/ nm / /' -e 's/ malloc / /' \
+    -e 's/ ld / /' -e 's/ sun / /' -e 's/ posix / /' \
+    -e 's/ cposix / /' -e 's/ crypt / /' \
+    -e 's/ ucb / /' -e 's/ bsd / /' -e 's/ BSD / /' -e 's/ PW / /'`
+shift
+libswanted="$*"
+
+# While link counts on MachTen 4.1's fast file systems work correctly,
+# on Macintosh Heirarchical File Systems, (and on HFS+)
 # MachTen always reports ony two links to directories, even if they
 # contain subdirectories.  Consequently, we use this variable to stop
 # File::Find using the link count to determine whether there are
@@ -46,30 +79,28 @@ dont_use_nlink=define
 
 cat <<'EOM' >&4
 
-Tests
-       io/fs test 4  and
-       op/stat test 3
-may fail since MachTen does not return a useful nlinks field to stat
-on directories.
+During Configure, you may see the message
+
+*** WHOA THERE!!! ***
+    The recommended value for $d_semctl on this machine was "undef"!
+    Keep the recommended value? [y]
+
+Select the default answer: semctl() is buggy, and perl should be built
+without it.
 
 At the end of Configure, you will see a harmless message
 
 Hmm...You had some extra variables I don't know about...I'll try to keep 'em.
        Propagating recommended variable dont_use_nlink
+        Propagating recommended variable nmopts
+Read the File::Find documentation for more information about dont_use_nlink
 
-Read the File::Find documentation for more information.
+Tests
+       io/fs test 4  and
+       op/stat test 3
+may fail since MachTen may not return a useful nlinks field to stat
+on directories.
 
 EOM
-
-# Date: Wed, 18 Sep 1996 11:29:40 +0200
-# From: Dominic Dunlop <domo@tcp.ip.lu>
-# Subject: Re: Perl 5.003 from ftp.tenon.com requires MT 4.0.3
-
-# MachTen 4.0.2 and earlier do not implement System V interprocess
-# communication (message queues, semaphores and shered memory); 4.0.3 has a
-# half-baked implementation which provides the corresponding library
-# functions but does not implement the system calls or provide the header
-# files (or documentation).  The perl installation process correctly divines
-# that System V IPC is not usable in either case.  Do not attempt to persuade
-# it otherwise, or the resulting perl will crash (rather than producing an
-# error message) if you attempt to use the functions.
+expr "$osvers" \< "4.1" >/dev/null && test -r ./broken-db.msg && \
+    . ./broken-db.msg