This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make the warning about preferring HP's ar more visible.
[perl5.git] / README.win32
index 2420e64..5499d3a 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
@@ -745,10 +724,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 +733,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