Fix for environment leak
[perl.git] / README.amiga
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 SYNOPSIS
10
11 One can read this document in the following formats:
12
13         man perlamiga
14         multiview perlamiga.guide
15
16 to list some (not all may be available simultaneously), or it may
17 be read I<as is>: either as F<README.amiga>, or F<pod/perlamiga.pod>.
18
19 =cut
20
21 Contents
22  
23  perlamiga - Perl under Amiga OS
24
25        NAME 
26        SYNOPSIS 
27        DESCRIPTION 
28          -  Prerequisites 
29          -  Starting Perl programs under AmigaOS
30          -  Shortcomings of Perl under AmigaOS
31        INSTALLATION 
32        Accessing documentation 
33          -  Manpages 
34          -  HTML 
35          -  GNU info files 
36          -  LaTeX docs 
37        BUILD 
38          -  Prerequisites 
39          -  Getting the perl source 
40          -  Application of the patches 
41          -  Making 
42          -  Testing 
43          -  Installing the built perl 
44        AUTHOR 
45        SEE ALSO 
46
47 =head1 DESCRIPTION
48
49 =head2 Prerequisites
50
51 =over 6
52
53 =item B<Unix emulation for AmigaOS: ixemul.library>
54
55 You need the Unix emulation for AmigaOS, whose most important part is
56 B<ixemul.library>. For a minimum setup, get the following archives from
57 ftp://ftp.ninemoons.com/pub/ade/current or a mirror:
58
59 ixemul-46.0-bin.lha
60 ixemul-46.0-env-bin.lha
61 pdksh-4.9-bin.lha
62 ADE-misc-bin.lha
63
64 Note that there might be newer versions available by the time you read
65 this.
66
67 Note also that this is a minimum setup; you might want to add other
68 packages of B<ADE> (the I<Amiga Developers Environment>).
69
70 =item B<Version of Amiga OS>
71
72 You need at the very least AmigaOS version 2.0. Recommended is version 3.1.
73
74 =back
75
76 =head2 Starting Perl programs under AmigaOS
77
78 Start your Perl program F<foo> with arguments C<arg1 arg2 arg3> the
79 same way as on any other platform, by
80
81         perl foo arg1 arg2 arg3
82
83 If you want to specify perl options C<-my_opts> to the perl itself (as
84 opposed to to your program), use
85
86         perl -my_opts foo arg1 arg2 arg3
87
88 Alternately, you can try to get a replacement for the system's B<Execute>
89 command that honors the #!/usr/bin/perl syntax in scripts and set the s-Bit
90 of your scripts. Then you can invoke your scripts like under UNIX with
91
92         foo arg1 arg2 arg3
93
94 (Note that having *nixish full path to perl F</usr/bin/perl> is not
95 necessary, F<perl> would be enough, but having full path would make it
96 easier to use your script under *nix.)
97
98 =head2 Shortcomings of Perl under AmigaOS
99
100 Perl under AmigaOS lacks some features of perl under UNIX because of
101 deficiencies in the UNIX-emulation, most notably:
102
103 =over 6
104
105 =item fork()
106
107 =item some features of the UNIX filesystem regarding link count and file dates
108
109 =item inplace operation (the -i switch) without backup file
110
111 =item umask() works, but the correct permissions are only set when the file is
112       finally close()d
113  
114 =back
115
116 =head1 INSTALLATION
117
118 Change to the installation directory (most probably ADE:), and
119 extract the binary distribution:
120
121 lha -mraxe x perl-5.003-bin.lha
122
123 or
124
125 tar xvzpf perl-5.003-bin.tgz
126
127 (Of course you need lha or tar and gunzip for this.)
128
129 For installation of the Unix emulation, read the appropriate docs.
130
131 =head1 Accessing documentation
132
133 =head2 Manpages
134
135 If you have C<man> installed on your system, and you installed perl
136 manpages, use something like this:
137
138         man perlfunc
139         man less
140         man ExtUtils.MakeMaker
141
142 to access documentation for different components of Perl. Start with
143
144         man perl
145
146 Note: You have to modify your man.conf file to search for manpages
147 in the /ade/lib/perl5/man/man3 directory, or the man pages for the
148 perl library will not be found. 
149
150 Note that dot (F<.>) is used as a package separator for documentation
151 for packages, and as usual, sometimes you need to give the section - C<3>
152 above - to avoid shadowing by the I<less(1) manpage>.
153
154
155 =head2 B<HTML>
156
157 If you have some WWW browser available, you can build B<HTML> docs.
158 Cd to directory with F<.pod> files, and do like this
159
160         cd /ade/lib/perl5/pod
161         pod2html
162
163 After this you can direct your browser the file F<perl.html> in this
164 directory, and go ahead with reading docs.
165
166 Alternatively you may be able to get these docs prebuilt from C<CPAN>.
167
168 =head2 B<GNU> C<info> files
169
170 Users of C<Emacs> would appreciate it very much, especially with
171 C<CPerl> mode loaded. You need to get latest C<pod2info> from C<CPAN>,
172 or, alternately, prebuilt info pages.
173
174 =head2 C<LaTeX> docs
175
176 can be constructed using C<pod2latex>.
177
178 =head1 BUILD
179
180 Here we discuss how to build Perl under AmigaOS.
181
182 =head2 Prerequisites
183
184 You need to have the latest B<ADE> (Amiga Developers Environment)
185 from ftp://ftp.ninemoons.com/pub/ade/current.
186 Also, you need a lot of free memory, probably at least 8MB.
187
188 =head2 Getting the perl source
189
190 You can either get the latest perl-for-amiga source from Ninemoons
191 and extract it with:
192
193   tar xvzpf perl-5.004-src.tgz
194
195 or get the official source from CPAN:
196
197   http://www.perl.com/CPAN/src/5.0
198
199 Extract it like this
200
201   tar xvzpf perl5.004.tar.gz
202
203 You will see a message about errors while extracting F<Configure>. This
204 is normal and expected. (There is a conflict with a similarly-named file
205 F<configure>, but it causes no harm.)
206
207 =head2 Making
208
209   sh configure.gnu --prefix=/ade
210
211 Now
212
213   make
214
215 =head2 Testing
216
217 Now run
218
219   make test
220
221 Some tests will be skipped because they need the fork() function:
222
223 F<io/pipe.t>, F<op/fork.t>, F<lib/filehand.t>, F<lib/open2.t>, F<lib/open3.t>, 
224 F<lib/io_pipe.t>, F<lib/io_sock.t>
225
226 =head2 Installing the built perl
227
228 Run
229
230   make install
231
232 =head1 AUTHOR
233
234 Norbert Pueschel, pueschel@imsdd.meb.uni-bonn.de
235
236 =head1 SEE ALSO
237
238 perl(1).
239
240 =cut