Как сделать так, чтобы "dzil test" передавал аргументы командной строки в Makefile.PL?
Для одного из моих модулей Perl на основе XS, который зависит от библиотеки C, я использую 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
?
Из быстрого взгляда на источник MakeMaker::Runner
плагин это, кажется, не поддерживается. Есть ли другой обходной путь?
1 ответ
Передача аргументов Makefile.PL
просто не поддерживается dzil
и, вероятно, никогда не будет. В качестве обходного пути я добавляю содержимое PERL_MM_OPT
в локальную копию @ARGV
прежде чем позвонить в Devel::CheckLib
:
{
local @ARGV;
unshift(@ARGV, ExtUtils::MakeMaker::_shellwords($ENV{PERL_MM_OPT} || ''));
check_lib_or_exit(...);
}
Некрасиво, но работает.