From: kjana@... (YANAGAWA Kazuhisa) Date: 2001-04-21T00:31:03+09:00 Subject: [ruby-list:29357] Re: conditional compilation of ext/pty In message <538-Fri20Apr2001154737+0900-eban@os.rim.or.jp> eban@os.rim.or.jp writes: > :前者では結局 Cygwin を特別扱いするコードを抜けないから後者かな.でも > :ptsname() があれば SystemV pty 扱いでいけるっていうのがほんとうに真か > :といわれるとそこまでの自信はない.... > > わたしもlinuxだけ特別扱いしてしまったので他の環境が気になる > んですけど… > > とりあえずcommitしちゃおうかな。 [ruby-list:28961] によれば最近の Linux では openpty() があるみたいだか ら気にしないとか :-) ....って,今気付いたんですけどこの Debian potato の場合と FreeBSD の場 合,さらにおそらくは NetBSD や OpenBSD も,openpty() はあるけどそれは libutil にあるということで HAVE_OPENPTY になりませんね. have_header("libutil.h") have_header("pty.h") have_library("util", "openpty") ぐらいが extconf.rb にいるような. -- 柳川和久 @ 東大阪市 . 大阪府 April 20, 2001 It is comparison that makes men happy or miserable. # opnpty() は libutil にあって,prototype 宣言は libutil.h(*BSD,少な # くとも FreeBSD)か pty.h(Linux,少なくとも Debian)にある. diff -urN pty/extconf.rb pty-openpty/extconf.rb --- pty/extconf.rb Sat Mar 24 01:56:32 2001 +++ pty-openpty/extconf.rb Fri Apr 20 23:40:54 2001 @@ -4,6 +4,9 @@ have_header("sys/stropts.h") have_func("setresuid") $CFLAGS << "-DHAVE_DEV_PTMX" if /cygwin/ === RUBY_PLATFORM + have_header("libutil.h") + have_header("pty.h") + have_library("util", "openpty") if have_func("openpty") or have_func("_getpty") or have_func("ioctl") diff -urN pty/pty.c pty-openpty/pty.c --- pty/pty.c Thu May 25 14:55:10 2000 +++ pty-openpty/pty.c Fri Apr 20 23:42:33 2001 @@ -8,6 +8,12 @@ #if !defined(HAVE_OPENPTY) && !defined(HAVE__GETPTY) #include #endif +#ifdef HAVE_LIBUTIL_H +#include +#endif +#ifdef HAVE_PTY_H +#include +#endif #ifdef HAVE_SYS_WAIT_H #include #else