shell. The Makefile also has known incompatibilites with the "command.com"
shell that comes with Windows95, so building under Windows95 should
be considered "unsupported". However, there have been reports of successful
-build attempts using 4DOS/NT version 3.00 under Windows95, using dmake, but
+build attempts using 4DOS/NT version 6.01 under Windows95, using dmake, but
your mileage may vary.
The surest way to build it is on WindowsNT, using the cmd shell.
therefore incompatible with the regular C build. However, the
PERL_OBJECT build does provide something called the C-API, for linking
it with extensions that won't compile under PERL_OBJECT. PERL_OBJECT
-cannot be enabled when using GCC or EGCS, yet.
+is not yet supported under GCC or EGCS. 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.
Beginning with version 5.005, there is experimental support for building
a perl interpreter that is capable of native threading. Binaries built
with thread support enabled are also incompatible with the vanilla C
-build.
+build. WARNING: Binaries built with threads enabled are B<not> compatible
+with binaries built without. Perl installs threads enabled binaries under
+a distinct architecture name, so they B<can> coexist, though.
At the present time, you cannot enable both threading and PERL_OBJECT.
You can get only one of them in a Perl interpreter.
"ftp://fractal.mta.ca/pub/crypto/SSLeay/DES/"). 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.
+CRYPT_LIB to point to the library name. The location above contains
+many versions of the "libdes" library, all with slightly different
+implementations of des_fcrypt(). Older versions have a single,
+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.
Perl will also build without des_fcrypt(), but the crypt() builtin will
fail at run time.
that with full details of how the build failed using the perlbug
utility.
+=item Command-line Wildcard Expansion
+
+The default command shells on DOS descendant operating systems (such
+as they are) usually do not expand wildcard arguments supplied to
+programs. They consider it the application's job to handle that.
+This is commonly achieved by linking the application (in our case,
+perl) with startup code that the C runtime libraries usually provide.
+However, doing that results in incompatible perl versions (since the
+behavior of the argv expansion code differs depending on the
+compiler, and it is even buggy on some compilers). Besides, it may
+be a source of frustration if you use such a perl binary with an
+alternate shell that *does* expand wildcards.
+
+Instead, the following solution works rather well. The nice things
+about it: 1) you can start using it right away 2) it is more powerful,
+because it will do the right thing with a pattern like */*/*.c
+3) you can decide whether you do/don't want to use it 4) you can
+extend the method to add any customizations (or even entirely
+different kinds of wildcard expansion).
+
+ C:\> copy con c:\perl\lib\Wild.pm
+ # Wild.pm - emulate shell @ARGV expansion on shells that don't
+ use File::DosGlob;
+ @ARGV = map {
+ my @g = File::DosGlob::glob($_) if /[*?]/;
+ @g ? @g : $_;
+ } @ARGV;
+ 1;
+ ^Z
+ C:\> set PERL5OPT=-MWild
+ C:\> perl -le "for (@ARGV) { print }" */*/perl*.c
+ p4view/perl/perl.c
+ p4view/perl/perlio.c
+ p4view/perl/perly.c
+ perl5.005/win32/perlglob.c
+ perl5.005/win32/perllib.c
+ perl5.005/win32/perlglob.c
+ perl5.005/win32/perllib.c
+ perl5.005/win32/perlglob.c
+ perl5.005/win32/perllib.c
+
+Note there are two distinct steps there: 1) You'll have to create
+Wild.pm and put it in your perl lib directory. 2) You'll need to
+set the PERL5OPT environment variable. If you want argv expansion
+to be the default, just set PERL5OPT in your default startup
+environment.
+
+If you are using the Visual C compiler, you can get the C runtime's
+command line wildcard expansion built into perl binary. The resulting
+binary will always expand unquoted command lines, which may not be
+what you want if you use a shell that does that for you. The expansion
+done is also somewhat less powerful than the approach suggested above.
+
=item Win32 Specific Extensions
A number of extensions specific to the Win32 platform are available