流れ流れてruby-devに移りました。

>    on 99/04/14, Jun-ichiro itojun Hagino <itojun / itojun.org> 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 をあてることです。

	missing以下のファイルはOSに欠けている関数を提供するためのものなので、
	getaddrinfo.cを置いてもいいのでは? addrinfo.hはmissing/addrinfo.hへ
	動かします。

	とりあえずこんな感じにしてみました。
	1. IPv6 node上で
	1a. getaddrinfoが提供されていない -> configureでハネる
	1b. getaddrinfoが提供されているが腐っている -> configureでハネる
	1c. getaddrinfoが提供されていて、かつまとも: まちまち
		以下の場合、ext/socket/socket.cはdynamic linkできる。
		- libc.soにgetaddrinfoが入ってる
		- libinet6.soとかが提供されていて、getaddrinfoが入ってる
		以下の場合、ext/socket/socket.cはdynamic linkできない。
		- static link libraryにgetaddrinfoが入ってる
	    状況はそのうち変わると思うので、現状dynamic linkしない。

	2. IPv4 node上で
		config.hを見てext/socket/extconf.rbが頑張る。
		dynamic linkもできます。

http://www2.kame.net/dev/cvsweb.cgi/ruby13/ext/socket/extconf.rb.diff?cvsroot=apps&r1=1.1.1.1%3Av132_990413&tr1=1.1&r2=1.3%3AHEAD&tr2=1.3&f=u

itojun