稲員です。

On Sat, 18 Sep 2010 23:31:58 +0900
Hiroyuki Seino <seichan...@wakhok.ne.jp> wrote:

> Handbook の 8.5 に書かれているように指定しているんですよね…
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html
> 
> emu10k1 emu10kx と sound/driver を消しても結果は変わらずでした.
> サウンド関係だけ,うまく制御出来ていない状態で,WITHOUT_MODULES で
> 指定した他の物はきちんとよけてくれています.

Handbook の WITHOUT_MODULES の説明にある "This variable sets up
a list of ***top level modules*** to exclude..." という記述がミ
ソなんじゃないですかね。 /sys/modules/Makefile を読んでみても、
どうやら WITHOUT_MODULES は /sys/modules 直下の directory しか
除外してくれない様に見えます。その為 netgraph や sound の様に階
層構造になっている driver は個別に制御できないんじゃないかと。

> sys/modules/sound/driver/Makefile を編集し emu10k1 と emu10kx
> を削除する事で回避は出来るのですが,ソースツリーを他と使いまわし
> ている為,この対応はなるべくやりたくありません.

との事なので、別解としてこんなのはどうでしょう。やはりスマートで
はありませんし、 Makefile 自体を弄りたくないという事であればこの
方法も駄目ですけど。

================
--- /sys/modules/sound/driver/Makefile.orig     2010-09-19 00:28:45.000000000 
+0900
+++ /sys/modules/sound/driver/Makefile  2010-09-19 00:28:59.000000000 +0900
@@ -19,4 +19,8 @@
 SUBDIR+=       ai2s davbus
 .endif
 
+.for reject in ${WITHOUT_MODULES}
+SUBDIR:= ${SUBDIR:N${reject}}
+.endfor
+
 .include <bsd.subdir.mk>
================

これで一応 WITHOUT_MODULES="... emu10k1 emu10kx" が効いてくれる
と思います。ただちゃんと確認してはいません。


-- 
Rikito INAKAZU (稲員力士) <riki1017k...@gmail.com>

メールによる返信