こんにちは、なかむら(う)です。

RubyConfでも話題になったようですが、標準添付の拡張ライブラリ
の一部をコンパイル対象から外す簡単な方法が欲しい、と常々思っ
ていたので、configure時に指定できるパッチを作ってみました。
configureのヘルプに、

  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)

と書いてあるのでそれを採用しています。
例えば、

  configure --without-Win32API --with-io/wait=no

などとすれば、Win32APIとio/waitがコンパイル対象から外れます。

--with-PACKAGE / --without-PACKAGE の機構はlib/mkmf.rbで吸収
してもいいような気がするんですが、さしあたってはこんなもんで。

Index: ext/extmk.rb =================================================================== RCS file: /home/cvs/ruby/ext/extmk.rb,v retrieving revision 1.82 diff -u -1 -p -r1.82 extmk.rb --- ext/extmk.rb 16 Oct 2005 13:17:30 -0000 1.82 +++ ext/extmk.rb 19 Oct 2005 11:10:01 -0000 @@ -360,2 +360,4 @@ else d + }.find_all {|ext| + !arg_config("--without-#{ext}", false) && arg_config("--with-#{ext}", true) != "no" }.sort
それでは。 -- U.Nakamura <usa / garbagecollect.jp>