home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / perlamiga.pod < prev    next >
Text File  |  2003-11-07  |  7KB  |  279 lines

  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, pueschel@imsdd.meb.uni-bonn.de
  272. Jan-Erik Karlsson, trg@privat.utfors.se
  273.  
  274. =head1 SEE ALSO
  275.  
  276. perl(1).
  277.  
  278. =cut
  279.