(Slightly) better comments for Policy_sh.SH from Andy.
[p5sagit/p5-mst-13.2.git] / README.win32
index b9f6b15..dfd6eb0 100644 (file)
@@ -9,12 +9,12 @@ perlwin32 - Perl under Win32
 =head1 SYNOPSIS
 
 These are instructions for building Perl under Windows NT (versions
-3.51 or 4.0).  Currently, this port is reported to build
-under Windows95 using the 4DOS shell--the default shell that infests
-Windows95 will not work (see below).  Note this caveat is only about
-B<building> perl.  Once built, you should be able to B<use> it on
-either Win32 platform (modulo the problems arising from the inferior
-command shell).
+3.51 or 4.0).  Currently, this port is reported to build under
+Windows95 using the 4DOS shell--the default shell that infests
+Windows95 may not work fully (but see below).  Note that this caveat
+is only about B<building> perl.  Once built, you should be able to
+B<use> it on either Win32 platform (modulo the problems arising from
+the inferior command shell).
 
 =head1 DESCRIPTION
 
@@ -32,7 +32,7 @@ particular, you can safely ignore any information that talks about
 "Configure".
 
 You may also want to look at two other options for building
-a perl that will work on Windows NT:  the README.cygwin32 and
+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
@@ -67,13 +67,16 @@ See L<Usage Hints> below for general hints about this.
 Use the default "cmd" shell that comes with NT.  Some versions of the
 popular 4DOS/NT shell have incompatibilities that may cause you trouble.
 If the build fails under that shell, try building again with the cmd
-shell.  The Makefile also has known incompatibilites with the "command.com"
-shell that comes with Windows95, so building under Windows95 should
-be considered "unsupported".  However, there have been reports of successful
-build attempts using 4DOS/NT version 6.01 under Windows95, using dmake, but
-your mileage may vary.
+shell.  The nmake Makefile also has known incompatibilites with the
+"command.com" shell that comes with Windows95.
 
-The surest way to build it is on WindowsNT, using the cmd shell.
+However, there have been reports of successful build attempts using
+4DOS/NT version 6.01 under Windows95, using dmake, but your mileage
+may vary.  There is also some basic support for building using dmake
+under command.com.  Nevertheless, if building under command.com
+doesn't work, try 4DOS/NT.
+
+The surest way to build it is on Windows NT, using the cmd shell.
 
 Make sure the path to the build directory does not contain spaces.  The
 build usually works in this circumstance, but some tests will fail.
@@ -87,14 +90,14 @@ work for MakeMaker builds.)
 
 A port of dmake for win32 platforms is available from:
 
-    http://www-personal.umich.edu/~gsar/dmake-4.1-win32.zip
+    ftp://ftp.linux.activestate.com/pub/staff/gsar/dmake-4.1-win32.zip
 
 Fetch and install dmake somewhere on your path (follow the instructions
 in the README.NOW file).
 
 =item Microsoft Visual C++
 
-The NMAKE that comes with Visual C++ will suffice for building.
+The nmake that comes with Visual C++ will suffice for building.
 You will need to run the VCVARS32.BAT file usually found somewhere
 like C:\MSDEV4.2\BIN.  This will set your build environment.
 
@@ -107,7 +110,7 @@ make for building extensions using MakeMaker.
 
 =item Mingw32 with EGCS or GCC
 
-ECGS-1.0.2 binaries can be downloaded from:
+ECGS binaries can be downloaded from:
 
     ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/
 
@@ -136,7 +139,7 @@ You also need dmake.  See L</"Borland C++"> above on how to get it.
 
 Make sure you are in the "win32" subdirectory under the perl toplevel.
 This directory contains a "Makefile" that will work with
-versions of NMAKE that come with Visual C++, and a dmake "makefile.mk"
+versions of nmake that come with Visual C++, and a dmake "makefile.mk"
 that will work for all supported compilers.  The defaults in the dmake
 makefile are setup to build using the Borland compiler.
 
@@ -151,7 +154,12 @@ a perl interpreter that supports the Perl Object abstraction (courtesy
 ActiveState Tool Corp.)  PERL_OBJECT uses C++, and the binaries are
 therefore incompatible with the regular C build.  However, the
 PERL_OBJECT build does provide something called the C-API, for linking
-it with extensions that won't compile under PERL_OBJECT.  PERL_OBJECT
+it with extensions that won't compile under PERL_OBJECT. Using the C_API
+is typically requested through:
+
+    perl Makefile.PL CAPI=TRUE
+
+PERL_OBJECT requires VC++ 5.0 (Service Pack 3 recommended) or later. It
 is not yet supported under GCC or EGCS.  WARNING:  Binaries built with
 PERL_OBJECT enabled are B<not> compatible with binaries built without.
 Perl installs PERL_OBJECT binaries under a distinct architecture name,
@@ -187,10 +195,7 @@ Perl will also build without des_fcrypt(), but the crypt() builtin will
 fail at run time.
 
 You will also have to make sure CCHOME points to wherever you installed
-your compiler.  Make sure this path has no spaces in it.  If you
-insist on spaces in your path names, there is no telling what else
-will fail, but you can try putting the path in double quotes.  Some
-parts of perl try to accomodate that, but not all pieces do.
+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
@@ -204,7 +209,7 @@ instructions carefully.
 Type "dmake" (or "nmake" if you are using that make).
 
 This should build everything.  Specifically, it will create perl.exe,
-perl.dll (or perlcore.dll), and perlglob.exe at the perl toplevel, and
+perl.dll (or perl56.dll), and perlglob.exe at the perl toplevel, and
 various other extension dll's under the lib\auto directory.  If the build
 fails for any reason, make sure you have done the previous steps correctly.
 
@@ -238,6 +243,9 @@ If some tests do fail, it may be because you are using a different command
 shell than the native "cmd.exe", or because you are building from a path
 that contains spaces.  So don't do that.
 
+If you are running the tests from a emacs shell window, you may see
+failures in op/stat.t.  Run "dmake test-notty" in that case.
+
 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
@@ -261,7 +269,7 @@ you will need to add two components to your PATH environment variable,
 C<$INST_TOP\$VERSION\bin>, and C<$INST_TOP\$VERSION\bin\$ARCHNAME>.
 For example:
 
-    set PATH c:\perl\5.005\bin;c:\perl\5.005\bin\MSWin32-x6;%PATH%
+    set PATH c:\perl\5.005\bin;c:\perl\5.005\bin\MSWin32-x86;%PATH%
 
 
 =head2 Usage Hints
@@ -692,8 +700,9 @@ C<kill()> is implemented, but doesn't have the semantics of
 C<raise()>, i.e. it doesn't send a signal to the identified process
 like it does on Unix platforms.  Instead it immediately calls
 C<TerminateProcess(process,signal)>.  Thus the signal argument is
-used to set the exit-status of the terminated process.  This behavior
-may change in future.
+used to set the exit-status of the terminated process.  In particular,
+C<kill(0,$pid)> will kill the process identified by C<$pid> (unlike
+on Unix).  This behavior may change in future.
 
 =item *
 
@@ -745,7 +754,9 @@ Borland support was added in 5.004_01 (Gurusamy Sarathy).
 
 GCC/mingw32 support was added in 5.005 (Nick Ing-Simmons).
 
-Last updated: 29 November 1998
+Support for PERL_OBJECT was added in 5.005 (ActiveState Tool Corp).
+
+Last updated: 18 January 1999
 
 =cut