# vim: syntax=pod

If you read this file _as_is_, just ignore the funny characters you
see.  It is written in the POD format (see pod/perlpod.pod) which is
specifically designed to be readable as is.

=head1 NAME

perlriscos - Perl version 5 for RISC OS

=head1 DESCRIPTION

This document gives instructions for building Perl for RISC OS. It is
complicated by the need to cross-compile. There is a binary version of
perl available from L<https://www.cp15.org/perl/> which you may wish to
use instead of trying to compile it yourself.

=head1 BUILD

You need an installed and working
L<GCCSDK|https://www.riscos.info/downloads/gccsdk/latest/> cross-compiler
and L<REXEN|https://www.cp15.org/programming/>.

First, copy the source and build a native copy of perl for your host system.
Then, in the source to be cross-compiled:

=over 4

=item 1.

    $ ./Configure

=item 2.

Select the RISC OS hint file (F<hints/riscos.sh>).
The default answers for the rest of the questions are usually sufficient.

Note that, if you wish to run C<Configure> non-interactively
(see the F<INSTALL> document for details), to have it select the correct hint
file, you'll need to provide the argument C<-Dhintfile=riscos> on the
C<Configure> command-line.

=item 3.

    $ make miniperl

=item 4.

This should build C<miniperl> and then fail when it tries to run it.

=item 5.

Copy the F<miniperl> executable from the native build done earlier to
replace the cross-compiled F<miniperl>.

=item 6.

    $ make

=item 7.

This will use C<miniperl> to complete the rest of the build.

=back

=head1 AUTHOR

Alex Waugh <alex@alexwaugh.com>