This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate mainline.
[perl5.git] / README.win32
index 113c0f5..49d2d62 100644 (file)
@@ -78,6 +78,16 @@ 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).
 
+There exists a minor coexistence problem with dmake and Borland C++
+compilers.  Namely, if a distribution has C files named with mixed
+case letters, they will be compiled into appropriate .obj-files named
+with all lowercase letters, and every time dmake is invoked
+to bring files up to date, it will try to recompile such files again.
+For example, Tk distribution has a lot of such files, resulting in
+needless recompiles everytime dmake is invoked.  To avoid this, you
+may use the script "sncfnmcs.pl" after a successful build.  It is
+available in the win32 subdirectory of the Perl source distribution.
+
 =item Command Shell
 
 Use the default "cmd" shell that comes with NT.  Some versions of the
@@ -121,17 +131,41 @@ GCC-2.95.2 binaries can be downloaded from:
 
     ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/
 
+You also need dmake.  See L</"Make"> above on how to get it.
+
 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 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
-fixes/quote-fix-msvcrt.exe too.
+There are a couple of problems with the version of gcc-2.95.2-msvcrt.exe
+released 7 November 1999:
 
-You also need dmake.  See L</"Make"> above on how to get it.
+=over
+
+=item *
+
+It left out a fix for certain command line quotes.  To fix this, be sure
+to download and install the file fixes/quote-fix-msvcrt.exe from the above
+ftp location.
+
+=item *
+
+The definition of the fpos_t type in stdio.h may be wrong.  If your
+stdio.h has this problem, you will see an exception when running the
+test t/lib/io_xs.t.  To fix this, change the typedef for fpos_t from
+"long" to "long long" in the file i386-mingw32msvc/include/stdio.h,
+and rebuild.
+
+=back
+
+A potentially simpler to install (but probably soon-to-be-outdated) bundle
+of the above package with the mentioned fixes already applied is available
+here:
+
+    http://downloads.ActiveState.com/pub/staff/gsar/gcc-2.95.2-msvcrt.zip
+    ftp://ftp.ActiveState.com/pub/staff/gsar/gcc-2.95.2-msvcrt.zip
 
 =back
 
@@ -214,13 +248,13 @@ 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.
 
-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".
+If you're using Borland compiler versions 5.2 and below, you may run into
+problems finding the correct header files when building extensions.  For
+example, building the "Tk" extension may fail because both perl and Tk
+contain a header file called "patchlevel.h".  The latest Borland compiler
+(v5.5) is free of this misbehaviour, and it even supports an
+option -VI- for backward (bugward) compatibility for using the old Borland
+search algorithm  to locate header files.
 
 Please report any other failures as described under L<BUGS AND CAVEATS>.
 
@@ -612,7 +646,7 @@ 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.
@@ -677,6 +711,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 November 2000
+Last updated: 1 April 2001
 
 =cut