EXTUTILS::MM_WIN32(3pm)
π ExtUtils::MM_Win32(3pm) π
okay bestie, we're in the Perl Programmers Reference Guide and this is the ExtUtils::MM_Win32(3pm) page β the Windows-flavored override situation for ExtUtils::MakeMaker. πͺβ¨ It's giving "same methods, but make it Win32," and we're keeping every single deet. π
πΈ NAME πΈ
ExtUtils::MM_Win32 β methods to override UN*X behaviour in ExtUtils::MakeMaker. periodt. π
β¨ SYNOPSIS β¨
bestie, the usage is literally this, no cap:
use ExtUtils::MM_Win32; # Done internally by ExtUtils::MakeMaker if needed
πΈ DESCRIPTION πΈ
okay so for actual docs on all the methods, go see ExtUtils::MM_Unix for a documentation of the methods provided there. This package overrides the implementation of these methods, not the semantics. Same semantics, different implementation, that's the whole vibe. π¦
π Overridden methods π
dlsymsβ overridden; the page doesn't add extra deets for this one. π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. ThePATHEXTenv variable will be used to get a list of extensions that might indicate a command, otherwise.com,.exe,.batand.cmdwill 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-Lto come first. πinit_platformβ addMM_Win32_VERSION. β¨platform_constantsβ overridden; no extra deets here. πspecify_shellβ setSHELLto$ENV{COMSPEC}only if make is type'gmake'. πconstantsβ addMAXLINELENGTHfor dmake before all the constants are output. π’dep_constantsβ makes dependencies that work for nmake. π οΈspecial_targetsβ add.USESHELLtarget for dmake. π―static_lib_pure_cmdβ defines how to run the archive utility. π¦dynamic_libβ methods are overridden here: notdynamic_libitself, but the utility ones that do the OS-specific work. π§°extra_clean_filesβ clean out some extradll.{base,exp}files which might be generated by gcc. Otherwise, take out all*.pdbfiles. π§Ήinit_linkerβ overridden; no extra deets here. πperl_scriptβ checks for the perl program under several common perl extensions. πͺquote_depβ overridden; no extra deets here. πxs_obj_optβ override to fixup-oflags for MSVC. π οΈpasthruβ all we send is-nologoto nmake to prevent it from printing its damned banner. π€arch_check(override) β normalize all arguments for consistency of comparison. βοΈonelinerβ these are based on whatcommand.comdoes 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 aCCflag that tells theCCto emit a separate debugging symbol file when compiling an object file. πcflagsβ defines thePERLDLLsymbol if we are configured for static building since all code destined for theperl5xx.dllmust be compiled with thePERLDLLsymbol defined. ποΈmake_typeβ returns a suitable string describing the type of makefile being written. π
π final sign-off, bestie: source/version is perl v5.42.3, date is 2026-11-03, and yes this is ExtUtils::MM_Win32(3pm) β slay. π
π¦ where this page comes from
- alpine 3.24: perl-doc 5.42.3-r0 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms