From: gotoken@... (GOTO Kentaro) Date: 1999-04-15T11:55:59+09:00 Subject: [ruby-list:13748] Re: IPv6 ruby ごとけんです # もはや ruby-list でやる話題ではないような気がしますので、 # つづきは、ruby-dev か ruby-ext でやった方がよいかも知れませんが、 # とりあえずここで。 In message "[ruby-list:13740] Re: IPv6 ruby" on 99/04/14, Jun-ichiro itojun Hagino writes: > README.v6に書いておいたのですが、現状 > - KAME IPv6 stackの場合、/usr/local/v6/lib/libinet6.aというので > getaddrinfo/getnameinfoを提供していますが、dynamic link libraryは > 提供しておりません。さて、extconf.rbはどうすればいい? > - 他のIPv6 stackも似たりよったりです。 > - IPv4 only hostの場合、missing/getaddrinfo.cとかが使われますが、 > これをsocket.soに入れるにはどうすればいいのか? > - 両者の場合分けを解決するには? ext/socket/extconf.rb.in? > というかんじです。 ひとつ考えたのは、missing/{getaddrinfo,getnameinfo}.c と addrinfo.h を ext/socket/ に移動して、extconf.rb に次の patch をあてることです。 --- extconf.rb.orig Tue Aug 11 13:28:26 1998 +++ extconf.rb Thu Apr 15 11:47:15 1999 @@ -16,4 +16,8 @@ have_library("socket", "socket") end + +$obj = ["socket.o"] +$obj += ["getaddrinfo.o", "getnameinfo.o"] unless have_func("getaddrinfo") + have_header("sys/un.h") if have_func(test_func) socket でしか使われないものを missing/ においとくのはちょっと 不自然な気がします。 >>TCP しか使ったことないのでいまひとつご利益がわかりませんが、 >>楽ちんになる状況の簡単な例はありますか?? > > 例えば、こんなもんでいかがでしょう。 詳しい説明に感謝します。だいぶわかった気がします。 -- gotoken