NAME
ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker
SYNOPSIS
use ExtUtils::MM_Win32; # Done internally by ExtUtils::MakeMaker if needed
DESCRIPTION
See ExtUtils::MM_Unix for a documentation of the methods provided there. This package overrides the implementation of these methods, not the semantics.
Overridden methods
- dlsyms
- replace_manpage_separator
Changes the path separator with .
- maybe_command
Since Windows has nothing as simple as an executable bit, we check the file extension.
The PATHEXT env variable will be used to get a list of extensions that might indicate a command, otherwise .com, .exe, .bat and .cmd will be used by default.
- find_tests
The Win9x shell does not expand globs and I'll play it safe and assume other Windows variants don't either.
So we do it for them.
- init_DIRFILESEP
Using \ for Windows.
- init_others
Override some of the Unix specific commands with portable ExtUtils::Command ones.
Also provide defaults for LD and AR in case the %Config values aren't set.
LDLOADLIBS's default is changed to $Config{libs}.
Adjustments are made for Borland's quirks needing -L to come first.
- init_platform (o)
Add MM_Win32_VERSION.
- platform_constants (o)
- special_targets (o)
Add .USESHELL target for dmake.
- static_lib (o)
Changes how to run the linker.
The rest is duplicate code from MM_Unix. Should move the linker code to its own method.
- dynamic_lib (o)
Complicated stuff for Win32 that I don't understand. :(
- clean
Clean out some extra dll.{base,exp} files which might be generated by gcc. Otherwise, take out all *.pdb files.
- init_linker
- perl_script
Checks for the perl program under several common perl extensions.
- xs_o (o)
This target is stubbed out. Not sure why.
- pasthru (o)
All we send is -nologo to nmake to prevent it from printing its damned banner.
- oneliner (o)
These are based on what command.com does on Win98. They may be wrong for other Windows shells, I don't know.
- max_exec_len
nmake 1.50 limits command length to 2048 characters.
- os_flavor
Windows is Win32.