| 1 | If you read this file _as_is_, just ignore the funny characters you |
| 2 | see. It is written in the POD format (see pod/perlpod.pod) which is |
| 3 | specially designed to be readable as is. |
| 4 | |
| 5 | =head1 NAME |
| 6 | |
| 7 | README.epoc - Perl for EPOC |
| 8 | |
| 9 | =head1 SYNOPSIS |
| 10 | |
| 11 | Perl 5 README file for the EPOC Release 5 operating system. |
| 12 | |
| 13 | =head1 INTRODUCTION |
| 14 | |
| 15 | EPOC is an OS for palmtops and mobile phones. For more informations look at: |
| 16 | http://www.symbian.com/ |
| 17 | |
| 18 | This is a port of perl to the epocemx SDK by Eberhard Mattes, which |
| 19 | itself uses the SDK by symbian. Essentially epocemx it is a POSIX |
| 20 | look alike environment for the EPOC OS. For more information look at: |
| 21 | http://epocemx.sourceforge.net/ |
| 22 | |
| 23 | perl and epocemx runs on Epoc Release 5 machines: Psion 5mx, 5mx Pro, |
| 24 | Psion Revo, Psion Netbook and on the Ericsson M128. It may run on Epoc |
| 25 | Release 3 Hardware (Series 5 classic), too. For more information about |
| 26 | this hardware please refer to http://www.psion.com/ |
| 27 | |
| 28 | Vendors which like to have support for their devices are free to send |
| 29 | me a sample. |
| 30 | |
| 31 | =head1 INSTALLING PERL ON EPOC |
| 32 | |
| 33 | You can download a ready-to-install version from |
| 34 | http://www.oflebbe.de/oflebbe/perl/ |
| 35 | |
| 36 | You will need at least ~6MB free space in order to install and run perl. |
| 37 | |
| 38 | Please install the emxusr.sis package from |
| 39 | http://epocemx.sourceforge.net/ first. |
| 40 | |
| 41 | Install perl.sis on the EPOC machine. If you do not know how to do |
| 42 | that, consult your PsiWin documentation. |
| 43 | |
| 44 | Perl itself and its standard library is using 4 MB disk space. |
| 45 | Unicode support and some other modules are left out. (For details, |
| 46 | please look into epoc/createpkg.pl). If you like to use these modules, |
| 47 | you are free to copy them from a current perl release. |
| 48 | |
| 49 | =head1 STARTING PERL ON EPOC |
| 50 | |
| 51 | Please use the epocemx shell to start perl. perl integrates with the |
| 52 | conventions of epocemx. |
| 53 | |
| 54 | =head2 Editors on Epoc |
| 55 | |
| 56 | A suitable text editor can be downloaded from symbian |
| 57 | http://www.symbian.com/developer/downloads/files/editor.zip |
| 58 | |
| 59 | =head2 Features of Perl on Epoc |
| 60 | |
| 61 | The built-in function EPOC::getcwd returns the current directory. |
| 62 | |
| 63 | =head2 Restrictions of Perl on Epoc |
| 64 | |
| 65 | Features are left out, because of restrictions of the POSIX support in |
| 66 | EPOC: |
| 67 | |
| 68 | =over 4 |
| 69 | |
| 70 | =item * |
| 71 | |
| 72 | socket IO is only implemented poorly. You can only use sysread and |
| 73 | syswrite on them. The commands read, write, print, <> do not work for |
| 74 | sockets. This may change iff epocemx supports sockets. |
| 75 | |
| 76 | =item * |
| 77 | |
| 78 | kill, alarm and signals. Do not try to use them. This may be |
| 79 | impossible to implement on EPOC. |
| 80 | |
| 81 | =item * |
| 82 | |
| 83 | select is missing. |
| 84 | |
| 85 | =item * |
| 86 | |
| 87 | binmode does not exist. (No CR LF to LF translation for text files) |
| 88 | |
| 89 | =item * |
| 90 | |
| 91 | EPOC does not handle the notion of current drive and current |
| 92 | directory very well (i.e. not at all, but it tries hard to emulate |
| 93 | one). See PATH. |
| 94 | |
| 95 | =item * |
| 96 | |
| 97 | Heap is limited to 4MB. |
| 98 | |
| 99 | =item * |
| 100 | |
| 101 | Dynamic loading is not implemented. |
| 102 | |
| 103 | =back |
| 104 | |
| 105 | =head2 Compiling Perl 5 on the EPOC cross compiling environment |
| 106 | |
| 107 | Sorry, this is far too short. |
| 108 | |
| 109 | =over 4 |
| 110 | |
| 111 | =item * |
| 112 | |
| 113 | You will need the epocemx SDK from Eberhard Mattes. |
| 114 | |
| 115 | =item * |
| 116 | |
| 117 | Get the Perl sources from your nearest CPAN site. |
| 118 | |
| 119 | =item * |
| 120 | |
| 121 | Unpack the sources. |
| 122 | |
| 123 | =item * |
| 124 | |
| 125 | Build a native perl from this sources... Make sure to save the |
| 126 | miniperl executable as miniperl.native. |
| 127 | |
| 128 | Start again from scratch |
| 129 | |
| 130 | cp epoc/* . |
| 131 | ./Configure -S |
| 132 | make |
| 133 | cp miniperl.native miniperl |
| 134 | touch miniperl.exe |
| 135 | make |
| 136 | perl createpkg.pl |
| 137 | |
| 138 | emxsis perl.pkg perl.sis |
| 139 | |
| 140 | =back |
| 141 | |
| 142 | =head1 SUPPORT STATUS OF PERL ON EPOC |
| 143 | |
| 144 | I'm offering this port "as is". You can ask me questions, but I can't |
| 145 | guarantee I'll be able to answer them. Since the port to epocemx is |
| 146 | quite new, please check the web for updates first. |
| 147 | |
| 148 | Very special thanks to Eberhard Mattes for epocemx. |
| 149 | |
| 150 | =head1 AUTHOR |
| 151 | |
| 152 | Olaf Flebbe <olaf@oflebbe.de> |
| 153 | http://www.oflebbe.de/oflebbe/perl/ |
| 154 | |
| 155 | =head1 LAST UPDATE |
| 156 | |
| 157 | 2003-01-18 |
| 158 | |
| 159 | =cut |