From: Katsuyuki Komatsu Date: 1999-07-27T22:14:45+09:00 Subject: [ruby-dev:7452] Re: [PATCH] mswin32 support 小松です。 In the message of [ruby-dev:7436] Re: [PATCH] mswin32 support on 1999/7/27 13:40:26 matz@netlab.co.jp (Yukihiro Matsumoto) wrote: ||だいたいよさそうなので、出してしまいます。 ||patchは1999/7/22のcheckinに対するdiffです。 | |パッチ当てました。1.3.6出そう。 やっぱりやりすぎててruby-gtk-0.20のMakefile作成に失敗してしまいました。 [ruby-dev:7430]のパッチに対するパッチです。 # 間に合うか。 --- ext/extmk.rb.nt-ruby-dev-7430 Tue Jul 27 10:33:14 1999 +++ ext/extmk.rb.nt Tue Jul 27 21:55:06 1999 @@ -173,12 +173,21 @@ def have_library(lib, func="main") if func && func != "" libs = append_library($libs, lib) #print "libs=#{libs}\n" - unless try_link(<<"SRC", libs) + r = try_link(<<"SRC", libs) +#include +#include +int main() { return 0; } +int t() { #{func}(); return 0; } +SRC + unless r + r = try_link(<<"SRC", libs) #include #include int main() { return 0; } int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; } SRC + end + unless r #print "fail : #{libs}\n" $lib_cache[lib] = 'no' $cache_mod = true @@ -205,12 +214,21 @@ def have_func(func) libs = $libs #print "libs=#{libs}\n" - unless try_link(<<"SRC", libs) + r = try_link(<<"SRC", libs) +#include +#include +int main() { return 0; } +int t() { #{func}(); return 0; } +SRC + unless r + try_link(<<"SRC", libs) #include #include int main() { return 0; } int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; } SRC + end + unless r $func_cache[func] = 'no' $cache_mod = true return false --- lib/mkmf.rb-ruby-dev-7430 Tue Jul 27 10:33:05 1999 +++ lib/mkmf.rb Tue Jul 27 21:39:10 1999 @@ -178,8 +178,16 @@ def have_library(lib, func="main") #include #include int main() { return 0; } +int t() { #{func}(); return 0; } +SRC + unless r + r = try_link(<<"SRC", libs) +#include +#include +int main() { return 0; } int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; } SRC + end else r = try_link(<<"SRC", libs) int main() { return 0; } @@ -224,8 +232,16 @@ def have_func(func) #include #include int main() { return 0; } +int t() { #{func}(); return 0; } +SRC + unless r + r = try_link(<<"SRC", libs) +#include +#include +int main() { return 0; } int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; } SRC + end else r = try_link(<<"SRC", libs) int main() { return 0; } -- 小松克行 / Katsuyuki Komatsu