diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | ext/tk/README.tcltklib | 9 | ||||
-rw-r--r-- | ext/tk/extconf.rb | 7 | ||||
-rw-r--r-- | ext/tk/tkutil/extconf.rb | 9 |
4 files changed, 32 insertions, 3 deletions
@@ -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 |