develooper Front page | | Postings from March 2004

[PATCH] Re: Proposal to remove support for MachTen

Thread Previous | Thread Next
Dominic Dunlop
March 10, 2004 09:29
[PATCH] Re: Proposal to remove support for MachTen
Message ID:
[Originally sent to all addressees except p5p on 15 February. It seems 
to have fallen down a hole -- perhaps because I failed to mark it 
[PATCH], so here it is again. Tested against Machten on bleadperl, 
perl-5.6.2, perl-5.8.3, and perl5.005_04-RC2 (where it applies 
partially and fuzzily, but well enough to work); tested against Mac OS 
X on bleadperl.]

On 11 Feb 2004, at 21:31, Andrew Dougherty wrote:
> On Wed, 11 Feb 2004, H.Merijn Brand wrote:
>> On Wed 11 Feb 2004 15:54, Dominic Dunlop <> wrote:
>    [ giving up on MachTen ]
>> I propose the following:
>> 1. Leave Configure as it is, this also to simplify integration
>>    to older versions, as Configure is still shared amongst all

OK. Untouched.
> Yes, but certainly do put some comments in the appropriate unit
> (OldConfig.U, I think, offhand.)

That's up to you.
>> 2. Make hints/ exit with a warning for any perl
>>    higher than 5.8.x. This exit will have the same effect as
>>    you intended with the change to Configure: it won't build
> Or maybe don't even bother, though certainly remove or reword
> Dominic's promise to help fix any problems!
> After all, there's a difference between not supporting something and
> going out of our way to un-support it.

Done. See patch below for hints/ and README.machten. It 
applies against perl-current and 5.6.3. I have not checked any other 

--- hints/	Wed Dec 11 10:23:25 2002
+++ hints/	Sun Feb 15 14:45:45 2004
@@ -1,7 +1,14 @@
  #! /bin/bash
  # This is for MachTen 4.1.4.  It might work on other versions and 
-# too.  If it doesn't, tell me, and I'll try to fix it --
+# too.  MachTen is now obsolete, lacks many features expected in 
modern UNIX
+# implementations, and suffers from a number of bugs which are likely 
+# 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 
+# cannot successfully be built on MachTen. This file enforces this
+# restriction. Should you wish to port a later version of perl to 
+# feel free to contact me for pointers.
+#                      -- Dominic Dunlop <> 040213
  # Users of earlier MachTen versions might need a fixed tr from
  # This should be described in the MachTen release notes.
@@ -15,6 +22,8 @@
  #	Martijn Koster <>
  #	Richard Yeh <>
+# Prevent building of perls later than 5.6.x, stating why -- see above.
+#                      -- Dominic Dunlop <> 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 <> 001111
@@ -44,8 +53,21 @@
  # 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.
+# Should you want to try building perl-5.8.x or later, set 
+# appropriately in your environment before running Configure.
+if [ `awk '$1=="#define" && $2=="PERL_VERSION"{print $3}' 
patchlevel.h` \
+      -gt ${PERL_VERSION_SAFE_MAX:-6} ]
+    cat <<EOF >&4
+Perl versions greater than 5.6.x have not been ported to MachTen. If 
+wish to build a version from the 5.6 track, please see the notes in
+    exit 1
  # MachTen 4.1.1's support for shadow password file access is 
  # disable its use completely.
@@ -95,7 +117,7 @@
  # 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

  # Set reg_infty -- the maximum allowable number of repeats in regular
--- README.machten~	Wed Jun  6 23:46:22 2001
+++ README.machten	Fri Feb 13 19:36:03 2004
@@ -11,9 +11,36 @@
  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
+=head2 Perl version 5.8.x and greater not supported

-To compile perl under MachTen 4.1.4 (and probably earlier versions):
+B<Power MachTen is not supported by versions of Perl later than
+If you wish to build a version from the 5.6 track, please
+obtain a source distribution from the archive at
+L<> 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 
+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 
+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 
+in Perl distributions published after February 2004.
+The hints file, F<hints/>, 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 

    ./Configure -de
@@ -86,4 +113,4 @@

  =head1 DATE

-Version 1.0.1 2000-03-27
+Version 1.1.0 2004-02-13
Dominic Dunlop

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About