mm_win32.html

来自「perl教程」· HTML 代码 · 共 203 行

HTML
203
字号
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>

<body>

<script>writelinks('__top__',2);</script>
<h1><a>ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker</a></h1>
<p><a name="__index__"></a></p>

<!-- INDEX BEGIN -->

<ul>

	<li><a href="#name">NAME</a></li>
	<li><a href="#synopsis">SYNOPSIS</a></li>
	<li><a href="#description">DESCRIPTION</a></li>
	<ul>

		<li><a href="#overridden_methods">Overridden methods</a></li>
	</ul>

</ul>
<!-- INDEX END -->

<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
 <span class="keyword">use</span> <span class="variable">ExtUtils::MM_Win32</span><span class="operator">;</span> <span class="comment"># Done internally by ExtUtils::MakeMaker if needed</span>
</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>See ExtUtils::MM_Unix for a documentation of the methods provided
there. This package overrides the implementation of these methods, not
the semantics.</p>
<p>
</p>
<h2><a name="overridden_methods">Overridden methods</a></h2>
<dl>
<dt><strong><a name="item_dlsyms"><strong>dlsyms</strong></a></strong>

<dt><strong><a name="item_replace_manpage_separator">replace_manpage_separator</a></strong>

<dd>
<p>Changes the path separator with .</p>
</dd>
</li>
<dt><strong><a name="item_maybe_command"><strong>maybe_command</strong></a></strong>

<dd>
<p>Since Windows has nothing as simple as an executable bit, we check the
file extension.</p>
</dd>
<dd>
<p>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.</p>
</dd>
</li>
<dt><strong><a name="item_init_dirfilesep"><strong>init_DIRFILESEP</strong></a></strong>

<dd>
<p>Using \ for Windows.</p>
</dd>
</li>
<dt><strong><a name="item_init_others"><strong>init_others</strong></a></strong>

<dd>
<p>Override some of the Unix specific commands with portable
ExtUtils::Command ones.</p>
</dd>
<dd>
<p>Also provide defaults for LD and AR in case the %Config values aren't
set.</p>
</dd>
<dd>
<p>LDLOADLIBS's default is changed to $Config{libs}.</p>
</dd>
<dd>
<p>Adjustments are made for Borland's quirks needing -L to come first.</p>
</dd>
</li>
<dt><strong><a name="item_init_platform">init_platform</a></strong>

<dd>
<p>Add MM_Win32_VERSION.</p>
</dd>
</li>
<dt><strong><a name="item_platform_constants">platform_constants</a></strong>

<dt><strong><a name="item_special_targets">special_targets</a></strong>

<dd>
<p>Add .USESHELL target for dmake.</p>
</dd>
</li>
<dt><strong><a name="item_static_lib">static_lib</a></strong>

<dd>
<p>Changes how to run the linker.</p>
</dd>
<dd>
<p>The rest is duplicate code from MM_Unix.  Should move the linker code
to its own method.</p>
</dd>
</li>
<dt><strong><a name="item_dynamic_lib">dynamic_lib</a></strong>

<dd>
<p>Complicated stuff for Win32 that I don't understand. :(</p>
</dd>
</li>
<dt><strong><a name="item_extra_clean_files">extra_clean_files</a></strong>

<dd>
<p>Clean out some extra dll.{base,exp} files which might be generated by
gcc.  Otherwise, take out all *.pdb files.</p>
</dd>
</li>
<dt><strong><a name="item_init_linker">init_linker</a></strong>

<dt><strong><a name="item_perl_script">perl_script</a></strong>

<dd>
<p>Checks for the perl program under several common perl extensions.</p>
</dd>
</li>
<dt><strong><a name="item_xs_o">xs_o</a></strong>

<dd>
<p>This target is stubbed out.  Not sure why.</p>
</dd>
</li>
<dt><strong><a name="item_pasthru">pasthru</a></strong>

<dd>
<p>All we send is -nologo to nmake to prevent it from printing its damned
banner.</p>
</dd>
</li>
<dt><strong><a name="item_oneliner">oneliner</a></strong>

<dd>
<p>These are based on what command.com does on Win98.  They may be wrong
for other Windows shells, I don't know.</p>
</dd>
</li>
<dt><strong><a name="item_cd">cd</a></strong>

<dd>
<p>dmake can handle Unix style cd'ing but nmake (at least 1.5) cannot.  It
wants:</p>
</dd>
<dd>
<pre>
    cd dir
    command
    another_command
    cd ..</pre>
</dd>
<dd>
<p><strong>NOTE</strong> This cd can only go one level down.  So far this sufficient for
what MakeMaker needs.</p>
</dd>
</li>
<dt><strong><a name="item_max_exec_len">max_exec_len</a></strong>

<dd>
<p>nmake 1.50 limits command length to 2048 characters.</p>
</dd>
</li>
<dt><strong><a name="item_os_flavor">os_flavor</a></strong>

<dd>
<p>Windows is Win32.</p>
</dd>
</li>
</dl>

</body>

</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?