如何让 "dzil test" 将命令行参数传递给 Makefile.PL?
How to make "dzil test" pass command line arguments to Makefile.PL?
对于我的一个依赖于 C 库的基于 XS 的 Perl 模块,我使用 Dist::Zilla
together with with the 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 这似乎不受支持。还有其他解决方法吗?
Makefile.PL
不支持向 Makefile.PL
传递参数,而且可能永远不会支持。作为变通方法,我在调用 Devel::CheckLib
:
之前将 PERL_MM_OPT
的内容添加到 @ARGV
的本地副本
{
local @ARGV;
unshift(@ARGV, ExtUtils::MakeMaker::_shellwords($ENV{PERL_MM_OPT} || ''));
check_lib_or_exit(...);
}
丑陋,但有效。
对于我的一个依赖于 C 库的基于 XS 的 Perl 模块,我使用 Dist::Zilla
together with with the 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 这似乎不受支持。还有其他解决方法吗?
Makefile.PL
不支持向 Makefile.PL
传递参数,而且可能永远不会支持。作为变通方法,我在调用 Devel::CheckLib
:
PERL_MM_OPT
的内容添加到 @ARGV
的本地副本
{
local @ARGV;
unshift(@ARGV, ExtUtils::MakeMaker::_shellwords($ENV{PERL_MM_OPT} || ''));
check_lib_or_exit(...);
}
丑陋,但有效。