This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
S_regtry(): move eval setup code into separate fn
[perl5.git] / README.amiga
index 1a7c9d8..c86adef 100644 (file)
@@ -6,6 +6,13 @@ specially designed to be readable as is.
 
 perlamiga - Perl under Amiga OS
 
+=head1 NOTE
+
+B<Perl 5.8.0 cannot be built in AmigaOS.  You can use either the
+maintenance release Perl 5.6.1 or the development release Perl 5.7.2
+in AmigaOS.  See L</"PERL 5.8.0 BROKEN IN AMIGAOS"> if you want to help
+fixing this problem.>
+
 =head1 SYNOPSIS
 
 One can read this document in the following formats:
@@ -18,8 +25,8 @@ be read I<as is>: either as F<README.amiga>, or F<pod/perlamiga.pod>.
 
 A recent version of perl for the Amiga can be found at the Geek Gadgets
 section of the Aminet:
-  
-      http://www.aminet.net/~aminet/dirs/dev_gg.html
+
+      http://www.aminet.net/~aminet/dev/gg
 
 =cut
 
@@ -40,7 +47,7 @@ Contents
          -  GNU info files 
          -  LaTeX docs 
        BUILD 
-         -  Prerequisites 
+         -  Build Prerequisites 
          -  Getting the perl source 
          -  Application of the patches 
          -  Making 
@@ -51,7 +58,7 @@ Contents
 
 =head1 DESCRIPTION
 
-=head2 Prerequisites
+=head2 Prerequisites for Compiling Perl on AmigaOS
 
 =over 6
 
@@ -59,7 +66,8 @@ Contents
 
 You need the Unix emulation for AmigaOS, whose most important part is
 B<ixemul.library>. For a minimum setup, get the latest versions
-of the following packages from the Aminet archives (http://www.aminet.net/~aminet/):
+of the following packages from the Aminet archives
+( L<http://www.aminet.net/~aminet/> ):
 
        ixemul-bin
        ixemul-env-bin
@@ -82,7 +90,7 @@ same way as on any other platform, by
        perl foo arg1 arg2 arg3
 
 If you want to specify perl options C<-my_opts> to the perl itself (as
-opposed to to your program), use
+opposed to your program), use
 
        perl -my_opts foo arg1 arg2 arg3
 
@@ -103,14 +111,22 @@ deficiencies in the UNIX-emulation, most notably:
 
 =over 6
 
-=item fork()
+=item *
+
+fork()
 
-=item some features of the UNIX filesystem regarding link count and file dates
+=item 
 
-=item inplace operation (the -i switch) without backup file
+some features of the UNIX filesystem regarding link count and file dates
 
-=item umask() works, but the correct permissions are only set when the file is
-      finally close()d
+=item *
+
+inplace operation (the -i switch) without backup file
+
+=item *
+
+umask() works, but the correct permissions are only set when the file is
+finally close()d
 
 =back
 
@@ -131,7 +147,7 @@ For installation of the Unix emulation, read the appropriate docs.
 
 =head1 Accessing documentation
 
-=head2 Manpages
+=head2 Manpages for Perl on AmigaOS
 
 If you have C<man> installed on your system, and you installed perl
 manpages, use something like this:
@@ -153,7 +169,7 @@ for packages, and as usual, sometimes you need to give the section - C<3>
 above - to avoid shadowing by the I<less(1) manpage>.
 
 
-=head2 B<HTML>
+=head2 Perl HTML Documentation on AmigaOS
 
 If you have some WWW browser available, you can build B<HTML> docs.
 Cd to directory with F<.pod> files, and do like this
@@ -166,26 +182,26 @@ directory, and go ahead with reading docs.
 
 Alternatively you may be able to get these docs prebuilt from C<CPAN>.
 
-=head2 B<GNU> C<info> files
+=head2 Perl GNU Info Files on AmigaOS
 
 Users of C<Emacs> would appreciate it very much, especially with
 C<CPerl> mode loaded. You need to get latest C<pod2info> from C<CPAN>,
 or, alternately, prebuilt info pages.
 
-=head2 C<LaTeX> docs
+=head2 Perl LaTeX Documentation on AmigaOS
 
-can be constructed using C<pod2latex>.
+Can be constructed using C<pod2latex>.
 
-=head1 BUILD
+=head1 BUILDING PERL ON AMIGAOS
 
 Here we discuss how to build Perl under AmigaOS.
 
-=head2 Prerequisites
+=head2 Build Prerequisites for Perl on AmigaOS
 
 You need to have the latest B<ixemul> (Unix emulation for Amiga)
 from Aminet.
 
-=head2 Getting the perl source
+=head2 Getting the Perl Source for AmigaOS
 
 You can either get the latest perl-for-amiga source from Ninemoons
 and extract it with:
@@ -194,7 +210,7 @@ and extract it with:
 
 or get the official source from CPAN:
 
-  http://www.perl.com/CPAN/src/5.0
+  http://www.cpan.org/src/5.0
 
 Extract it like this
 
@@ -204,26 +220,21 @@ You will see a message about errors while extracting F<Configure>. This
 is normal and expected. (There is a conflict with a similarly-named file
 F<configure>, but it causes no harm.)
 
-=head2 Making
-       
-       remember to use a hefty wad of stack (I use 2000000)
+=head2 Making Perl on AmigaOS
+
+Remember to use a hefty wad of stack (I use 2000000)
 
   sh configure.gnu --prefix=/gg
 
-       the makedepend script has to be edited if it fails
-       
-       change $cat to /bin/cat at line 75
-       change cat to /bin/cat at line 163
-       change cat to /bin/cat at line 176 (both)
-       change $cat to /bin/cat at line 190
+Now type
 
-       now type make depend
+  make depend
 
 Now!
 
   make
 
-=head2 Testing
+=head2 Testing Perl on AmigaOS
 
 Now run
 
@@ -234,12 +245,27 @@ Some tests will be skipped because they need the fork() function:
 F<io/pipe.t>, F<op/fork.t>, F<lib/filehand.t>, F<lib/open2.t>, F<lib/open3.t>, 
 F<lib/io_pipe.t>, F<lib/io_sock.t>
 
-=head2 Installing the built perl
+=head2 Installing the built Perl on AmigaOS
 
 Run
 
   make install
 
+=head1 PERL 5.8.0 BROKEN IN AMIGAOS
+
+As told above, Perl 5.6.1 was still good in AmigaOS, as was 5.7.2.
+After Perl 5.7.2 (change #11423, see the Changes file, and the file
+pod/perlhack.pod for how to get the individual changes) Perl dropped
+its internal support for vfork(), and that was very probably the step
+that broke AmigaOS (since the ixemul library has only vfork).  
+The build finally fails when the ext/DynaLoader is being built, and
+PERL ends up as "0" in the produced Makefile, trying to run "0" does
+not quite work.  Also, executing miniperl in backticks seems to
+generate nothing: very probably related to the (v)fork problems.
+B<Fixing the breakage requires someone quite familiar with the ixemul
+library, and how one is supposed to run external commands in AmigaOS
+without fork().>
+
 =head1 AUTHORS
 
 Norbert Pueschel, pueschel@imsdd.meb.uni-bonn.de