Regen files for mainline.
[p5sagit/p5-mst-13.2.git] / README.win32
index dc90ada..113c0f5 100644 (file)
@@ -14,7 +14,7 @@ These are instructions for building Perl under Windows (9x, NT and
 =head1 DESCRIPTION
 
 Before you start, you should glance through the README file
-found in the top-level directory where the Perl distribution
+found in the top-level directory to which the Perl distribution
 was extracted.  Make sure you read and understand the terms under
 which this software is being distributed.
 
@@ -28,10 +28,10 @@ particular, you can safely ignore any information that talks about
 
 You may also want to look at two other options for building
 a perl that will work on Windows NT:  the README.cygwin and
-README.os2 files, which each give a different set of rules to build
-a Perl that will work on Win32 platforms.  Those two methods will
-probably enable you to build a more Unix-compatible perl, but you
-will also need to download and use various other build-time and
+README.os2 files, each of which give a different set of rules to
+build a Perl that will work on Win32 platforms.  Those two methods
+will probably enable you to build a more Unix-compatible perl, but
+you will also need to download and use various other build-time and
 run-time support software described in those files.
 
 This set of instructions is meant to describe a so-called "native"
@@ -70,9 +70,9 @@ A port of dmake for Windows is available from:
 
     http://www.cpan.org/authors/id/GSAR/dmake-4.1pl1-win32.zip
 
-(This is a fixed version of original dmake sources obtained from
+(This is a fixed version of the original dmake sources obtained from
 http://www.wticorp.com/dmake/.  As of version 4.1PL1, the original
-sources did not build as shipped, and had various other problems.
+sources did not build as shipped and had various other problems.
 A patch is included in the above fixed version.)
 
 Fetch and install dmake somewhere on your path (follow the instructions
@@ -97,20 +97,20 @@ build usually works in this circumstance, but some tests will fail.
 =item Borland C++
 
 If you are using the Borland compiler, you will need dmake.
-(The make that Borland supplies is seriously crippled, and will not
+(The make that Borland supplies is seriously crippled and will not
 work for MakeMaker builds.)
 
-See L/"Make"> above.
+See L</"Make"> above.
 
 =item Microsoft Visual C++
 
 The nmake that comes with Visual C++ will suffice for building.
-You will need to run the VCVARS32.BAT file usually found somewhere
+You will need to run the VCVARS32.BAT file, usually found somewhere
 like C:\MSDEV4.2\BIN.  This will set your build environment.
 
-You can also use dmake to build using Visual C++, provided:
+You can also use dmake to build using Visual C++; provided, however,
 you set OSRELEASE to "microsft" (or whatever the directory name
-under which the Visual C dmake configuration lives) in your environment,
+under which the Visual C dmake configuration lives) in your environment
 and edit win32/config.vc to change "make=nmake" into "make=dmake".  The
 latter step is only essential if you want to use dmake as your default
 make for building extensions using MakeMaker.
@@ -125,7 +125,7 @@ The GCC-2.95.2 bundle comes with Mingw32 libraries and headers.
 
 Make sure you install the binaries that work with MSVCRT.DLL as indicated
 in the README for the GCC bundle.  You may need to set up a few environment
-variables (usually run from a batch file).
+variables (usually ran from a batch file).
 
 The version of gcc-2.95.2-msvcrt.exe released 7 November 1999 left out
 a fix for certain command line quotes, so be sure to download and install
@@ -149,12 +149,12 @@ makefile are setup to build using the GCC compiler.
 
 =item *
 
-Edit the makefile.mk (or Makefile, if using nmake) and change the values
-of INST_DRV and INST_TOP.   You can also enable various build
-flags.  These are explained in the makefiles.
+Edit the makefile.mk (or Makefile, if you're using nmake) and change 
+the values of INST_DRV and INST_TOP.   You can also enable various
+build flags.  These are explained in the makefiles.
 
-You will have to make sure CCTYPE is set correctly, and CCHOME points
-to wherever you installed your compiler.
+You will have to make sure that CCTYPE is set correctly and that 
+CCHOME points to wherever you installed your compiler.
 
 The default value for CCHOME in the makefiles for Visual C++
 may not be correct for some versions.  Make sure the default exists
@@ -165,7 +165,7 @@ enable the appropriate option in the makefile.  des_fcrypt() is not
 bundled with the distribution due to US Government restrictions
 on the export of cryptographic software.  Nevertheless, this routine
 is part of the "libdes" library (written by Eric Young) which is widely
-available worldwide, usually along with SSLeay (for example:
+available worldwide, usually along with SSLeay (for example, 
 "ftp://fractal.mta.ca/pub/crypto/SSLeay/DES/").  Set CRYPT_SRC to the
 name of the file that implements des_fcrypt().  Alternatively, if
 you have built a library that contains des_fcrypt(), you can set
@@ -212,7 +212,15 @@ If you're using the Borland compiler, you may see a failure in op/taint.t
 arising from the inability to find the Borland Runtime DLLs on the system
 default path.  You will need to copy the DLLs reported by the messages
 from where Borland chose to install it, into the Windows system directory
-(usually somewhere like C:\WINNT\SYSTEM32), and rerun the test.
+(usually somewhere like C:\WINNT\SYSTEM32) and rerun the test.
+
+If you're using Borland compiler versions 5.2 and below, you're risking
+to face a problem with finding incorrect header files. Don't be surprised
+when during compiling perl extension "Tk" you will fail because both perl
+and tk contain a header file with same name - "patchlevel.h".  The latest
+Borland compilers are free of this misbehaviour, and they even invented
+option -VI- for backward (bugward) compatibility as "Use old Borland
+search algorithm  to locate header files".
 
 Please report any other failures as described under L<BUGS AND CAVEATS>.
 
@@ -224,7 +232,7 @@ Makefile.  It will also install the pod documentation under
 C<$INST_TOP\$VERSION\lib\pod> and HTML versions of the same under
 C<$INST_TOP\$VERSION\lib\pod\html>.  To use the Perl you just installed,
 you will need to add two components to your PATH environment variable,
-C<$INST_TOP\$VERSION\bin>, and C<$INST_TOP\$VERSION\bin\$ARCHNAME>.
+C<$INST_TOP\$VERSION\bin> and C<$INST_TOP\$VERSION\bin\$ARCHNAME>.
 For example:
 
     set PATH c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;%PATH%
@@ -301,24 +309,28 @@ runtime do any wildcard expansions of command-line arguments (so
 wildcards need not be quoted).  Also, the quoting behaviours of the
 shell and the C runtime are rudimentary at best (and may, if you are
 using a non-standard shell, be inconsistent).  The only (useful) quote
-character is the double quote (").  It can be used to protect spaces in
-arguments and other special characters.  The Windows NT documentation
-has almost no description of how the quoting rules are implemented, but
-here are some general observations based on experiments:  The C runtime
-breaks arguments at spaces and passes them to programs in argc/argv.
-Doublequotes can be used to prevent arguments with spaces in them from
-being split up.  You can put a double quote in an argument by escaping
-it with a backslash and enclosing the whole argument within double
-quotes.  The backslash and the pair of double quotes surrounding the
-argument will be stripped by the C runtime.
+character is the double quote (").  It can be used to protect spaces
+and other special characters in arguments.
+
+The Windows NT documentation has almost no description of how the
+quoting rules are implemented, but here are some general observations
+based on experiments: The C runtime breaks arguments at spaces and
+passes them to programs in argc/argv.  Double quotes can be used to
+prevent arguments with spaces in them from being split up.  You can
+put a double quote in an argument by escaping it with a backslash and
+enclosing the whole argument within double quotes.  The backslash and
+the pair of double quotes surrounding the argument will be stripped by
+the C runtime.
 
 The file redirection characters "<", ">", and "|" can be quoted by
 double quotes (although there are suggestions that this may not always
-be true).  Single quotes are not treated as quotes by the shell or the C
-runtime.  The caret "^" has also been observed to behave as a quoting
-character, but this appears to be a shell feature, and the caret is not
-stripped from the command line, so Perl still sees it (and the C runtime
-phase does not treat the caret as a quote character).
+be true).  Single quotes are not treated as quotes by the shell or
+the C runtime, they don't get stripped by the shell (just to make
+this type of quoting completely useless).  The caret "^" has also
+been observed to behave as a quoting character, but this appears
+to be a shell feature, and the caret is not stripped from the command
+line, so Perl still sees it (and the C runtime phase does not treat
+the caret as a quote character).
 
 Here are some examples of usage of the "cmd" shell:
 
@@ -386,12 +398,12 @@ be built, tested and installed with the standard mantra:
 
 where $MAKE is whatever 'make' program you have configured perl to
 use.  Use "perl -V:make" to find out what this is.  Some extensions
-may not provide a testsuite (so "$MAKE test" may not do anything, or
+may not provide a testsuite (so "$MAKE test" may not do anything or
 fail), but most serious ones do.
 
 It is important that you use a supported 'make' program, and
 ensure Config.pm knows about it.  If you don't have nmake, you can
-either get dmake from the location mentioned earlier, or get an
+either get dmake from the location mentioned earlier or get an
 old version of nmake reportedly available from:
 
     ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
@@ -439,11 +451,11 @@ be a source of frustration if you use such a perl binary with an
 alternate shell that *does* expand wildcards.
 
 Instead, the following solution works rather well. The nice things
-about it: 1) you can start using it right away 2) it is more powerful,
-because it will do the right thing with a pattern like */*/*.c
-3) you can decide whether you do/don't want to use it 4) you can
-extend the method to add any customizations (or even entirely
-different kinds of wildcard expansion).
+about it are 1) you can start using it right away; 2) it is more 
+powerful, because it will do the right thing with a pattern like
+*/*/*.c; 3) you can decide whether you do/don't want to use it; and
+4) you can extend the method to add any customizations (or even 
+entirely different kinds of wildcard expansion).
 
        C:\> copy con c:\perl\lib\Wild.pm
        # Wild.pm - emulate shell @ARGV expansion on shells that don't
@@ -485,7 +497,7 @@ from CPAN.  You may find that many of these extensions are meant to
 be used under the Activeware port of Perl, which used to be the only
 native port for the Win32 platform.  Since the Activeware port does not
 have adequate support for Perl's extension building tools, these
-extensions typically do not support those tools either, and therefore
+extensions typically do not support those tools either and, therefore,
 cannot be built using the generic steps shown in the previous section.
 
 To ensure smooth transitioning of existing code that uses the
@@ -541,7 +553,7 @@ If you use the 4DOS/NT or similar command shell, note that
 refer to all the command line arguments, so you may need to make
 sure that construct works in batch files.  As of this writing,
 4DOS/NT users will need a "ParameterChar = *" statement in their
-4NT.INI file, or will need to execute "setdos /p*" in the 4DOS/NT
+4NT.INI file or will need to execute "setdos /p*" in the 4DOS/NT
 startup file to enable this to work.
 
 =item 3
@@ -591,11 +603,25 @@ find a mailer on your system).
 
 =head1 BUGS AND CAVEATS
 
+Norton AntiVirus interferes with the build process, particularly if 
+set to "AutoProtect, All Files, when Opened". Unlike large applications 
+the perl build process opens and modifies a lot of files. Having the  
+the AntiVirus scan each and every one slows build the process significantly.
+Worse, with PERLIO=stdio the build process fails with peculiar messages
+as the virus checker interacts badly with miniperl.exe writing configure 
+files (it seems to either catch file part written and treat it as suspicious,
+or virus checker may have it "locked" in a way which inhibits miniperl
+updating it). The build does complete with 
+   
+   set PERLIO=perlio
+
+but that may be just luck. Other AntiVirus software may have similar issues.
+
 Some of the built-in functions do not act exactly as documented in
 L<perlfunc>, and a few are not implemented at all.  To avoid
 surprises, particularly if you have had prior exposure to Perl
 in other operating environments or if you intend to write code
-that will be portable to other environments, see L<perlport>
+that will be portable to other environments.  See L<perlport>
 for a reasonably definitive list of these differences.
 
 Not all extensions available from CPAN may build or work properly
@@ -624,7 +650,7 @@ by C<perl -V>.
 
 =item Gurusamy Sarathy E<lt>gsar@activestate.comE<gt>
 
-=item Nick Ing-Simmons E<lt>nick@ni-s.u-net.comE<gt>
+=item Nick Ing-Simmons E<lt>nick@ing-simmons.netE<gt>
 
 =back
 
@@ -651,6 +677,6 @@ Support for fork() emulation was added in 5.6 (ActiveState Tool Corp).
 
 Win9x support was added in 5.6 (Benjamin Stuhl).
 
-Last updated: 22 March 2000
+Last updated: 22 November 2000
 
 =cut