This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge maint-5.004 branch (5.004_03) with mainline.
[perl5.git] / hints / machten.sh
index d937128..55feadc 100644 (file)
@@ -1,50 +1,85 @@
 # machten.sh
-# This file has been put together by Mark Pease <peasem@primenet.com>
+# This is for MachTen 4.0.3.  It might work on other versions too.
+#
+# MachTen users 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.
+#
+# This file has been put together by Andy Dougherty
+# <doughera@lafcol.lafayette.edu> based on comments from lots of
+# folks, especially 
+#      Mark Pease <peasem@primenet.com>
+#      Martijn Koster <m.koster@webcrawler.com>
+#      Richard Yeh <rcyeh@cco.caltech.edu>
+#
+# 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 does not support dynamic loading. If you wish to, you
-# can get <ftp://tsx-11.mit.edu/pub/linux/sources/libs/dld-src-3.2.4.tar.gz>
-# compile and install. This is the version of DLD that works with the
-# ext/DynaLoader/dl_dld.xs in the perl5 package. Have fun!
+# MachTen 4.X does support dynamic loading, but perl doesn't
+# know how to use it yet.
 #
-#  Original version was for MachTen 2.1.1.
-#  Last modified by Andy Dougherty   <doughera@lafcol.lafayette.edu>
-#  Wed Mar  8 15:58:05 EST 1995
+#  Updated by Dominic Dunlop <domo@tcp.ip.lu>
+#  Tue Jan 14 10:17:18 WET 1997
 
-# I don't know why this is needed.  It might be similar to NeXT's
-# problem.  See hints/next_3_2.sh.
-usemymalloc='n'
+# 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'
 
-so='none'
-# These are useful only if you have DLD, but harmless otherwise.
-lddlflags='-r'
-dlext='o'
+# Make symbol table listings les voluminous
+nmopts=-gp
 
-# MachTen does not support POSIX enough to compile the POSIX module.
-useposix=false
+# Install in /usr/local by default
+prefix='/usr/local'
 
-#MachTen might have an incomplete Berkeley DB implementation.
-i_db=$undef
+# 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
 
-#MachTen versions 2.X have no hard links.  This variable is used
-# by File::Find.
-# This will generate a harmless message:
+# 4.0.2 and earlier had a problem with perl's use of sigsetjmp and
+# friends.  Use setjmp and friends instead.
+expr "$osvers" \< "4.0.3" > /dev/null && d_sigsetjmp='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="$*"
+
+# 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
+# subdirectories to be searched.  This will generate 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
-case "$osver" in
-2*) dont_use_nlink=define ;;
-*) ;;
-esac
+dont_use_nlink=define
 
-case "$osvers" in
-2*)
-       cat <<'EOM' >&4
+cat <<'EOM' >&4
 
 Tests
        io/fs test 4  and
        op/stat test 3
-may fail since MachTen versions 2.X have no hard links.
+may fail since MachTen does not return a useful nlinks field to stat
+on directories.
+
+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
 
 EOM
-    ;;
-esac
+test -r ./broken-db.msg && . ./broken-db.msg