考虑这个 OSX 的 CPAN 测试器矩阵报告。
有时archname
是darwin-2level
,有时是darwin-thread-multi-2level
。我知道它指的是你是否使用用-Dusethreads
标志编译的Perl。
1(但这是否也意味着给定的模块(例如XML::LibXML
或XML::LibXSLT
(也使用/不使用线程标志进行编译?
2(是否有任何这样的设置,我们可以通过这些设置编译XML::LibXML
并使用线程标志进行XML::LibXSLT
?
3( 上述报告中的archname
是否要求它只能与没有-Dusethreads
标志编译的 Perl 一起使用?
当你安装一个模块时,相同的编译器标志用于编译模块,这些标志用于编译perl。除非模块作者在发行版的Makefile.PL
/Build.PL
中另有决定。
对模块使用与运行模块的 perl 不同的usethreads
将是危险的(如果可能的话(。