source: trunk/third/perl/README.amiga @ 20075

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