福間@福岡 です。

記事 <199903120045.JAA01499 / kec-sv1.ele.kimmon.co.jp> において、
Masaki YATSU <yatsu / ele.kimmon.co.jp> さんは書きました :

> 1. tcl/tkがインストールされていない状態
>      => a. の挙動
> 2. tcl/tkがインストールされていない状態 or WITH_TCL_TKLIB=no
>      => a. の挙動
> 3. tcl/tkがインストールされている状態 or WITH_TCL_TKLIB=yes
>      => ext/tcltklib以下をbuild
>    BUILD_DEPENDSとRUN_DEPENDSに tcl-ほげ と ja-tk-ほげ を定義
>    (これでbsd.ports.mkにおまかせにできるので,X11まで考える
>     必要はないですよね.)
> 
> で,defaultでは 2. の状態にしておいて,
> make confiugre時に(ghostscriptのportsのように)メッセージを表
> 示する(もしくは,tcl/tkの選択をできるようにしちゃう)ようにす
> ればいいと思います.

ええと、条件がちょっとわかりづらかったのですが、

  WITH...\Tk  なし  あり
   no           ×    ×
   yes          ○    ○
   指定なし     ×    ○

   no           ×    ×
   yes          ○    ○
   指定なし     ×    ×

   no           ×    ×
   yes          ×    ○
   指定なし     ×    ○

   no           ×    ×
   yes          ×    ○
   指定なし     ×    ×

のいずれかということでしょうか??


余談 = <<'____おわり'

ちなみに、make変数は「定義されているか」の確認だけで、値として何が入って
いるのかは(値そのものに意味がある場合を除いて)確認しないほうが望ましい
そうです(no/NO/false/off/nope/否... と何でもアリなので)。

# if foo.ok? == true then ... end より if foo.ok? then ... end のほうが
# betterなのと同じ

____おわり

> まあ,今時のユーザはXまでサクッとインストールしちゃうでしょ
> うし,わざとXをインストールしないで,console onlyで利用する
> 人は,自分でportsからmake buildできる人であると仮定しても問
> 題ないと思います.

ふむ、ただ不用意に依存関係を作ってしまって「Rubyを動かすにはX11が必要」
という変な誤解を生むのも嫌なので、なるべくなら本質的でない依存関係は
必要最低限にしたいところです。

> 世界征服を狙うRubyとしては,
>   ruby-{1.2.3,dev}
>   ruby-tk80-{1.2.3,dev}
>   ja-ruby-{1.2.3,dev}
>   ja-ruby-tk80-{1.2.3,dev}
> とかpackageで用意しちゃうのもいいかも:-)

なるほど…その手があったか(笑)

---
 Yasuhiro Fukuma (福間 康弘) as Yasu.F @ Kitakyushu.Fukuoka.Japan
 Web site: http://www8.big.or.jp/~yasuf/
 “君の主人公は君だ。”