ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker

- NAME
- SYNOPSIS
- DESCRIPTION
  - Overridden methods

# 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
xs_dlsyms_ext

  On Win32, is `.def`.

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.

init_DIRFILESEP

  Using \ for Windows, except for "gmake" where it is /.

init_tools

  Override some of the slower, portable commands with Windows specific ones.

init_others

  Override the default link and compile tools.

  LDLOADLIBS's default is changed to $Config{libs}.

  Adjustments are made for Borland's quirks needing -L to come first.

init_platform

  Add MM_Win32_VERSION.

platform_constants
specify_shell

  Set SHELL to $ENV{COMSPEC} only if make is type 'gmake'.

constants

  Add MAXLINELENGTH for dmake before all the constants are output.

special_targets

  Add .USESHELL target for dmake.

static_lib_pure_cmd

  Defines how to run the archive utility

dynamic_lib

  Methods are overridden here: not dynamic_lib itself, but the utility ones that do the OS-specific work.

extra_clean_files

  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.

quote_dep
xs_obj_opt

  Override to fixup -o flags for MSVC.

pasthru

  All we send is -nologo to nmake to prevent it from printing its damned banner.

arch_check (override)

  Normalize all arguments for consistency of comparison.

oneliner

  These are based on what command.com does on Win98. They may be wrong for other Windows shells, I don't know.

cd

  dmake can handle Unix style cd'ing but nmake (at least 1.5) cannot. It wants:

      cd dir1\dir2
      command
      another_command
      cd ..\..

max_exec_len

  nmake 1.50 limits command length to 2048 characters.

os_flavor

  Windows is Win32.

dbgoutflag

  Returns a CC flag that tells the CC to emit a separate debugging symbol file when compiling an object file.

cflags

  Defines the PERLDLL symbol if we are configured for static building since all code destined for the perl5xx.dll must be compiled with the PERLDLL symbol defined.

make_type

  Returns a suitable string describing the type of makefile being written.

ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker