Commit | Line | Data |
9a997319 |
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. |
4d2c4e07 |
4 | |
9a997319 |
5 | =head1 NAME |
6 | |
7 | README.epoc - Perl for EPOC |
4d2c4e07 |
8 | |
9a997319 |
9 | =head1 SYNOPSIS |
10 | |
2585f9a3 |
11 | Perl 5 README file for the EPOC Release 5 operating system. |
9a997319 |
12 | |
13 | =head1 INTRODUCTION |
4d2c4e07 |
14 | |
d1be9408 |
15 | EPOC is an OS for palmtops and mobile phones. For more informations look at: |
3a2f06e9 |
16 | http://www.symbian.com/ |
4d2c4e07 |
17 | |
2585f9a3 |
18 | This is a port of perl to the epocemx SDK by Eberhard Mattes, which |
3a1825b5 |
19 | itself uses the SDK by symbian. Essentially epocemx it is a POSIX |
6c852fd0 |
20 | look alike environment for the EPOC OS. For more information look at: |
21 | http://epocemx.sourceforge.net/ |
2585f9a3 |
22 | |
23 | perl and epocemx runs on Epoc Release 5 machines: Psion 5mx, 5mx Pro, |
24 | Psion Revo, Psion Netbook and on the Ericson M128. It may run on Epoc |
25 | Release 3 Hardware (Series 5 classic), too. For more information about |
1577cd80 |
26 | this hardware please refer to http://www.psion.com/ |
d5ff79b3 |
27 | |
28 | Vendors which like to have support for their devices are free to send |
29 | me a sample. |
4d2c4e07 |
30 | |
9a997319 |
31 | =head1 INSTALLING PERL ON EPOC |
4d2c4e07 |
32 | |
d5ff79b3 |
33 | You can download a ready-to-install version from |
6c852fd0 |
34 | http://www.oflebbe.de/oflebbe/perl/ |
d5ff79b3 |
35 | |
6c852fd0 |
36 | You will need at least ~6MB free space in order to install and run perl. |
d5ff79b3 |
37 | |
2585f9a3 |
38 | Please install the emxusr.sis package from |
6c852fd0 |
39 | http://epocemx.sourceforge.net/ first. |
2585f9a3 |
40 | |
d5ff79b3 |
41 | Install perl.sis on the EPOC machine. If you do not know how to do |
42 | that, consult your PsiWin documentation. |
43 | |
2585f9a3 |
44 | Perl itself and its standard library is using 4 MB disk space. |
d5ff79b3 |
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. |
ae2d1787 |
48 | |
d5ff79b3 |
49 | =head1 STARTING PERL ON EPOC |
ae2d1787 |
50 | |
2585f9a3 |
51 | Please use the epocemx shell to start perl. perl integrates with the |
52 | conventions of epocemx. |
4d2c4e07 |
53 | |
a83b6f46 |
54 | =head2 Editors on Epoc |
4d2c4e07 |
55 | |
d5ff79b3 |
56 | A suitable text editor can be downloaded from symbian |
02a99678 |
57 | http://www.symbian.com/developer/downloads/files/editor.zip |
ed79a026 |
58 | |
a83b6f46 |
59 | =head2 Features of Perl on Epoc |
4d2c4e07 |
60 | |
ed79a026 |
61 | The built-in function EPOC::getcwd returns the current directory. |
3a2f06e9 |
62 | |
a83b6f46 |
63 | =head2 Restrictions of Perl on Epoc |
4d2c4e07 |
64 | |
ed79a026 |
65 | Features are left out, because of restrictions of the POSIX support in |
66 | EPOC: |
4d2c4e07 |
67 | |
9a997319 |
68 | =over 4 |
69 | |
eccd403f |
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 | |
9a997319 |
76 | =item * |
77 | |
2585f9a3 |
78 | kill, alarm and signals. Do not try to use them. This may be |
9a997319 |
79 | impossible to implement on EPOC. |
80 | |
81 | =item * |
82 | |
83 | select is missing. |
84 | |
85 | =item * |
ae2d1787 |
86 | |
9a997319 |
87 | binmode does not exist. (No CR LF to LF translation for text files) |
ae2d1787 |
88 | |
9a997319 |
89 | =item * |
ae2d1787 |
90 | |
9a997319 |
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 |
3a1825b5 |
93 | one). See PATH. |
ae2d1787 |
94 | |
9a997319 |
95 | =item * |
ae2d1787 |
96 | |
d5ff79b3 |
97 | Heap is limited to 4MB. |
4d2c4e07 |
98 | |
9a997319 |
99 | =item * |
4d2c4e07 |
100 | |
d5ff79b3 |
101 | Dynamic loading is not implemented. |
4d2c4e07 |
102 | |
9a997319 |
103 | =back |
104 | |
105 | =head2 Compiling Perl 5 on the EPOC cross compiling environment |
4d2c4e07 |
106 | |
3a2f06e9 |
107 | Sorry, this is far too short. |
4d2c4e07 |
108 | |
9a997319 |
109 | =over 4 |
110 | |
111 | =item * |
112 | |
2585f9a3 |
113 | You will need the epocemx SDK from Eberhard Mattes. |
4d2c4e07 |
114 | |
9a997319 |
115 | =item * |
4d2c4e07 |
116 | |
9a997319 |
117 | Get the Perl sources from your nearest CPAN site. |
4d2c4e07 |
118 | |
9a997319 |
119 | =item * |
4d2c4e07 |
120 | |
9a997319 |
121 | Unpack the sources. |
ae2d1787 |
122 | |
9a997319 |
123 | =item * |
ae2d1787 |
124 | |
d5ff79b3 |
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 |
ed79a026 |
129 | |
3a2f06e9 |
130 | cp epoc/* . |
f83d2536 |
131 | ./Configure -S |
d5ff79b3 |
132 | make |
3a2f06e9 |
133 | cp miniperl.native miniperl |
2585f9a3 |
134 | touch miniperl.exe |
d5ff79b3 |
135 | make |
3a2f06e9 |
136 | perl createpkg.pl |
4d2c4e07 |
137 | |
02a99678 |
138 | emxsis perl.pkg perl.sis |
4d2c4e07 |
139 | |
9a997319 |
140 | =back |
4d2c4e07 |
141 | |
a83b6f46 |
142 | =head1 SUPPORT STATUS OF PERL ON EPOC |
4d2c4e07 |
143 | |
ed79a026 |
144 | I'm offering this port "as is". You can ask me questions, but I can't |
2585f9a3 |
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. |
9a997319 |
149 | |
150 | =head1 AUTHOR |
151 | |
6c852fd0 |
152 | Olaf Flebbe <olaf@oflebbe.de> |
153 | http://www.oflebbe.de/oflebbe/perl/ |
9a997319 |
154 | |
155 | =head1 LAST UPDATE |
156 | |
6c852fd0 |
157 | 2003-01-18 |
9a997319 |
158 | |
159 | =cut |