伦敦Perl和Raku研讨会将于2024年10月26日举行。如果您的公司依赖Perl,请考虑赞助和/或参加.

名称

ExtUtils::MM_Win32-重写ExtUtils::MakeMaker中UN*X行为的方法

简介

使用ExtUtils::MM_Win32;#如果需要,由ExtUtils::MakeMaker在内部完成

描述

请参阅外部实用程序::MM_Unix获取此处提供的方法的文档。这个包覆盖了这些方法的实现,而不是语义。

重写的方法

dlsyms系统
xs_dlsyms_ext

在Win32上,是.def(定义).

替换手册分隔符

使用更改路径分隔符。

可能_命令

由于Windows没有可执行位那么简单,所以我们检查文件扩展名。

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

初始化DIRFILESEP

对于Windows,使用\,但“gmake”除外,此处为/。

初始化工具

使用特定于Windows的命令覆盖一些速度较慢的可移植命令。

init_其他

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

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

对Borland的怪癖进行了调整,需要先使用-L。

初始化平台

添加MM_Win32_VERSION。

平台常量
指定外壳

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

常数

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

特殊目标

添加。对dmake使用HELL目标。

静态lib_pure_cmd

定义如何运行存档实用程序

dynamic_lib(动态库)

方法在这里被覆盖:不是dynamic_lib本身,而是执行特定于OS的工作的实用程序。

外部清理文件

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

初始化链接器
perl脚本

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

报价_ dep
xs_obj_opt

覆盖MSVC的fixup-o标志。

帕什鲁

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

arch_check(覆盖)

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

单线客机

这些都基于command.com在Win98上的功能。我不知道,对于其他Windows shell来说,它们可能是错误的。

光盘

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

cd目录1\dir2命令另一个命令光盘..\。。
最大执行长度

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

os_flavor公司

Windows是Win32。

dbgoutflag数据库

返回一个CC标志,该标志告诉CC在编译对象文件时发出单独的调试符号文件。

cf标记

如果我们配置为静态构建,则定义PERLDLL符号,因为所有指定给perl5xx.dll的代码都必须使用定义的PERLDLL符号进行编译。

make_type(标记类型)

返回描述正在写入的生成文件类型的合适字符串。