2009-11-09 3 views
1

개별적인 루비 확장 모듈의 소스는 동일한 extconf.rb 스크립트로 제어되는 동일한 디렉토리에 살 수 있습니까?하나의 디렉토리 아래에 여러 개의 루비 확장 모듈

배경 : 나는했습니다 두 개의 확장 모듈, 현재과 같이 자신의 하위 디렉토리에 살고 bar.so foo.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 소스는 extconf.rb 파일의 제어하에 ext/ 아래에있는 것일 뿐이지 만 mkmf을 재생하는 방법을 모르겠습니다.

답변

2

mkmf를 사용하면 별도의 디렉토리를 사용해야합니다. 동일한 디렉토리에 여러 확장자를 넣을 수 있도록 설계되지 않았습니다.

mkmf 대안 (예 : mkrf) 중 하나를 사용하여 확장 프로그램을 동일한 디렉토리에 배치 할 수 있습니다. 이것이 효과가 있을지 나는 모른다. 한때 나는 똑같은 일을하고 싶었지만 내 라이브러리가 늘어남에 따라 내 확장을위한 여러 디렉토리를 갖는 것이 프로젝트를 체계적으로 유지하는 데 바람직하다는 것을 알게되었습니다.

관련 문제