前田です。

At Sat, 16 Aug 2003 19:19:12 +0900,
Takahiro Kambe <taca / back-street.net> wrote:
> > > cc -o conftest -I/usr/pkg/lib/ruby/1.6/i386-netbsdelf -O2 -fPIC -pipe   -Wl,-export-dynamic  conftest.c -lwrap -lc  -lcrypt -lm
> > > /usr/lib/libwrap.so: undefined reference to `allow_severity'
> > > /usr/lib/libwrap.so: undefined reference to `deny_severity'
> > 
> > この二つはlibwrapで定義されているはずのもののようですが、別のラ
> > イブラリに分かれているとかでしょうか。
> 違います。かつて同じようなメールを出していました。

スマートにはほど遠いんですが、こんな感じでどうでしょうか。
# 0.5へのパッチです。


Index: extconf.rb =================================================================== RCS file: /src/lib/tcpwrap/extconf.rb,v retrieving revision 1.2 diff -u -r1.2 extconf.rb --- extconf.rb 24 Jan 2003 03:03:03 -0000 1.2 +++ extconf.rb 18 Aug 2003 03:27:27 -0000 @@ -2,6 +2,52 @@ require "mkmf" +def have_libwrap + lib = "wrap" + func = "main" + printf "checking for %s() in -l%s... ", func, lib + STDOUT.flush + if func && func != "" + libs = append_library($libs, lib) + if /mswin32|mingw/ =~ RUBY_PLATFORM + r = try_link(<<"SRC", libs) +#include <windows.h> +#include <winsock.h> +int allow_severity = 0; +int deny_severity = 0; +int main() { return 0; } +int t() { #{func}(); return 0; } +SRC + unless r + r = try_link(<<"SRC", libs) +#include <windows.h> +#include <winsock.h> +int allow_severity = 0; +int deny_severity = 0; +int main() { return 0; } +int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; } +SRC + end + else + r = try_link(<<"SRC", libs) +int allow_severity = 0; +int deny_severity = 0; +int main() { return 0; } +int t() { #{func}(); return 0; } +SRC + end + unless r + print "no\n" + return false + end + else + libs = append_library($libs, lib) + end + $libs = libs + print "yes\n" + return true +end + dir_config("wrap") dir_config("ident") if have_header("ident.h") and @@ -9,6 +55,7 @@ have_func("ident_id") end if have_header("tcpd.h") and - have_library("wrap") + have_libwrap create_makefile("tcpwrap") end + Index: tcpwrap.c =================================================================== RCS file: /src/lib/tcpwrap/tcpwrap.c,v retrieving revision 1.3 diff -u -r1.3 tcpwrap.c --- tcpwrap.c 29 Jan 2003 03:46:20 -0000 1.3 +++ tcpwrap.c 18 Aug 2003 03:27:27 -0000 @@ -98,7 +98,6 @@ static VALUE tcpd_accept(VALUE self) { - int access = 0; tcp_wrapper_t *tcpd; VALUE sock; int sockfd;
At Sat, 16 Aug 2003 12:51:55 +0900, Takahiro Kambe <taca / back-street.net> wrote: > P.S. > ruby-tcpwrapのhome pageとして適切なページってありますでしょうか? ないです。しいていえば、 http://raa.ruby-lang.org/list.rhtml?name=ruby-tcpwrap くらいでしょうか(^_^; -- 前田 修吾