Perl 5 version 32.0 documentation



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


  1. use ExtUtils::MM_Win32; # Done internally by ExtUtils::MakeMaker if needed


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.


    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 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:

    1. cd dir1\dir2
    2. command
    3. another_command
    4. 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.