内容

名称

ExtUtils::Mkbootstrap - 为 DynaLoader 创建引导文件

概要

Mkbootstrap

描述

Mkbootstrap 通常由扩展的 Makefile 调用。

扩展没有提供 *.bs 文件。相反,可能存在一个 *_BS 文件,其中包含特殊情况的代码,例如 NeXT 上的 berkeley db 的 posix。

该文件将被解析,并为当前架构生成一个可能为空的 @DynaLoader::dl_resolve_using 数组。该数组将由 $BSLOADLIBS 扩展,该数组由 ExtUtils::Liblist::ext() 计算。如果该数组仍然为空,则不执行任何操作,否则我们将使用 @DynaLoader::dl_resolve_using 数组写入一个 .bs 文件。

*_BS 文件可以通过将代码放置在 $bscode 中,将其放入生成的 *.bs 文件中。这是一种方便的“转义”机制,在复杂情况下可能很有用。

如果 @DynaLoader::dl_resolve_using 包含 -L*-l* 条目,则 Mkbootstrap 会自动将 dl_findfile() 调用添加到生成的 *.bs 文件中。