# machten.sh
-# This is for MachTen 4.0.3. 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>
#
+# 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
#
# 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 Jan 14 10:17:18 WET 1997
# Power MachTen is a real memory system and its standard malloc
# has been optimized for this. Using this malloc instead of Perl's
# 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'
# friends. Use setjmp and friends instead.
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 / /' \
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
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
Propagating recommended variable nmopts
Read the File::Find documentation for more information about dont_use_nlink
+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
-test -r ./broken-db.msg && . ./broken-db.msg
+expr "$osvers" \< "4.1" >/dev/null && test -r ./broken-db.msg && \
+ . ./broken-db.msg