1 | If you read this file _as_is_, just ignore the funny characters you
|
---|
2 | see. It is written in the POD format (see perlpod manpage) which is
|
---|
3 | specially designed to be readable as is.
|
---|
4 |
|
---|
5 | =head1 NAME
|
---|
6 |
|
---|
7 | perlamiga - Perl under Amiga OS
|
---|
8 |
|
---|
9 | =head1 NOTE
|
---|
10 |
|
---|
11 | B<Perl 5.8.0 cannot be built in AmigaOS. You can use either the
|
---|
12 | maintenance release Perl 5.6.1 or the development release Perl 5.7.2
|
---|
13 | in AmigaOS. See L</"PERL 5.8.0 BROKEN IN AMIGAOS"> if you want to help
|
---|
14 | fixing this problem.>
|
---|
15 |
|
---|
16 | =head1 SYNOPSIS
|
---|
17 |
|
---|
18 | One can read this document in the following formats:
|
---|
19 |
|
---|
20 | man perlamiga
|
---|
21 | multiview perlamiga.guide
|
---|
22 |
|
---|
23 | to list some (not all may be available simultaneously), or it may
|
---|
24 | be read I<as is>: either as F<README.amiga>, or F<pod/perlamiga.pod>.
|
---|
25 |
|
---|
26 | A recent version of perl for the Amiga can be found at the Geek Gadgets
|
---|
27 | section of the Aminet:
|
---|
28 |
|
---|
29 | http://www.aminet.net/~aminet/dev/gg/index.html
|
---|
30 |
|
---|
31 | =cut
|
---|
32 |
|
---|
33 | Contents
|
---|
34 |
|
---|
35 | perlamiga - Perl under Amiga OS
|
---|
36 |
|
---|
37 | NAME
|
---|
38 | SYNOPSIS
|
---|
39 | DESCRIPTION
|
---|
40 | - Prerequisites
|
---|
41 | - Starting Perl programs under AmigaOS
|
---|
42 | - Shortcomings of Perl under AmigaOS
|
---|
43 | INSTALLATION
|
---|
44 | Accessing documentation
|
---|
45 | - Manpages
|
---|
46 | - HTML
|
---|
47 | - GNU info files
|
---|
48 | - LaTeX docs
|
---|
49 | BUILD
|
---|
50 | - Build Prerequisites
|
---|
51 | - Getting the perl source
|
---|
52 | - Application of the patches
|
---|
53 | - Making
|
---|
54 | - Testing
|
---|
55 | - Installing the built perl
|
---|
56 | AUTHOR
|
---|
57 | SEE ALSO
|
---|
58 |
|
---|
59 | =head1 DESCRIPTION
|
---|
60 |
|
---|
61 | =head2 Prerequisites for Compiling Perl on AmigaOS
|
---|
62 |
|
---|
63 | =over 6
|
---|
64 |
|
---|
65 | =item B<Unix emulation for AmigaOS: ixemul.library>
|
---|
66 |
|
---|
67 | You need the Unix emulation for AmigaOS, whose most important part is
|
---|
68 | B<ixemul.library>. For a minimum setup, get the latest versions
|
---|
69 | of the following packages from the Aminet archives
|
---|
70 | ( http://www.aminet.net/~aminet/ ):
|
---|
71 |
|
---|
72 | ixemul-bin
|
---|
73 | ixemul-env-bin
|
---|
74 | pdksh-bin
|
---|
75 |
|
---|
76 | Note also that this is a minimum setup; you might want to add other
|
---|
77 | packages of B<ADE> (the I<Amiga Developers Environment>).
|
---|
78 |
|
---|
79 | =item B<Version of Amiga OS>
|
---|
80 |
|
---|
81 | You need at the very least AmigaOS version 2.0. Recommended is version 3.1.
|
---|
82 |
|
---|
83 | =back
|
---|
84 |
|
---|
85 | =head2 Starting Perl programs under AmigaOS
|
---|
86 |
|
---|
87 | Start your Perl program F<foo> with arguments C<arg1 arg2 arg3> the
|
---|
88 | same way as on any other platform, by
|
---|
89 |
|
---|
90 | perl foo arg1 arg2 arg3
|
---|
91 |
|
---|
92 | If you want to specify perl options C<-my_opts> to the perl itself (as
|
---|
93 | opposed to your program), use
|
---|
94 |
|
---|
95 | perl -my_opts foo arg1 arg2 arg3
|
---|
96 |
|
---|
97 | Alternately, you can try to get a replacement for the system's B<Execute>
|
---|
98 | command that honors the #!/usr/bin/perl syntax in scripts and set the s-Bit
|
---|
99 | of your scripts. Then you can invoke your scripts like under UNIX with
|
---|
100 |
|
---|
101 | foo arg1 arg2 arg3
|
---|
102 |
|
---|
103 | (Note that having *nixish full path to perl F</usr/bin/perl> is not
|
---|
104 | necessary, F<perl> would be enough, but having full path would make it
|
---|
105 | easier to use your script under *nix.)
|
---|
106 |
|
---|
107 | =head2 Shortcomings of Perl under AmigaOS
|
---|
108 |
|
---|
109 | Perl under AmigaOS lacks some features of perl under UNIX because of
|
---|
110 | deficiencies in the UNIX-emulation, most notably:
|
---|
111 |
|
---|
112 | =over 6
|
---|
113 |
|
---|
114 | =item *
|
---|
115 |
|
---|
116 | fork()
|
---|
117 |
|
---|
118 | =item *
|
---|
119 |
|
---|
120 | some features of the UNIX filesystem regarding link count and file dates
|
---|
121 |
|
---|
122 | =item *
|
---|
123 |
|
---|
124 | inplace operation (the -i switch) without backup file
|
---|
125 |
|
---|
126 | =item *
|
---|
127 |
|
---|
128 | umask() works, but the correct permissions are only set when the file is
|
---|
129 | finally close()d
|
---|
130 |
|
---|
131 | =back
|
---|
132 |
|
---|
133 | =head1 INSTALLATION
|
---|
134 |
|
---|
135 | Change to the installation directory (most probably ADE:), and
|
---|
136 | extract the binary distribution:
|
---|
137 |
|
---|
138 | lha -mraxe x perl-$VERSION-bin.lha
|
---|
139 |
|
---|
140 | or
|
---|
141 |
|
---|
142 | tar xvzpf perl-$VERSION-bin.tgz
|
---|
143 |
|
---|
144 | (Of course you need lha or tar and gunzip for this.)
|
---|
145 |
|
---|
146 | For installation of the Unix emulation, read the appropriate docs.
|
---|
147 |
|
---|
148 | =head1 Accessing documentation
|
---|
149 |
|
---|
150 | =head2 Manpages for Perl on AmigaOS
|
---|
151 |
|
---|
152 | If you have C<man> installed on your system, and you installed perl
|
---|
153 | manpages, use something like this:
|
---|
154 |
|
---|
155 | man perlfunc
|
---|
156 | man less
|
---|
157 | man ExtUtils.MakeMaker
|
---|
158 |
|
---|
159 | to access documentation for different components of Perl. Start with
|
---|
160 |
|
---|
161 | man perl
|
---|
162 |
|
---|
163 | Note: You have to modify your man.conf file to search for manpages
|
---|
164 | in the /ade/lib/perl5/man/man3 directory, or the man pages for the
|
---|
165 | perl library will not be found.
|
---|
166 |
|
---|
167 | Note that dot (F<.>) is used as a package separator for documentation
|
---|
168 | for packages, and as usual, sometimes you need to give the section - C<3>
|
---|
169 | above - to avoid shadowing by the I<less(1) manpage>.
|
---|
170 |
|
---|
171 |
|
---|
172 | =head2 Perl HTML Documentation on AmigaOS
|
---|
173 |
|
---|
174 | If you have some WWW browser available, you can build B<HTML> docs.
|
---|
175 | Cd to directory with F<.pod> files, and do like this
|
---|
176 |
|
---|
177 | cd /ade/lib/perl5/pod
|
---|
178 | pod2html
|
---|
179 |
|
---|
180 | After this you can direct your browser the file F<perl.html> in this
|
---|
181 | directory, and go ahead with reading docs.
|
---|
182 |
|
---|
183 | Alternatively you may be able to get these docs prebuilt from C<CPAN>.
|
---|
184 |
|
---|
185 | =head2 Perl GNU Info Files on AmigaOS
|
---|
186 |
|
---|
187 | Users of C<Emacs> would appreciate it very much, especially with
|
---|
188 | C<CPerl> mode loaded. You need to get latest C<pod2info> from C<CPAN>,
|
---|
189 | or, alternately, prebuilt info pages.
|
---|
190 |
|
---|
191 | =head2 Perl LaTeX Documentation on AmigaOS
|
---|
192 |
|
---|
193 | Can be constructed using C<pod2latex>.
|
---|
194 |
|
---|
195 | =head1 BUILDING PERL ON AMIGAOS
|
---|
196 |
|
---|
197 | Here we discuss how to build Perl under AmigaOS.
|
---|
198 |
|
---|
199 | =head2 Build Prerequisites for Perl on AmigaOS
|
---|
200 |
|
---|
201 | You need to have the latest B<ixemul> (Unix emulation for Amiga)
|
---|
202 | from Aminet.
|
---|
203 |
|
---|
204 | =head2 Getting the Perl Source for AmigaOS
|
---|
205 |
|
---|
206 | You can either get the latest perl-for-amiga source from Ninemoons
|
---|
207 | and extract it with:
|
---|
208 |
|
---|
209 | tar xvzpf perl-$VERSION-src.tgz
|
---|
210 |
|
---|
211 | or get the official source from CPAN:
|
---|
212 |
|
---|
213 | http://www.cpan.org/src/5.0
|
---|
214 |
|
---|
215 | Extract it like this
|
---|
216 |
|
---|
217 | tar xvzpf perl-$VERSION.tar.gz
|
---|
218 |
|
---|
219 | You will see a message about errors while extracting F<Configure>. This
|
---|
220 | is normal and expected. (There is a conflict with a similarly-named file
|
---|
221 | F<configure>, but it causes no harm.)
|
---|
222 |
|
---|
223 | =head2 Making Perl on AmigaOS
|
---|
224 |
|
---|
225 | Remember to use a hefty wad of stack (I use 2000000)
|
---|
226 |
|
---|
227 | sh configure.gnu --prefix=/gg
|
---|
228 |
|
---|
229 | Now type
|
---|
230 |
|
---|
231 | make depend
|
---|
232 |
|
---|
233 | Now!
|
---|
234 |
|
---|
235 | make
|
---|
236 |
|
---|
237 | =head2 Testing Perl on AmigaOS
|
---|
238 |
|
---|
239 | Now run
|
---|
240 |
|
---|
241 | make test
|
---|
242 |
|
---|
243 | Some tests will be skipped because they need the fork() function:
|
---|
244 |
|
---|
245 | F<io/pipe.t>, F<op/fork.t>, F<lib/filehand.t>, F<lib/open2.t>, F<lib/open3.t>,
|
---|
246 | F<lib/io_pipe.t>, F<lib/io_sock.t>
|
---|
247 |
|
---|
248 | =head2 Installing the built Perl on AmigaOS
|
---|
249 |
|
---|
250 | Run
|
---|
251 |
|
---|
252 | make install
|
---|
253 |
|
---|
254 | =head1 PERL 5.8.0 BROKEN IN AMIGAOS
|
---|
255 |
|
---|
256 | As told above, Perl 5.6.1 was still good in AmigaOS, as was 5.7.2.
|
---|
257 | After Perl 5.7.2 (change #11423, see the Changes file, and the file
|
---|
258 | pod/perlhack.pod for how to get the individual changes) Perl dropped
|
---|
259 | its internal support for vfork(), and that was very probably the step
|
---|
260 | that broke AmigaOS (since the ixemul library has only vfork).
|
---|
261 | The build finally fails when the ext/DynaLoader is being built, and
|
---|
262 | PERL ends up as "0" in the produced Makefile, trying to run "0" does
|
---|
263 | not quite work. Also, executing miniperl in backticks seems to
|
---|
264 | generate nothing: very probably related to the (v)fork problems.
|
---|
265 | B<Fixing the breakage requires someone quite familiar with the ixemul
|
---|
266 | library, and how one is supposed to run external commands in AmigaOS
|
---|
267 | without fork().>
|
---|
268 |
|
---|
269 | =head1 AUTHORS
|
---|
270 |
|
---|
271 | Norbert Pueschel, [email protected]
|
---|
272 | Jan-Erik Karlsson, [email protected]
|
---|
273 |
|
---|
274 | =head1 SEE ALSO
|
---|
275 |
|
---|
276 | perl(1).
|
---|
277 |
|
---|
278 | =cut
|
---|