内容

名称

ExtUtils::MM_Win32 - 在 ExtUtils::MakeMaker 中覆盖 UN*X 行为的方法

概要

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

描述

有关该方法提供的文档,请参见 ExtUtils::MM_Unix。此包覆盖了这些方法的实现,而不是语义。

被覆盖的方法

dlsyms
xs_dlsyms_ext

在 Win32 上,是 .def

replace_manpage_separator

将路径分隔符更改为 .

maybe_command

由于 Windows 没有像可执行位那样简单的东西,因此我们检查文件扩展名。

PATHEXT 环境变量将用于获取可能指示命令的扩展名列表,否则默认情况下将使用 .com、.exe、.bat 和 .cmd。

init_DIRFILESEP

对 Windows 使用 \,除了 "gmake",它使用 /。

init_tools

用 Windows 特定的命令覆盖一些较慢的、可移植的命令。

init_others

覆盖默认链接和编译工具。

LDLOADLIBS 的默认值更改为 $Config{libs}。

针对 Borland 的特殊情况进行调整,需要 -L 放在首位。

init_platform

添加 MM_Win32_VERSION。

platform_constants
specify_shell

仅当 make 类型为 'gmake' 时,将 SHELL 设置为 $ENV{COMSPEC}。

constants

在输出所有常量之前,为 dmake 添加 MAXLINELENGTH。

special_targets

为 dmake 添加 .USESHELL 目标。

static_lib_pure_cmd

定义如何运行归档实用程序。

dynamic_lib

此处覆盖方法:不是 dynamic_lib 本身,而是执行特定于操作系统的实用程序。

extra_clean_files

清理一些可能由 gcc 生成的额外 dll.{base,exp} 文件。否则,删除所有 *.pdb 文件。

init_linker
perl_script

检查几个常见的 perl 扩展下的 perl 程序。

quote_dep
xs_obj_opt

覆盖以修复 MSVC 的 -o 标志。

pasthru

我们只发送 -nologo 给 nmake 以防止它打印其该死的横幅。

arch_check (覆盖)

规范化所有参数以确保比较一致性。

oneliner

这些基于 Win98 上 command.com 的行为。它们可能不适用于其他 Windows shell,我不知道。

cd

dmake 可以处理 Unix 风格的 cd,但 nmake(至少 1.5)不能。它想要

cd dir1\dir2
command
another_command
cd ..\..
max_exec_len

nmake 1.50 将命令长度限制为 2048 个字符。

os_flavor

Windows 是 Win32。

dbgoutflag

返回一个 CC 标志,指示 CC 在编译目标文件时生成单独的调试符号文件。

cflags

如果我们配置为静态构建,则定义 PERLDLL 符号,因为所有目标为 perl5xx.dll 的代码都必须在定义了 PERLDLL 符号的情况下进行编译。

make_type

返回一个合适的字符串,描述正在编写的 Makefile 的类型。