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

# このメールは ruby-dev ML と ruby-list ML との両方に流していますが,
# 広く協力者を求めるため,ご容赦ください.

MacOS X のことは全くと言っていいほど知らないので,
もしユーザがいらっしゃいましたら御協力願えないでしょうか?

MacOS X で X11 用ではなく Aqua 用に tcltklib を make したい場合,
'ext/tk/extconf.rb' への下記のようなパッチは必要でしょうか?
それともこれは無意味でしょうか?

もしこのパッチが無意味というわけではなく,かつ,
協力してもいいという方がいらっしゃいましたら,
1.9 か 1.8.4 の preview 版かの 'ext/tk/extconf.rb' に
添付のパッチをあてて,Tcl/TkAqua がインストールされた環境で
./configure --enable-pthread --enable-tcltk-framework --enable-macosx-aqua
とすることで,X11 に依存せずに make できるかどうか,
そしてきちんと動くかどうかを試してみていただけないでしょうか.
ダメならダメで,どこがダメだったのかの報告いただけると助かります.

# より適切な対応パッチを作っていただけるなら,もっと嬉しいですが.(^_^)

当方で調べることができる範囲には MacOS X 機がないもので,
ぜひ協力をお願い致します.

Index: extconf.rb
===================================================================
RCS file: /var/cvs/src/ruby/ext/tk/extconf.rb,v
retrieving revision 1.2.8.4
diff -u -r1.2.8.4 extconf.rb
--- extconf.rb	2 Nov 2005 11:28:40 -0000	1.2.8.4
+++ extconf.rb	30 Nov 2005 05:45:16 -0000
@@ -32,6 +32,14 @@
 
 tcltk_framework = find_framework(tcl_framework_header, tk_framework_header)
 
+def use_macosx_aqua
+  if  /darwin/ =~ RUBY_PLATFORM
+    enable_config("macosx-aqua", true)
+  else
+    false
+  end
+end
+
 unless is_win32
   have_library("nsl", "t_open")
   have_library("socket", "socket")
@@ -280,6 +288,11 @@
   $CPPFLAGS += ' -DUSE_TCL_STUBS -DUSE_TK_STUBS' if stubs
   $CPPFLAGS += ' -D_WIN32' if /cygwin/ =~ RUBY_PLATFORM
 
+  if use_macosx_aqua
+    $CPPFLAGS += ' -DMAC_OSX_TK=1'
+    $LDFLAGS  += ' -framework CoreFoundation -framework Carbon'
+  end
+
   if tcltk_framework
     if tcl_framework_header
       $CPPFLAGS += " -I#{tcl_framework_header}"


-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai / ai.kyutech.ac.jp