永井@知能.九工大です.

From: nobu / ruby-lang.org
Subject: [ruby-dev:25557] Re: merge tcltklib and tk
Date: Thu, 27 Jan 2005 02:30:04 +0900
Message-ID: <200501261730.j0QHU2Pm019768 / sharui.nakada.niregi.kanuma.tochigi.jp>
> > # 以前尋ねた時は誰もリプライしてくれなかったもので.(;_;)
> すいません、$preloadを利用する方向で考えてはいたんですが…。

元のように分離した方がやりやすいのでしょうか?

> > これができるのなら,tkutil をサブディレクトリに落としてやれば
> > 解決するということになります.
> > どんな風に書けばいいんでしょう.
> ディレクトリ構造に依存関係を肩代りさせるのであれば、extconf.rb
> を分離してtkutilをext/tcltklib/tkutilに移動させることになります。

単純に階層関係にするだけで,親ディレクトリで失敗したら
子も作られないのでしょうか?

# すみません.本当に分かってません.
# ext/tk/tcltklib.c , ext/tk/tkutil/tkutil.c という配置を
# 考えています.

> > > もう一点、cygwinで--with-tcltk-stubsを指定すると
> > > Tcl_GetCurrentNamespace()が未定義でリンクできないようです。
> > 
> > ダメでしたか...
> > とはいえ,この関数を使わないと SEGV 防止が難しくなるので
> > 何とかならないか考えてみます.
> > ちなみに Tcl/Tk のバージョンはいくつでしょうか.
> > 対処を考える上で影響しますのでお教えください.
> 
> tcltk-20030901-1.tar.bz2 でしたが、もっと新しいものがリリースさ
> れているでしょうか。

見てみました.Tcl/Tk8.4 ですね.
実は Tcl_GetCurrentNamespace() は Tcl/Tk8.4 までは
マニュアルにでてきていない関数なので,
かなり強引な利用をしている形になっています.

# 8.5 からは正式に利用できるのですが...

もう少しきちんとした方法 (あるいは cygwin でも強引に使う方法 (^_^;) 
がないか考えます.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai / ai.kyutech.ac.jp