[#41134] [Bug:trunk] ext/tk on cygwin — Nobuyoshi Nakada <nobu@...>
なかだです。
[#41138] [Bug #3243] Can't build Ruby after r26506 — Yuki Sonoda <redmine@...>
Bug #3243: Can't build Ruby after r26506
[#41140] [Bug:trunk] the behavior of Tempfile#size was changed — Yusuke ENDOH <mame@...>
なかださん
Hi,
[#41173] [Feature #3251] allow to unlock mutex locked by another thread — Yusuke Endoh <redmine@...>
Feature #3251: allow to unlock mutex locked by another thread
[#41192] Re: [ruby-cvs:34848] Ruby:r27635 (trunk): * cont.c: apply FIBER_USE_NATIVE patch. This patch improve — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
[#41212] 実装凍結解除とリリース協力のお願い — Yugui <yugui@...>
Yuguiです。
[#41219] [ruby_1_9_2] コンパイルエラー — Takahiro Kambe <taca@...>
ruby_1_9_2ブランチのコンパイルでエラーが起きます。
[#41223] 正規表現オブジェクト中のキャプチャの数 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
[#41225] io/console IO#raw error when io is closed in the block — Tanaka Akira <akr@...>
io/console を使ってみたのですが、ちょっとうまく使えません。
[#41247] Regexpの仕様について — Masaya TARUI <tarui@...>
樽家です。
[#41259] Re: [ruby-cvs:34935] Ruby:r27723 (trunk): * ext/psych/parser.c (parse): Return strings encoded as — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#41278] [BUG:1.9] BINARY should not be ASCII-compatible — Yugui <yugui@...>
WXVndWkbJEIkRyQ5ISMbKEIKCgo+IBskQiRHISIkKiQqJGAkTSQzJDMkXiRHJE41RE9AJEclKyVQ
普段、あまりM17Nの件に反応しない卜部ですが、
2010/5/11 Urabe Shyouhei <shyouhei@ruby-lang.org>:
[#41286] ruby_1_9_2 on NetBSD 5.1_RC1(+) — Takahiro Kambe <taca@...>
再び、こんばんは。
[#41316] [Bug #3295] make test aborted — Kazuhiro NISHIYAMA <redmine@...>
Bug #3295: make test aborted
チケット #3295 が更新されました。 (by Yusuke Endoh)
[#41329] NoMethodErrorなどのmessage — Masatoshi SEKI <m_seki@...>
咳といいます。
まつもと ゆきひろです
[#41334] [Bug #3307] ext/tk がheader fileの有無を誤判定する — Masaya Tarui <redmine@...>
Bug #3307: ext/tk がheader fileの有無を誤判定する
[#41348] [Bug #3316] Kernel#caller returns nil as well — Nobuhiro IMAI <redmine@...>
Bug #3316: Kernel#caller returns nil as well
遠藤です。
[#41350] [Bug #3318] net/imap/test_imap.rb reports an error on Windows — Usaku NAKAMURA <redmine@...>
Bug #3318: net/imap/test_imap.rb reports an error on Windows
[#41353] [Bug #3037] testrb の動作が1.8.7 の testrb と違いすぎる — Yusuke Endoh <redmine@...>
チケット #3037 が更新されました。 (by Yusuke Endoh)
2010年5月19日21:04 Yusuke Endoh <redmine@ruby-lang.org>:
[#41377] [Bug #3326] ruby_1_8がAIXでコンパイルできません。 — Yutaka Kanemoto <redmine@...>
Bug #3326: ruby_1_8がAIXでコンパイルできません。
[#41382] [Feature #3328] Kernel#p outputs as default_internal encoding, and so on — Masaya Tarui <redmine@...>
Feature #3328: Kernel#p outputs as default_internal encoding, and so on
[#41407] [Bug #3339] win32ole test failure — Usaku NAKAMURA <redmine@...>
Bug #3339: win32ole test failure
助田です。
こんにちは、なかむら(う)です。
助田です。
こんにちは、なかむら(う)です。
志村と申します
[#41423] [Bug #3345] webrick test failure on Windows(?) — Usaku NAKAMURA <redmine@...>
Bug #3345: webrick test failure on Windows(?)
[#41430] [bug:trunk] rubyspec: Kernel.spawn redirects both STDERR and STDOUT to the given name ERROR — Yusuke ENDOH <mame@...>
遠藤です。
[#41452] [Bug #3360] rdoc fails when including BOM — white leaf <redmine@...>
Bug #3360: rdoc fails when including BOM
チケット #3360 が更新されました。 (by Nobuyoshi Nakada)
[#41481] [Bug #3370] test failure of drb — Usaku NAKAMURA <redmine@...>
Bug #3370: test failure of drb
[ruby-dev:41133] [Bug:trunk] cross-compiling ext/tk
なかだです。
クロスコンパイルのときにext/tk/extconf.rbが適切なディレクトリを
探していません。また、is_win32?のときに同じディレクトリを、与え
られたパス自体と\を/に置換したものとドライブレターの直後の/を二
重にしたものとと、各3回ずつ探しているようなんですが、これはなぜ
でしょうか。とくに最後のものはドライブレターがない場合はUNCになっ
てしまうので意味が変わってしまうと思います。
diff --git i/ext/tk/extconf.rb w/ext/tk/extconf.rb
index 676c132..a8adac2 100644
--- i/ext/tk/extconf.rb
+++ w/ext/tk/extconf.rb
@@ -193,5 +193,6 @@ def get_shlib_path_head
end
- if is_win32?
+ if CROSS_COMPILING
+ elsif is_win32?
drive, drv_regexp = win_drive
if TkLib_Config["ActiveTcl"]
@@ -422,5 +423,6 @@ def get_tclConfig_dirs
config_dir = []
- if is_win32?
+ if CROSS_COMPILING
+ elsif is_win32?
drive, drv_regexp = win_drive
if TkLib_Config["ActiveTcl"]
@@ -559,5 +561,6 @@ def search_tclConfig(*paths) # libdir list or [tcl-libdir|file, tk-libdir|file]
conf = nil
- (config_dir | config_dir).map{|dir|
+ config_dir.uniq!
+ config_dir.map{|dir|
if dir.kind_of? Array
[dir[0].strip.chomp('/'), dir[1].strip.chomp('/')]
@@ -603,5 +606,5 @@ def search_tclConfig(*paths) # libdir list or [tcl-libdir|file, tk-libdir|file]
# nativethread check
if !TkLib_Config["ruby_with_thread"] && tclconf['TCL_THREADS'] == '1'
- puts "WARNIG: find #{tclpath.inspect}, but it WITH nativethread-support under ruby WITHOUT nativethread-support. So, ignore it."
+ puts "WARNING: found #{tclpath.inspect}, but it WITH nativethread-support under ruby WITHOUT nativethread-support. So, ignore it."
TkLib_Config["tcltk-NG-path"] << File.dirname(tclpath)
next
@@ -648,5 +651,5 @@ def search_tclConfig(*paths) # libdir list or [tcl-libdir|file, tk-libdir|file]
unless tcllib_ok && tklib_ok
- puts "WARNIG: find #{tclpath.inspect}, but cannot find valid Tcl/Tk libraries on the same directory. So, ignore it."
+ puts "WARNING: found #{tclpath.inspect}, but cannot find valid Tcl/Tk libraries on the same directory. So, ignore it."
TkLib_Config["tcltk-NG-path"] << File.dirname(tclpath)
next
@@ -788,17 +791,15 @@ def check_shlib_search_path(paths)
path_list = check_NG_path(path_list)
+ path_list.map!{|path| path.strip}
- if is_win32?
+ if !CROSS_COMPILING and is_win32?
# exist-dir only
drive, drv_regexp = win_drive
- path_list.each{|path|
- path = path.strip;
- #$LIBPATH |= [path] if File.directory?(path)
- $LIBPATH |= [path.sub(%r|^(#{drv_regexp})?//|, '\1/')] unless Dir.glob(File.join(path, "*.{a,so,dll,lib}")).empty?
- }
- else
- # keep paths for searching dynamic libs
- path_list.each{|path| $LIBPATH |= [path.strip] }
+ path_list.map!{|path| path.sub(%r|^(#{drv_regexp})?//|, '\1/')}
+ path_list.delete_if{|path| Dir.glob(File.join(path, "*.{a,so,dll,lib}")).empty?}
end
+
+ # keep paths for searching dynamic libs
+ $LIBPATH |= path_list
end
@@ -842,5 +843,5 @@ def find_tcl(tcllib, stubs, version, *opt_paths)
File.join(RbConfig::CONFIG['prefix'], 'lib'),
"/usr/local/lib", "/usr/pkg/lib", "/usr/contrib/lib", "/usr/lib"
- ].find_all{|dir| File.directory?(dir)}
+ ].find_all{|dir| File.directory?(dir)} unless CROSS_COMPILING
if TkLib_Config["ActiveTcl"].kind_of?(String) # glob path
@@ -848,5 +849,5 @@ def find_tcl(tcllib, stubs, version, *opt_paths)
end
- if is_win32?
+ if !CROSS_COMPILING and is_win32?
drive, drv_regexp = win_drive
if TkLib_Config["ActiveTcl"]
@@ -874,34 +875,22 @@ def find_tcl(tcllib, stubs, version, *opt_paths)
end
- env_paths = []
- ENV['PATH'].split(File::PATH_SEPARATOR).each{|dir|
- env_paths << File.expand_path(File.join(dir, '..', 'lib'))
- env_paths << dir
- env_paths << File.expand_path(File.join(dir, '..'))
- if is_win32?
- if dir.gsub!(/\\/, '/')
- env_paths << File.expand_path(File.join(dir, '..', 'lib'))
- env_paths << dir
- env_paths << File.expand_path(File.join(dir, '..'))
- end
- if dir.sub!(%r|^(#{drv_regexp})?/([^/])|, '\1//\2')
- env_paths << File.expand_path(File.join(dir, '..', 'lib'))
- env_paths << dir
- env_paths << File.expand_path(File.join(dir, '..'))
- end
+ unless CROSS_COMPILING
+ env_paths = []
+ ENV['PATH'].split(File::PATH_SEPARATOR).each{|dir|
+ env_paths << File.expand_path(File.join(dir, '..', 'lib'))
+ env_paths << dir
+ env_paths << File.expand_path(File.join(dir, '..'))
+ }
+
+ if File::ALT_SEPARATOR
+ env_paths.map!{|dir| dir.tr(File::ALT_SEPARATOR, File::SEPARATOR)}
end
- }
- if is_win32?
- env_paths = env_paths.find_all{|d|
- not (Dir.glob(File.join(d, "*[Tt]cl*")) | Dir.glob(File.join(d.sub(%r|^(#{drv_regexp})?/([^/])|, '\1//\2'), "*[Tt]cl*"))).empty?
- }
- else
- env_paths = env_paths.find_all{|d|
- not (Dir.glob(File.join(d, "*[Tt]cl*"))).empty?
+ env_paths.delete_if{|d|
+ (Dir.glob(File.join(d, "*[Tt]cl*"))).empty?
}
- end
- default_paths.concat env_paths
+ default_paths.concat env_paths
+ end
default_paths |= default_paths
@@ -1010,5 +999,5 @@ def find_tk(tklib, stubs, version, *opt_paths)
File.join(RbConfig::CONFIG['prefix'], 'lib'),
"/usr/local/lib", "/usr/pkg/lib", "/usr/contrib/lib", "/usr/lib"
- ].find_all{|dir| File.directory?(dir)}
+ ].find_all{|dir| File.directory?(dir)} unless CROSS_COMPILING
if TkLib_Config["ActiveTcl"].kind_of?(String) # glob path
@@ -1016,5 +1005,5 @@ def find_tk(tklib, stubs, version, *opt_paths)
end
- if is_win32?
+ if !CROSS_COMPILING and is_win32?
drive, drv_regexp = win_drive
if TkLib_Config["ActiveTcl"]
@@ -1042,34 +1031,22 @@ def find_tk(tklib, stubs, version, *opt_paths)
end
- env_paths = []
- ENV['PATH'].split(File::PATH_SEPARATOR).each{|dir|
- env_paths << File.expand_path(File.join(dir, '..', 'lib'))
- env_paths << dir
- env_paths << File.expand_path(File.join(dir, '..'))
- if is_win32?
- if dir.gsub!(/\\/, '/')
- env_paths << File.expand_path(File.join(dir, '..', 'lib'))
- env_paths << dir
- env_paths << File.expand_path(File.join(dir, '..'))
- end
- if dir.sub!(%r|^(#{drv_regexp})?/([^/])|, '\1//\2')
- env_paths << File.expand_path(File.join(dir, '..', 'lib'))
- env_paths << dir
- env_paths << File.expand_path(File.join(dir, '..'))
- end
+ unless CROSS_COMPILING
+ env_paths = []
+ ENV['PATH'].split(File::PATH_SEPARATOR).each{|dir|
+ env_paths << File.expand_path(File.join(dir, '..', 'lib'))
+ env_paths << dir
+ env_paths << File.expand_path(File.join(dir, '..'))
+ }
+
+ if File::ALT_SEPARATOR
+ env_paths.map!{|dir| dir.tr(File::ALT_SEPARATOR, File::SEPARATOR)}
end
- }
- if is_win32?
- env_paths = env_paths.find_all{|d|
- not (Dir.glob(File.join(d, "*[Tt]k*")) | Dir.glob(File.join(d.sub(%r|^(#{drv_regexp})?/([^/])|, '\1//\2'), "*[Tt]k*"))).empty?
- }
- else
- env_paths = env_paths.find_all{|d|
- not (Dir.glob(File.join(d, "*[Tt]k*"))).empty?
+ env_paths.delete_if{|d|
+ (Dir.glob(File.join(d, "*[Tt]k*"))).empty?
}
- end
- default_paths.concat env_paths
+ default_paths.concat env_paths
+ end
default_paths |= default_paths
@@ -1166,5 +1143,5 @@ def find_tcltk_header(tclver, tkver)
end
- if is_win32?
+ if !CROSS_COMPILING && is_win32?
drive, drv_regexp = win_drive
if TkLib_Config["ActiveTcl"]
@@ -1199,15 +1176,9 @@ def find_tcltk_header(tclver, tkver)
base_dir << dir
base_dir << File.expand_path(File.join(dir, '..'))
- if dir.gsub!(/\\/, '/')
- base_dir << File.expand_path(File.join(dir, '..', 'include'))
- base_dir << dir
- base_dir << File.expand_path(File.join(dir, '..'))
- end
- if dir.sub!(%r|^(#{drv_regexp})?/([^/])|, '\1//\2')
- base_dir << File.expand_path(File.join(dir, '..', 'include'))
- base_dir << dir
- base_dir << File.expand_path(File.join(dir, '..'))
- end
}
+
+ if File::ALT_SEPARATOR
+ base_dir.map!{|dir| dir.tr(File::ALT_SEPARATOR, File::SEPARATOR)}
+ end
end
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦