This document describes how to build Perl 5 on Power MachTen systems,
and discusses a few wrinkles in the implementation.
-=head2 Compiling Perl 5 on MachTen
-
-To compile perl under MachTen 4.1.4 (and probably earlier versions):
+=head2 Perl version 5.8.x and greater not supported
+
+B<Power MachTen is not supported by versions of Perl later than
+5.6.x.>
+If you wish to build a version from the 5.6 track, please
+obtain a source distribution from the archive at
+L<http://cpan.org/src/5.0/> and follow the instructions in its
+README.machten file.
+
+MachTen is no longer supported by its developers, Tenon Intersystems.
+A UNIX environment hosted on Mac OS Classic, MachTen has been
+superseded by Mac OS X and by BSD and Linux implementations for Macintosh
+hardware.
+The final version of Power MachTen, 4.1.4, lacks many features found in
+modern implementations of UNIX, and has a number of bugs.
+These shortcomings prevent recent versions of Perl from being able to use
+extensions on MachTen, and cause numerous test suite failures in the
+perl core.
+
+In September 2003, a discussion on the MachTen mailing list determined
+that there was no interest in making a later version of Perl build
+successfully on MachTen.
+Consequently, support for building Perl under MachTen has been suppressed
+in Perl distributions published after February 2004.
+The hints file, F<hints/machten.sh>, remains a part of the
+distributions for reference purposes.
+
+=head2 Compiling Perl 5.6.x on MachTen
+
+To compile perl 5.6.x under MachTen 4.1.4 (and probably earlier versions):
./Configure -de
make
=head1 DATE
-Version 1.0.1 2000-03-27
+Version 1.1.0 2004-02-13
#! /bin/bash
# machten.sh
# This is for MachTen 4.1.4. It might work on other versions and variants
-# too. If it doesn't, tell me, and I'll try to fix it -- domo@computer.org
+# too. MachTen is now obsolete, lacks many features expected in modern UNIX
+# implementations, and suffers from a number of bugs which are likely never
+# to be fixed. This means that, in the absence of extensive work on
+# this file and on the perl source code, versions of perl later than 5.6.x
+# cannot successfully be built on MachTen. This file enforces this
+# restriction. Should you wish to port a later version of perl to MachTen,
+# feel free to contact me for pointers.
+# -- Dominic Dunlop <domo@computer.org> 040213
#
# Users of earlier MachTen versions might need a fixed tr from ftp.tenon.com.
# This should be described in the MachTen release notes.
# Martijn Koster <m.koster@webcrawler.com>
# Richard Yeh <rcyeh@cco.caltech.edu>
#
+# Prevent building of perls later than 5.6.x, stating why -- see above.
+# -- Dominic Dunlop <domo@computer.org> 040213
# Deny system's false claims to support mmap() and munmap(); note
# also that Sys V IPC (re)disabled by jhi due to continuing inadequacy
# -- Dominic Dunlop <domo@computer.org> 001111
# 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!
+
+# Assume that PERL_REVISON in patchlevel.h is 5.
+# If you want to try building perl-5.8.x or later, set PERL_VERSION_SAFE_MAX
+# appropriately in your environment before running Configure.
+if [ `awk '$1=="#define" && $2=="PERL_VERSION"{print $3}' patchlevel.h` \
+ -gt ${PERL_VERSION_SAFE_MAX:-6} ]
+then
+ cat <<EOF >&4
+
+Perl versions greater than 5.6.x have not been ported to MachTen. If you
+wish to build a version from the 5.6 track, please see the notes in
+README.machten
+EOF
+ exit 1
+fi
#
# MachTen 4.1.1's support for shadow password file access is incomplete:
# disable its use completely.
# Specify a high level of optimization (-O3 wouldn't do much more)
optimize=${optimize:--O2 -fomit-frame-pointer}
-# Make symbol table listings les voluminous
+# Make symbol table listings less voluminous
nmopts=-gp
# Set reg_infty -- the maximum allowable number of repeats in regular