vendorlib support for Windows; regen win32/config*
[p5sagit/p5-mst-13.2.git] / README.win32
index 2420e64..b39961b 100644 (file)
@@ -47,11 +47,11 @@ following compilers:
 
       Borland C++              version 5.02 or later
       Microsoft Visual C++     version 4.2 or later
-      Mingw32 with EGCS                versions 1.0.2, 1.1
-      Mingw32 with GCC         version 2.8.1
+      Mingw32 with GCC         version 2.95.2 or better
 
-The last two of these are high quality freeware compilers.  Support
-for them is still experimental.
+The last of these is a high quality freeware compiler.  Support
+for it is still experimental.  (Older versions of GCC are known
+not to work.)
 
 This port currently supports MakeMaker (the set of modules that
 is used to build extensions to perl).  Therefore, you should be
@@ -90,7 +90,12 @@ work for MakeMaker builds.)
 
 A port of dmake for win32 platforms is available from:
 
-    ftp://ftp.linux.activestate.com/pub/staff/gsar/dmake-4.1-win32.zip
+    http://cpan.perl.org/authors/id/GSAR/dmake-4.1pl1-win32.zip
+
+(This is a fixed version of 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.
+A patch is included in the above fixed version.)
 
 Fetch and install dmake somewhere on your path (follow the instructions
 in the README.NOW file).
@@ -108,24 +113,17 @@ 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.
 
-=item Mingw32 with EGCS or GCC
+=item Mingw32 with GCC
 
-ECGS binaries can be downloaded from:
+GCC-2.95.2 binaries can be downloaded from:
 
     ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/
 
-GCC-2.8.1 binaries are available from:
-
-    http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/
-
-You only need either one of those, not both.  Both bundles come with
-Mingw32 libraries and headers.  While both of them work to build perl,
-the EGCS binaries are currently favored by the maintainers, since they
-come with more up-to-date Mingw32 libraries.
+The GCC-2.95.2 bundle comes with Mingw32 libraries and headers.
 
-Make sure you install the binaries as indicated in the web sites
-above.  You will need to set up a few environment variables (usually
-run from a batch file).
+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).
 
 You also need dmake.  See L</"Borland C++"> above on how to get it.
 
@@ -160,7 +158,7 @@ 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
+is not yet supported under GCC.  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,
 so they B<can> coexist, though.
@@ -179,7 +177,7 @@ If you have either the source or a library that contains des_fcrypt(),
 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 Ed Young) which is widely
+is part of the "libdes" library (written by Eric Young) which is widely
 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
@@ -217,21 +215,6 @@ The build process may produce "harmless" compiler warnings (more or
 less copiously, depending on how picky your compiler gets).  The
 maintainers are aware of these warnings, thankyouverymuch. :)
 
-When building using Visual C++, a perl95.exe will also get built.  This
-executable is only needed on Windows95, and should be used instead of
-perl.exe, and then only if you want sockets to work properly on Windows95.
-This is necessitated by a bug in the Microsoft C Runtime that cannot be
-worked around in the "normal" perl.exe.  perl95.exe gets built with its
-own private copy of the C Runtime that is not accessible to extensions
-(which see the DLL version of the CRT).  Be aware, therefore, that this
-perl95.exe will have esoteric problems with extensions like perl/Tk that
-themselves use the C Runtime heavily, or want to free() pointers
-malloc()-ed by perl.
-
-You can avoid the perl95.exe problems completely if you either enable
-USE_PERLCRT with Visual C++, or use Borland C++ for building perl.  In
-those cases, perl95.exe is not needed and will not be built.
-
 =back
 
 =head2 Testing
@@ -252,10 +235,6 @@ 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.
 
-The Visual C runtime apparently has a bug that causes posix.t to fail
-test#2.  This usually happens only if you extracted the files in text
-mode.  Enable the USE_PERLCRT option in the Makefile to fix this bug.
-
 Please report any other failures as described under L<BUGS AND CAVEATS>.
 
 =head2 Installation
@@ -296,14 +275,16 @@ C<HKEY_CURRENT_USER\Software\Perl> and C<HKEY_LOCAL_MACHINE\Software\Perl>.
 Entries in the former override entries in the latter.  One or more of the
 following entries (of type REG_SZ or REG_EXPAND_SZ) may be set:
 
-    lib-$]             version-specific path to add to @INC
-    lib                        path to add to @INC
-    sitelib-$]         version-specific path to add to @INC
-    sitelib            path to add to @INC
+    lib-$]             version-specific standard library path to add to @INC
+    lib                        standard library path to add to @INC
+    sitelib-$]         version-specific site library path to add to @INC
+    sitelib            site library path to add to @INC
+    vendorlib-$]       version-specific vendor library path to add to @INC
+    vendorlib          vendor library path to add to @INC
     PERL*              fallback for all %ENV lookups that begin with "PERL"
 
 Note the C<$]> in the above is not literal.  Substitute whatever version
-of perl you want to honor that entry, e.g. C<5.00502>.  Paths must be
+of perl you want to honor that entry, e.g. C<5.6.0>.  Paths must be
 separated with semicolons, as usual on win32.
 
 =item File Globbing
@@ -428,6 +409,8 @@ CPAN:
 
     http://www.perl.com/CPAN/authors/id/NI-S/Make-0.03.tar.gz
 
+You may also use dmake.  See L</"Borland C++"> above on how to get it.
+
 Note that MakeMaker actually emits makefiles with different syntax
 depending on what 'make' it thinks you are using.  Therefore, it is
 important that one of the following values appears in Config.pm:
@@ -700,9 +683,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.  In particular,
-C<kill(0,$pid)> will kill the process identified by C<$pid> (unlike
-on Unix).  This behavior may change in future.
+used to set the exit-status of the terminated process.  However,
+a signal of 0 can be used to safely check if the specified process
+exists, as on Unix.
 
 =item *
 
@@ -745,10 +728,8 @@ L<perl>
 
 This port was originally contributed by Gary Ng around 5.003_24,
 and borrowed from the Hip Communications port that was available
-at the time.
-
-Nick Ing-Simmons and Gurusamy Sarathy have made numerous and
-sundry hacks since then.
+at the time.  Various people have made numerous and sundry hacks
+since then.
 
 Borland support was added in 5.004_01 (Gurusamy Sarathy).
 
@@ -756,7 +737,10 @@ GCC/mingw32 support was added in 5.005 (Nick Ing-Simmons).
 
 Support for PERL_OBJECT was added in 5.005 (ActiveState Tool Corp).
 
-Last updated: 18 January 1999
+Support for fork() emulation was added in 5.6 (ActiveState Tool Corp).
 
-=cut
+Win9x support was added in 5.6 (Benjamin Stuhl).
 
+Last updated: 28 December 1999
+
+=cut