summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--ext/tk/README.tcltklib9
-rw-r--r--ext/tk/extconf.rb7
-rw-r--r--ext/tk/tkutil/extconf.rb9
4 files changed, 32 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index bfca7255c3..fffe723e8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Wed Nov 22 16:00:49 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/extconf.rb: support --with-X11/--without-X11 option.
+
+ * ext/tk/README.tcltklib: add description about --with-X11-* option
+ [ruby-talk:225166] and --with-X11/--without-X11 option.
+
+ * ext/tk/tkutil/extconf.rb: able to be called manually
+ [ruby-talk:225950].
+
Thu Nov 9 03:15:22 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (BEGIN_CALLARGS): ruby_block may be NULL even when
diff --git a/ext/tk/README.tcltklib b/ext/tk/README.tcltklib
index 5d1da48a45..e939ba1f51 100644
--- a/ext/tk/README.tcltklib
+++ b/ext/tk/README.tcltklib
@@ -41,6 +41,15 @@ some or all of the following options.
(e.g. "/Library/Frameworks/Tk.framework/Headers")
+ --with-X11 / --without-X11 use / not use the X Window System
+
+ --with-X11-dir=<path>
+ equal to "--with-X11-include=<path>/include --with-X11-lib=<path>/lib"
+
+ --with-X11-include=<dir> the directry contains X11 header files
+ --with-X11-lib=<dir> the directry contains X11 libraries
+
+
If you forgot to give the options when do 'configure' on toplevel
directry of Ruby sources, please try something like as the followings.
diff --git a/ext/tk/extconf.rb b/ext/tk/extconf.rb
index 8c8d833481..5ed86a8b76 100644
--- a/ext/tk/extconf.rb
+++ b/ext/tk/extconf.rb
@@ -47,6 +47,8 @@ tklib = with_config("tklib")
tcllib = with_config("tcllib")
stubs = enable_config("tcltk_stubs") || with_config("tcltk_stubs")
+use_X = with_config("X11", (! is_win32))
+
def find_tcl(tcllib, stubs)
paths = ["/usr/local/lib", "/usr/pkg/lib", "/usr/lib"]
if stubs
@@ -273,8 +275,9 @@ end
if tcltk_framework ||
(have_header("tcl.h") && have_header("tk.h") &&
- (is_win32 || find_library("X11", "XOpenDisplay",
- "/usr/X11/lib", "/usr/lib/X11", "/usr/X11R6/lib", "/usr/openwin/lib")) &&
+ ( !use_X || find_library("X11", "XOpenDisplay",
+ "/usr/X11/lib", "/usr/lib/X11",
+ "/usr/X11R6/lib", "/usr/openwin/lib")) &&
find_tcl(tcllib, stubs) &&
find_tk(tklib, stubs))
$CPPFLAGS += ' -DUSE_TCL_STUBS -DUSE_TK_STUBS' if stubs
diff --git a/ext/tk/tkutil/extconf.rb b/ext/tk/tkutil/extconf.rb
index e3aa00a4b2..dd00d5d535 100644
--- a/ext/tk/tkutil/extconf.rb
+++ b/ext/tk/tkutil/extconf.rb
@@ -1,4 +1,11 @@
-if compiled?('tk')
+begin
+ has_tk = compiled?('tk')
+rescue NoMethodError
+ # Probably, called manually (NOT from 'extmk.rb'). Force to make Makefile.
+ has_tk = true
+end
+
+if has_tk
require 'mkmf'
create_makefile('tkutil')
end