对于一个依赖于C库的基于XS的Perl模块,我使用Dist::Zilla
和MakeMaker::Awesome
插件来创建我的Makefile.PL
。
为了将选项传递给Makefile.PL
(特别是INC
和LIBS
),我习惯设置到目前为止工作正常的PERL_MM_OPT
环境变量。
现在我想使用Devel::CheckLib
来检查C库的存在。 Devel::CheckLib
在通过命令行提供时也支持INC
和LIBS
,但它不会从PERL_MM_OPT
读取这些选项。
如何让dzil test
将命令行参数传递给Makefile.PL
?
通过快速查看the source of the MakeMaker::Runner
plugin,这似乎不受支持。还有另一种解决方法吗?
答案 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}}
丑陋,但有效。