This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Implement IV/UV/NV/long double pack/unpack with
[perl5.git] / README.win32
index 7d5ebd0..9d27b39 100644 (file)
@@ -51,9 +51,9 @@ not to work.)
 This port currently supports MakeMaker (the set of modules that
 is used to build extensions to perl).  Therefore, you should be
 able to build and install most extensions found in the CPAN sites.
-See L<Usage Hints> below for general hints about this.
+See L<Usage Hints for Perl on Win32> below for general hints about this.
 
-=head2 Setting Up
+=head2 Setting Up Perl on Win32
 
 =over 4
 
@@ -71,7 +71,7 @@ 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 the original dmake sources obtained from
-http://www.wticorp.com/dmake/.  As of version 4.1PL1, the original
+http://www.wticorp.com/.  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.)
 
@@ -79,14 +79,14 @@ 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 have C files named with a mixed
+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 when dmake will be invoked
+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 have a lot of such files, resulting in
-multiple recompiling everytime dmake is invoked. To avoid this, you
-may use the script "sncfnmcs.pl" after successful build.  It is
-available in the win32 subdirectory.
+For example, Tk distribution has a lot of such files, resulting in
+needless recompiles every time dmake is invoked.  To avoid this, you
+may use the script "sync_ext.pl" after a successful build.  It is
+available in the win32 subdirectory of the Perl source distribution.
 
 =item Command Shell
 
@@ -131,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
 
@@ -176,7 +200,7 @@ 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, 
-"ftp://fractal.mta.ca/pub/crypto/SSLeay/DES/").  Set CRYPT_SRC to the
+"ftp://ftp.funet.fi/pub/crypt/mirrors/dsi/libdes/").  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
 CRYPT_LIB to point to the library name.  The location above contains
@@ -186,6 +210,12 @@ self-contained file (fcrypt.c) that implements crypt(), so they may be
 easier to use.  A patch against the fcrypt.c found in libdes-3.06 is
 in des_fcrypt.patch.
 
+An easier alternative may be to get the pre-patched and ready-to-use
+fcrypt.c that can be found here:
+
+    http://downloads.ActiveState.com/pub/staff/gsar/fcrypt.c
+    ftp://ftp.ActiveState.com/pub/staff/gsar/fcrypt.c
+
 Perl will also build without des_fcrypt(), but the crypt() builtin will
 fail at run time.
 
@@ -202,7 +232,7 @@ sure you have done the previous steps correctly.
 
 =back
 
-=head2 Testing
+=head2 Testing Perl on Win32
 
 Type "dmake test" (or "nmake test").  This will run most of the tests from
 the testsuite (many tests will be skipped).
@@ -224,17 +254,17 @@ 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>.
 
-=head2 Installation
+=head2 Installation of Perl on Win32
 
 Type "dmake install" (or "nmake install").  This will put the newly
 built perl and the libraries under whatever C<INST_TOP> points to in the
@@ -253,7 +283,7 @@ sufficient to add a single entry to the path, for instance:
 
     set PATH c:\perl\bin;%PATH%
 
-=head2 Usage Hints
+=head2 Usage Hints for Perl on Win32
 
 =over 4
 
@@ -419,9 +449,9 @@ old version of nmake reportedly available from:
     ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
 
 Another option is to use the make written in Perl, available from
-CPAN:
+CPAN.
 
-    http://www.cpan.org/authors/id/NI-S/Make-0.03.tar.gz
+    http://www.cpan.org/modules/by-module/Make/
 
 You may also use dmake.  See L</"Make"> above on how to get it.
 
@@ -622,7 +652,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.
@@ -687,6 +717,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