3

对于依赖于 C 库的基于 XS 的 Perl 模块之一,我Dist::ZillaMakeMaker::Awesome插件一起使用来创建我的Makefile.PL.

为了将选项传递给Makefile.PL(尤其是INCand LIBS),我曾经设置PERL_MM_OPT环境变量,到目前为止效果很好。

现在我想用它Devel::CheckLib来检查 C 库的存在。Devel::CheckLib也支持INCLIBS当通过命令行提供时,但它不会从PERL_MM_OPT.

如何dzil test将命令行参数传递给Makefile.PL

快速查看插件的来源,MakeMaker::Runner这似乎不受支持。还有其他解决方法吗?

4

1 回答 1

0

将参数传递给Makefile.PLsimple 不受支持,dzil并且可能永远不会支持。作为一种解决方法,我在调用之前将 的内容添加PERL_MM_OPT到本地副本:@ARGVDevel::CheckLib

{
    local @ARGV;
    unshift(@ARGV, ExtUtils::MakeMaker::_shellwords($ENV{PERL_MM_OPT} || ''));
    check_lib_or_exit(...);
}

丑陋,但有效。

于 2015-02-05T11:02:50.783 回答