2012-03-15 59 views
2

我有一个很大的项目,我刚刚添加了一些XS代码,我想尽可能保持顶层目录的清洁。我想把XS文件和typemap等。进入一个子目录,但如果我这样做,MakeMaker找不到它们。所以现在,他们只是坐在项目的根部。如何告诉MakeMaker在子目录中构建XS文件?

如何告诉MakeMaker在XS东西的子目录中查看,以便从那里构建它?

+0

@schwern - 感谢您的回答 - 我完全错过了EUMM文档中的该选项。我只想补充一点,我最终转而使用[Module :: Build](http://metacpan.org/module/Module::Build),因为[Module :: Build :: WithXSpp](http:// metacpan .org/module/Module :: Build :: WithXSpp)使许多其他事情变得更加容易。切换也很容易,因为我正在使用[Dist :: Zilla](http://metacpan.org/module/Dist::Zilla)。 [Dist :: Zilla :: Plugin :: ModuleBuild :: Custom](http://metacpan.org/module/Dist::Zilla::Plugin::ModuleBuild::Custom)模块也帮助了很多! :) – Hercynium 2012-03-30 14:48:41

回答

4

我相信,如果您将.xs文件放入lib目录,MakeMaker会找到它们。

你可以明确地告诉MakeMaker的其中.xs文件,什么.c文件把它翻译成使用XS选项WriteMakefile

WriteMakefile(
    NAME => "Foo::Bar", 
    XS  => { 
     "lib/Foo/Bar.xs" => "lib/Foo/Bar.c", 
    } 
); 
相关问题