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
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 "sync_ext.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
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
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
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.
=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).
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 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
set PATH c:\perl\bin;%PATH%
-=head2 Usage Hints
+=head2 Usage Hints for Perl on Win32
=over 4
=head1 BUGS AND CAVEATS
+Norton AntiVirus interferes with the build process, particularly if
+set to "AutoProtect, All Files, when Opened". Unlike large applications
+the perl build process opens and modifies a lot of files. Having the
+the AntiVirus scan each and every one slows build the process significantly.
+Worse, with PERLIO=stdio the build process fails with peculiar messages
+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.
+
Some of the built-in functions do not act exactly as documented in
L<perlfunc>, and a few are not implemented at all. To avoid
surprises, particularly if you have had prior exposure to Perl
=item Gurusamy Sarathy E<lt>gsar@activestate.comE<gt>
-=item Nick Ing-Simmons E<lt>nick@ni-s.u-net.comE<gt>
+=item Nick Ing-Simmons E<lt>nick@ing-simmons.netE<gt>
=back
Win9x support was added in 5.6 (Benjamin Stuhl).
-Last updated: 22 March 2000
+Last updated: 1 April 2001
=cut