【问题标题】:How to make "dzil test" pass command line arguments to Makefile.PL?如何使“dzil test”将命令行参数传递给 Makefile.PL?
【发布时间】:2015-03-23 13:50:51
【问题描述】:

对于依赖于 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,这似乎不受支持。还有其他解决方法吗?

【问题讨论】:

    标签: perl dist-zilla


    【解决方案1】:

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

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

    丑陋,但有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-25
      • 2019-08-28
      • 1970-01-01
      • 1970-01-01
      • 2013-10-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      相关资源
      最近更新 更多