X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/84e09a8c4c3ab0da4efb6250a91ff5d3425e35b7..68567d271d7bcc0392c9f9bdd834ad94db1e4773:/README.os2 diff --git a/README.os2 b/README.os2 index f8288a6..ae03a56 100644 --- a/README.os2 +++ b/README.os2 @@ -151,7 +151,7 @@ versions of EMX. =item * -You need a separate perl executable F (see L) +You need a separate perl executable F (see L) if you want to use PM code in your application (as Perl/Tk or OpenGL Perl modules do) without having a text-mode window present. @@ -162,7 +162,7 @@ Using F avoids such a degradation. =item * There is no simple way to access WPS objects. The only way I know -is via C and C extensions (see L, L). +is via C and C extensions (see L, L). However, we do not have access to convenience methods of Object-REXX. (Is it possible at all? I know of no Object-REXX API.) The C extension (currently in alpha-text) @@ -186,7 +186,7 @@ Note that not all features of Perl are available under these environments. This depends on the features the I - most probably RSX - decided to implement. -Cf. L. +Cf. L. =head2 Prerequisites @@ -196,7 +196,7 @@ Cf. L. EMX runtime is required (may be substituted by RSX). Note that it is possible to make F to run under DOS without any -external support by binding F/F to it, see L. Note +external support by binding F/F to it, see C. Note that under DOS for best results one should use RSX runtime, which has much more functions working (like C, C and so on). In fact RSX is required if there is no VCPI present. Note the @@ -264,7 +264,7 @@ either in the wired-in-during-compile locations (usually F), or in configurable location (see L<"PERL_SH_DIR">). For best results use EMX pdksh. The standard binary (5.2.14 or later) runs -under DOS (with L) as well, see +under DOS (with L) as well, see http://www.ilyaz.org/software/os2/ @@ -315,7 +315,7 @@ or whatever method you prefer. There are also endless possibilities to use I of 4os2, I of WPS and so on... However, if you use *nixish shell (like F supplied in the binary distribution), -you need to follow the syntax specified in L. +you need to follow the syntax specified in L. Note that B<-S> switch supports scripts with additional extensions F<.cmd>, F<.btm>, F<.bat>, F<.pl> as well. @@ -404,11 +404,12 @@ there is an executable file F I on C. In other words, C is essentially searched twice: once by the OS for an executable, then by Perl for scripts. -Note also that executable files on OS/2 can have an arbitrary extension, -but F<.exe> will be automatically appended if no dot is present in the name. -The workaround is as simple as that: since F and F denote the -same file (at list on FAT and HPFS file systems), to start an executable residing in file F (no -extension) give an argument C (dot appended) to system(). +Note also that executable files on OS/2 can have an arbitrary extension, but +F<.exe> will be automatically appended if no dot is present in the name. The +workaround is as simple as that: since F and F denote the same +file (at list on FAT and HPFS file systems), to start an executable residing in +file F (no extension) give an argument C (dot +appended) to system(). Perl will start PM programs from VIO (=text-mode) Perl process in a separate PM session; @@ -435,7 +436,7 @@ managed to goof. C<;-)> =item * Did you run your programs with C<-w> switch? See -L. +L2 (and DOS) programs under Perl>. =item * @@ -475,10 +476,10 @@ should be done "correctly". =head2 C<``> and pipe-C do not work under DOS. This may a variant of just L<"I cannot run external programs">, or a -deeper problem. Basically: you I RSX (see L<"Prerequisites">) +deeper problem. Basically: you I RSX (see L) for these commands to work, and you may need a port of F which understands command arguments. One of such ports is listed in -L<"Prerequisites"> under RSX. Do not forget to set variable +L under RSX. Do not forget to set variable C> as well. DPMI is required for RSX. @@ -487,7 +488,7 @@ DPMI is required for RSX. The whole idea of the "standard C API to start applications" is that the forms C and C<"foo"> of program arguments are completely -interchangable. F breaks this paradigm; +interchangeable. F breaks this paradigm; find "pattern" file find pattern file @@ -557,7 +558,7 @@ of this file. B. Because of a typo the binary installer of 5.00305 would install a variable C into F. Please -remove this variable and put C> instead. +remove this variable and put C> instead. =head2 Manual binary installation @@ -618,7 +619,7 @@ C in F, see L<"PERLLIB_PREFIX">. =item Additional Perl modules - unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.11.5/ + unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.21.4/ Same remark as above applies. Additionally, if this directory is not one of directories on @INC (and @INC is influenced by C), you @@ -1015,12 +1016,12 @@ The reasons for most important skipped tests are: =over 4 -=item 18 +=item Z<>18 Checks C and C of C - unfortunately, HPFS provides only 2sec time granularity (for compatibility with FAT?). -=item 25 +=item Z<>25 Checks C on a filehandle just opened for write - I do not know why this should or should not work. @@ -1061,7 +1062,7 @@ Run to convert perl utilities to F<.cmd> files and put them on PATH. You need to put F<.EXE>-utilities on path manually. They are installed in C<$prefix/bin>, here C<$prefix> is what you gave to -F, see L. +F, see L. If you use C, either move the installed F<*/man/> directories to your C, or modify C to match the location. (One @@ -1111,7 +1112,7 @@ named accordingly. Fully build and test the Perl distribution. Make sure that no tests are failing with C and C targets; fix the bugs in Perl and the Perl test suite detected by these tests. Make sure that C -make target runs as clean as possible. Check that C +make target runs as clean as possible. Check that F runs fine. =item 2. @@ -1264,7 +1265,7 @@ redirect the new version of Perl to a new location, and copy the installed files to this new location. Redo the tests to make sure that the versions of modules inherited from older versions of Perl are not needed. -Actually, the log output of L during the step 6 gives a very detailed +Actually, the log output of L during the step 6 gives a very detailed info about which modules are loaded from which place; so you may use it as an additional verification tool. @@ -1409,7 +1410,8 @@ For best results compile the C file below with the same options as the Perl DLL. However, a lot of functionality will work even if the executable is not an EMX applications, e.g., if compiled with - gcc -Wall -DDOSISH -DOS2=1 -O2 -s -Zomf -Zsys perl-starter.c -DPERL_DLL_BASENAME=\"perl312F\" -Zstack 8192 -Zlinker /PM:VIO + gcc -Wall -DDOSISH -DOS2=1 -O2 -s -Zomf -Zsys perl-starter.c \ + -DPERL_DLL_BASENAME=\"perl312F\" -Zstack 8192 -Zlinker /PM:VIO Here is the sample C file: @@ -1461,7 +1463,7 @@ Here is the sample C file: if (_execname(buf, sizeof(buf) - 13) != 0) die_with("Can't find full path: ", strerror(errno), "", ""); - /* XXXX Fill `me' with new value */ + /* XXXX Fill 'me' with new value */ l = strlen(buf); while (l && buf[l-1] != '/' && buf[l-1] != '\\') l--; @@ -1499,7 +1501,7 @@ Here is the sample C file: { main_t f; handler_t h; - + me = argv[0]; /**/ handle = load_perl_dll(PERL_DLL_BASENAME); @@ -1521,11 +1523,11 @@ Here is the sample C file: =head2 Some C became C<\> in pdksh. -You have a very old pdksh. See L. +You have a very old pdksh. See L. =head2 C<'errno'> - unresolved external -You do not have MT-safe F. See L. +You do not have MT-safe F. See L. =head2 Problems with tr or sed @@ -1538,11 +1540,11 @@ broke the build of extensions. =head2 Library ... not found -You did not run C. See L. +You did not run C. See L. =head2 Segfault in make -You use an old version of GNU make. See L. +You use an old version of GNU make. See L. =head2 op/sprintf test failure @@ -1649,7 +1651,7 @@ leaves drive as it is. =item C -chanes the "current" drive. +changes the "current" drive. =item C @@ -1896,7 +1898,7 @@ _DLLInitTerm() (e.g., F). This means that even if you do not I any function in the DLL, just the act of loading this DLL will reset your flags. What is worse, the same compiler was used to compile some HOOK DLLs. Given that HOOK dlls are executed in the context of I the applications -in the system, this means a complete unpredictablity of floating point +in the system, this means a complete unpredictability of floating point flags on systems using such HOOK DLLs. E.g., F of B origin changes the floating point flags on each write to the TTY of a VIO (windowed text-mode) applications. @@ -2025,7 +2027,7 @@ WM_QUIT, and which did not process the received WM_QUIT message, the shutdown will be automatically cancelled. Do not call C unless you are going to process messages on an orderly basis. -=item * Treating errors reported by OS/2 API +=item Treating errors reported by OS/2 API There are two principal conventions (it is useful to call them C and C - though this part of the function signature is not always @@ -2102,7 +2104,7 @@ Sets C to C, and sets $^E to the corresponding value. =back -=item * Loading DLLs and ordinals in DLLs +=item Loading DLLs and ordinals in DLLs Some DLLs are only present in some versions of OS/2, or in some configurations of OS/2. Some exported entry points are present only @@ -2217,8 +2219,7 @@ It is a VIO application. =head2 Why strange names? Since Perl processes the C<#!>-line (cf. -L, L, -L, +L, L, L), it should know when a program I. There is some naming convention which allows Perl to distinguish correct lines from wrong ones. The above names are @@ -2548,8 +2549,9 @@ it has the same effect.) B. C, C and C are not environment variables, although F emulates them on C lines. From Perl they may be accessed by L and -L. +...> lines. From Perl they may be accessed by +L and +L. =head2 DLL forwarder generation @@ -2604,7 +2606,7 @@ are F and F. Having perl build itself would be impossible with F as a shell, thus I picked up C. This assures almost 100% compatibility with the scripts coming from *nix. As an added benefit this works as well under DOS if you use DOS-enabled port of pdksh -(see L<"Prerequisites">). +(see L). B currently F of pdksh calls external programs via fork()/exec(), and there is I functioning exec() on @@ -2637,7 +2639,7 @@ I will include it into distribution. I have no need for such a module, so cannot test it. For the details of the current situation with calling external programs, -see L. Set us mention a couple +see L2 (and DOS) programs under Perl>. Set us mention a couple of features: =over 4 @@ -2699,7 +2701,7 @@ have a low probability of affecting small programs. =head1 BUGS This description is not updated often (since 5.6.1?), see F<./os2/Changes> -(L) for more info. +for more info. =cut