=item Mingw32 with EGCS or GCC
-ECGS-1.0.2 binaries can be downloaded from:
+ECGS binaries can be downloaded from:
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/
above. You will 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.
+
=back
=head2 Building
ActiveState Tool Corp.) PERL_OBJECT uses C++, and the binaries are
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
+it with extensions that won't compile under PERL_OBJECT. Using the C_API
+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
PERL_OBJECT enabled are B<not> compatible with binaries built without.
Perl installs PERL_OBJECT binaries under a distinct architecture name,
fail at run time.
You will also have to make sure CCHOME points to wherever you installed
-your compiler. Make sure this path has no spaces in it. If you
-insist on spaces in your path names, there is no telling what else
-will fail, but you can try putting the path in double quotes. Some
-parts of perl try to accomodate that, but not all pieces do.
+your compiler.
The default value for CCHOME in the makefiles for Visual C++
-may not be correct if you have a version later than 5.2. Make
-sure the default exists and is valid.
+may not be correct for some versions. Make sure the default exists
+and is valid.
Other options are explained in the makefiles. Be sure to read the
instructions carefully.
shell than the native "cmd.exe", or because you are building from a path
that contains spaces. So don't do that.
+If you are running the tests from a emacs shell window, you may see
+failures in op/stat.t. Run "dmake test-notty" in that case.
+
If you're using the Borland compiler, you may see a failure in op/taint.t
arising from the inability to find the Borland Runtime DLLs on the system
default path. You will need to copy the DLLs reported by the messages
C<$INST_TOP\$VERSION\bin>, and C<$INST_TOP\$VERSION\bin\$ARCHNAME>.
For example:
- set PATH c:\perl\5.005\bin;c:\perl\5.005\bin\MSWin32-x6;%PATH%
+ set PATH c:\perl\5.005\bin;c:\perl\5.005\bin\MSWin32-x86;%PATH%
=head2 Usage Hints
$MAKE test
$MAKE install
-where $MAKE stands for NMAKE or DMAKE. Some extensions may not
-provide a testsuite (so "$MAKE test" may not do anything, or fail),
-but most serious ones do.
+where $MAKE is whatever 'make' program you have configured perl to
+use. Use "perl -V:make" to find out what this is. Some extensions
+may not provide a testsuite (so "$MAKE test" may not do anything, or
+fail), but most serious ones do.
+
+It is important that you use a supported 'make' program, and
+ensure Config.pm knows about it. If you don't have nmake, you can
+either get dmake from the location mentioned earlier, or get an
+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:
+
+ http://www.perl.com/CPAN/authors/id/NI-S/Make-0.03.tar.gz
+
+Note that MakeMaker actually emits makefiles with different syntax
+depending on what 'make' it thinks you are using. Therefore, it is
+important that one of the following values appears in Config.pm:
+
+ make='nmake' # MakeMaker emits nmake syntax
+ make='dmake' # MakeMaker emits dmake syntax
+ any other value # MakeMaker emits generic make syntax
+ (e.g GNU make, or Perl make)
+
+If the value doesn't match the 'make' program you want to use,
+edit Config.pm to fix it.
If a module implements XSUBs, you will need one of the supported
C compilers. You must make sure you have set up the environment for
GCC/mingw32 support was added in 5.005 (Nick Ing-Simmons).
-Last updated: 29 November 1998
+Support for PERL_OBJECT was added in 5.005 (ActiveState Tool Corp).
+
+Last updated: 18 January 1999
=cut