F<.INF> docs as well (text form is available in F</emx/doc> in
EMX's distribution).
+Note that if you have F<lynx.exe> installed, you can follow WWW links
+from this document in F<.INF> format. If you have EMX docs installed
+correctly, you can follow library links (you need to have C<view emxbook>
+working by setting C<EMXBOOK> environment variable as it is described
+in EMX docs).
+
=cut
Contents
One can get different parts of EMX from, say
- ftp://ftp.cdrom.com/pub/os2/emx0.9c/
- ftp://hobbes.nmsu.edu/os2/unix/gnu/
+ ftp://ftp.cdrom.com/pub/os2/emx09c/
+ ftp://hobbes.nmsu.edu/os2/unix/emx09c/
The runtime component should have the name F<emxrt.zip>.
One can get RSX from, say
- ftp://ftp.cdrom.com/pub/os2/emx0.9c/contrib
+ ftp://ftp.cdrom.com/pub/os2/emx09c/contrib
ftp://ftp.uni-bielefeld.de/pub/systems/msdos/misc
+ ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/contrib
Contact the author on C<rainer@mathematik.uni-bielefeld.de>.
The latest F<sh.exe> with DOS hooks is available at
- ftp://ftp.math.ohio-state.edu/pub/users/ilya/os2/sh_dos.exe
+ ftp://ftp.math.ohio-state.edu/pub/users/ilya/os2/sh_dos.zip
=item HPFS
binary (5.2.12?) runs under DOS (with L<RSX>) as well, meanwhile use
the binary from
- ftp://ftp.math.ohio-state.edu/pub/users/ilya/os2/sh_dos.exe
+ ftp://ftp.math.ohio-state.edu/pub/users/ilya/os2/sh_dos.zip
=back
*nixish shell (like F<sh.exe> supplied in the binary distribution),
you need to follow the syntax specified in L<perlrun/"Switches">.
+Note that B<-S> switch enables a search with additional extensions
+F<.cmd>, F<.btm>, F<.bat>, F<.pl> as well.
+
=head2 Starting OS/2 (and DOS) programs under Perl
This is what system() (see L<perlfunc/system>), C<``> (see
Possible locations to get this from are
- ftp://hobbes.nmsu.edu/os2/unix/gnu/
+ ftp://hobbes.nmsu.edu/os2/unix/
ftp://ftp.cdrom.com/pub/os2/unix/
ftp://ftp.cdrom.com/pub/os2/dev32/
- ftp://ftp.cdrom.com/pub/os2/emx0.9c/
+ ftp://ftp.cdrom.com/pub/os2/emx09c/
+It is reported that the following archives contain enough utils to
+build perl: gnufutil.zip, gnusutil.zip, gnututil.zip, gnused.zip,
+gnupatch.zip, gnuawk.zip, gnumake.zip and ksh527rt.zip. Note that
+all these utilities are known to be available from LEO:
+
+ ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu
Make sure that no copies or perl are currently running. Later steps
of the build may fail since an older version of perl.dll loaded into
=item C<File::Copy::syscopy>
-used by C<File::Copy::copy>, see L<File::Copy/copy>.
+used by C<File::Copy::copy>, see L<File::Copy>.
=item C<DynaLoader::mod2fname>
=item
-Since <flock> is present in EMX, but is not functional, the same is
-true for perl. Here is the list of things which may be "broken" on
+Since L<flock(3)> is present in EMX, but is not functional, it is
+emulated by perl. To disable the emulations, set environment variable
+C<USE_PERL_FLOCK=0>.
+
+=item
+
+Here is the list of things which may be "broken" on
EMX (from EMX docs):
- - The functions recvmsg(), sendmsg(), and socketpair() are not
- implemented.
- - sock_init() is not required and not implemented.
- - flock() is not yet implemented (dummy function).
- - kill:
- Special treatment of PID=0, PID=1 and PID=-1 is not implemented.
- - waitpid:
+=over
+
+=item *
+
+The functions L<recvmsg(3)>, L<sendmsg(3)>, and L<socketpair(3)> are not
+implemented.
+
+=item *
+
+L<sock_init(3)> is not required and not implemented.
+
+=item *
+
+L<flock(3)> is not yet implemented (dummy function). (Perl has a workaround.)
+
+=item *
+
+L<kill(3)>: Special treatment of PID=0, PID=1 and PID=-1 is not implemented.
+
+=item *
+
+L<waitpid(3)>:
+
WUNTRACED
Not implemented.
waitpid() is not implemented for negative values of PID.
+=back
+
Note that C<kill -9> does not work with the current version of EMX.
=item
C<os2_stat> special-cases F</dev/tty> and F</dev/con>.
+=item C<flock>
+
+Since L<flock(3)> is present in EMX, but is not functional, it is
+emulated by perl. To disable the emulations, set environment variable
+C<USE_PERL_FLOCK=0>.
+
=back
=head1 Perl flavors
Should be used if the perl library is moved from the default
location in preference to C<PERL(5)LIB>, since this would not leave wrong
-entries in <@INC>.
+entries in @INC. Say, if the compiled version of perl looks for @INC
+in F<f:/perllib/lib>, and you want to install the library in
+F<h:/opt/gnu>, do
+
+ set PERLLIB_PREFIX=f:/perllib/lib;h:/opt/gnu
=head2 C<PERL_BADLANG>
Specific for EMX port. Gives the directory part of the location for
F<sh.exe>.
+=head2 C<USE_PERL_FLOCK>
+
+Specific for EMX port. Since L<flock(3)> is present in EMX, but is not
+functional, it is emulated by perl. To disable the emulations, set
+environment variable C<USE_PERL_FLOCK=0>.
+
=head2 C<TMP> or C<TEMP>
Specific for EMX port. Used as storage place for temporary files, most