如何制作" dzil测试"将命令行参数传递给Makefile.PL?

时间:2015-01-24 17:36:27

标签: perl dist-zilla

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

为了将选项传递给Makefile.PL(特别是INCLIBS),我习惯设置到目前为止工作正常的PERL_MM_OPT环境变量。

现在我想使用Devel::CheckLib来检查C库的存在。 Devel::CheckLib在通过命令行提供时也支持INCLIBS,但它不会从PERL_MM_OPT读取这些选项。

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

通过快速查看the source of the MakeMaker::Runner plugin,这似乎不受支持。还有另一种解决方法吗?

1 个答案:

答案 0 :(得分:0)

Makefile.PL的参数传递给dzil根本不受PERL_MM_OPT支持,可能永远不会。作为解决方法,我在调用@ARGV之前将Devel::CheckLib的内容添加到{ local @ARGV; unshift(@ARGV, ExtUtils::MakeMaker::_shellwords($ENV{PERL_MM_OPT} || '')); check_lib_or_exit(...); } 的本地副本:

{{1}}

丑陋,但有效。