2009-11-09 53 views
1

離散ruby擴展模塊的源可以位於同一目錄下,由相同的extconf.rb腳本控制嗎?在一個目錄下的多個ruby擴展模塊

背景:我有兩個擴展模塊,foo.sobar.so目前住在自己的子目錄,像這樣一個項目:

myproject/ext/foo/extconf.rb 
myproject/ext/foo/foo.c 
myproject/ext/foo/foo.h 

myproject/ext/bar/extconf.rb 
myproject/ext/bar/bar.c 
myproject/ext/bar/bar.h 

我寧願所有.c.h來源只是在ext/下的單個extconf.rb文件的控制下,但我不知道如何獲得mkmf一起玩。

回答

2

使用mkmf,您將需要使用單獨的目錄;它不是爲了將多個擴展放在同一個目錄中而設計的。

您可以使用其中一個mkmf選項(例如mkrf)將擴展名放入同一個目錄;我不知道這是否會起作用。我曾經想做同樣的事情,但最終發現,隨着我的圖書館日益發展,爲我的項目組織起來,有多個目錄可供我的擴展使用。