目錄

名稱

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

這些指令根據 command.com 在 Win98 上執行的內容而定。對於其他 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 類型的適當字串。