# ExtUtils::MM_Win32 - phpMan

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

