わたなべです. :私はwinな世界のことは知らないんですが,たとえばperl for win :なんかはどういう状態で配布されてます? bin/, lib/ と pod を html に変換したドキュメントとインストー ラ(perl script)と LICENSE とかいろいろ入ってますね. P.S. gnu-win32 の patch もつけときます. ./configure してちょっと 手で修正が必要かもしれません. -- わたなべひろふみ
diff -ur ruby-0.99.4-961212.org/dir.c ruby-0.99.4-961212/dir.c --- ruby-0.99.4-961212.org/dir.c Wed Oct 2 18:25:42 1996 +++ ruby-0.99.4-961212/dir.c Thu Dec 12 14:26:42 1996 @@ -119,9 +119,13 @@ DIR *dirp; int pos; +#if !defined(__CYGWIN32__) GetDIR(dir, dirp); pos = telldir(dirp); return int2inum(pos); +#else + rb_notimplement(); +#endif } static VALUE @@ -130,9 +134,13 @@ { DIR *dirp; +#if !defined(__CYGWIN32__) GetDIR(dir, dirp); seekdir(dirp, NUM2INT(pos)); return dir; +#else + rb_notimplement(); +#endif } static VALUE @@ -207,7 +215,7 @@ dir_s_chroot(dir, path) VALUE dir, path; { -#if !defined(DJGPP) +#if !defined(DJGPP) && !defined(__CYGWIN32__) Check_Type(path, T_STRING); if (chroot(RSTRING(path)->ptr) == -1) diff -ur ruby-0.99.4-961212.org/ext/socket/socket.c ruby-0.99.4-961212/ext/socket/socket.c --- ruby-0.99.4-961212.org/ext/socket/socket.c Mon Nov 18 17:33:41 1996 +++ ruby-0.99.4-961212/ext/socket/socket.c Thu Dec 12 14:39:16 1996 @@ -136,6 +136,7 @@ bsock_getsockopt(sock, lev, optname) VALUE sock, lev, optname; { +#if !defined(__CYGWIN__) int level, option, len; struct RString *val; OpenFile *fptr; @@ -152,6 +153,9 @@ val->len = len; return (VALUE)val; +#else + rb_notimplement(); +#endif } static VALUE @@ -681,6 +685,7 @@ sock_s_socketpair(class, domain, type, protocol) VALUE class, domain, type, protocol; { +#if !defined(__CYGWIN__) int fd; int d, t, sp[2]; @@ -689,6 +694,9 @@ rb_sys_fail("socketpair(2)"); return assoc_new(sock_new(class, sp[0]), sock_new(class, sp[1])); +#else + rb_notimplement(); +#endif } static VALUE diff -ur ruby-0.99.4-961212.org/file.c ruby-0.99.4-961212/file.c --- ruby-0.99.4-961212.org/file.c Wed Oct 2 18:31:30 1996 +++ ruby-0.99.4-961212/file.c Thu Dec 12 14:26:43 1996 @@ -867,7 +867,7 @@ mode = NUM2INT(vmode); GetOpenFile(obj, fptr); -#ifdef DJGPP +#if defined(DJGPP) || defined(__CYGWIN32__) if (chmod(fptr->path, mode) == -1) rb_sys_fail(fptr->path); #else @@ -925,7 +925,7 @@ OpenFile *fptr; GetOpenFile(obj, fptr); -#ifdef DJGPP +#if defined(DJGPP) || defined(__CYGWIN32__) if (chown(fptr->path, NUM2INT(owner), NUM2INT(group)) == -1) rb_sys_fail(fptr->path); #else diff -ur ruby-0.99.4-961212.org/io.c ruby-0.99.4-961212/io.c --- ruby-0.99.4-961212.org/io.c Thu Dec 5 12:47:44 1996 +++ ruby-0.99.4-961212/io.c Thu Dec 12 14:26:43 1996 @@ -1121,7 +1121,7 @@ #endif } fw = rb_fopen(fn, "w"); -#ifndef DJGPP +#if !defined(DJGPP) && !defined(__CYGWIN32__) fstat(fileno(fw), &st2); fchmod(fileno(fw), st.st_mode); if (st.st_uid!=st2.st_uid || st.st_gid!=st2.st_gid) {