2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml">
5 <title>ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker
</title>
6 <meta http-equiv=
"content-type" content=
"text/html; charset=utf-8" />
7 <link rev=
"made" href=
"mailto:" />
10 <body style=
"background-color: white">
11 <table border=
"0" width=
"100%" cellspacing=
"0" cellpadding=
"3">
12 <tr><td class=
"block" style=
"background-color: #cccccc" valign=
"middle">
13 <big><strong><span class=
"block"> ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker
</span></strong></big>
17 <p><a name=
"__index__"></a></p>
22 <li><a href=
"#name">NAME
</a></li>
23 <li><a href=
"#synopsis">SYNOPSIS
</a></li>
24 <li><a href=
"#description">DESCRIPTION
</a></li>
27 <li><a href=
"#overridden_methods">Overridden methods
</a></li>
36 <h1><a name=
"name">NAME
</a></h1>
37 <p>ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker
</p>
41 <h1><a name=
"synopsis">SYNOPSIS
</a></h1>
43 use ExtUtils::MM_Win32; # Done internally by ExtUtils::MakeMaker if needed
</pre>
47 <h1><a name=
"description">DESCRIPTION
</a></h1>
48 <p>See ExtUtils::MM_Unix for a documentation of the methods provided
49 there. This package overrides the implementation of these methods, not
53 <h2><a name=
"overridden_methods">Overridden methods
</a></h2>
55 <dt><strong><a name=
"item_dlsyms"><strong>dlsyms
</strong></a></strong>
57 <dt><strong><a name=
"item_replace_manpage_separator">replace_manpage_separator
</a></strong>
60 <p>Changes the path separator with .
</p>
63 <dt><strong><a name=
"item_maybe_command"><strong>maybe_command
</strong></a></strong>
66 <p>Since Windows has nothing as simple as an executable bit, we check the
70 <p>The PATHEXT env variable will be used to get a list of extensions that
71 might indicate a command, otherwise .com, .exe, .bat and .cmd will be
75 <dt><strong><a name=
"item_init_dirfilesep"><strong>init_DIRFILESEP
</strong></a></strong>
78 <p>Using \ for Windows.
</p>
81 <dt><strong><a name=
"item_init_others"><strong>init_others
</strong></a></strong>
84 <p>Override some of the Unix specific commands with portable
85 ExtUtils::Command ones.
</p>
88 <p>Also provide defaults for LD and AR in case the %Config values aren't
92 <p>LDLOADLIBS's default is changed to $Config{libs}.
</p>
95 <p>Adjustments are made for Borland's quirks needing -L to come first.
</p>
98 <dt><strong><a name=
"item_init_platform">init_platform
</a></strong>
101 <p>Add MM_Win32_VERSION.
</p>
104 <dt><strong><a name=
"item_platform_constants">platform_constants
</a></strong>
106 <dt><strong><a name=
"item_special_targets">special_targets
</a></strong>
109 <p>Add .USESHELL target for dmake.
</p>
112 <dt><strong><a name=
"item_static_lib">static_lib
</a></strong>
115 <p>Changes how to run the linker.
</p>
118 <p>The rest is duplicate code from MM_Unix. Should move the linker code
119 to its own method.
</p>
122 <dt><strong><a name=
"item_dynamic_lib">dynamic_lib
</a></strong>
125 <p>Complicated stuff for Win32 that I don't understand. :(
</p>
128 <dt><strong><a name=
"item_extra_clean_files">extra_clean_files
</a></strong>
131 <p>Clean out some extra dll.{base,exp} files which might be generated by
132 gcc. Otherwise, take out all *.pdb files.
</p>
135 <dt><strong><a name=
"item_init_linker">init_linker
</a></strong>
137 <dt><strong><a name=
"item_perl_script">perl_script
</a></strong>
140 <p>Checks for the perl program under several common perl extensions.
</p>
143 <dt><strong><a name=
"item_xs_o">xs_o
</a></strong>
146 <p>This target is stubbed out. Not sure why.
</p>
149 <dt><strong><a name=
"item_pasthru">pasthru
</a></strong>
152 <p>All we send is -nologo to nmake to prevent it from printing its damned
156 <dt><strong><a name=
"item_oneliner">oneliner
</a></strong>
159 <p>These are based on what command.com does on Win98. They may be wrong
160 for other Windows shells, I don't know.
</p>
163 <dt><strong><a name=
"item_cd">cd
</a></strong>
166 <p>dmake can handle Unix style cd'ing but nmake (at least
1.5) cannot. It
177 <p><strong>NOTE
</strong> This cd can only go one level down. So far this sufficient for
178 what MakeMaker needs.
</p>
181 <dt><strong><a name=
"item_max_exec_len">max_exec_len
</a></strong>
184 <p>nmake
1.50 limits command length to
2048 characters.
</p>
187 <dt><strong><a name=
"item_os_flavor">os_flavor
</a></strong>
190 <p>Windows is Win32.
</p>
194 <table border=
"0" width=
"100%" cellspacing=
"0" cellpadding=
"3">
195 <tr><td class=
"block" style=
"background-color: #cccccc" valign=
"middle">
196 <big><strong><span class=
"block"> ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker
</span></strong></big>