From: nobu@... Date: 2005-05-15T13:34:52+09:00 Subject: [ruby-dev:26171] Re: error.c 1.108 なかだです。 At Sun, 15 May 2005 12:51:24 +0900, Masatoshi SEKI wrote in [ruby-dev:26168]: > unistd.hをincludeすればよいような雰囲気です。 > ruby.hにてincludeしたらarray.cはコンパイルできました。 > マクロなどで囲まずに #include したらまずいです > よね、たぶん。 それはまずいですね。やはりtypedefは避けたほうがいいような気がし ます。#ifdefで確認できないと拡張ライブラリで面倒だし。 Index: configure.in =================================================================== RCS file: /cvs/ruby/src/ruby/configure.in,v retrieving revision 1.276 diff -U2 -p -r1.276 configure.in --- configure.in 14 May 2005 14:57:01 -0000 1.276 +++ configure.in 15 May 2005 04:29:35 -0000 @@ -227,5 +227,8 @@ AC_CHECK_SIZEOF(double, 8) AC_CHECK_SIZEOF(time_t, 0) -AC_CHECK_TYPES([pid_t, gid_t, uid_t]) +for id in pid_t gid_t uid_t; do + AC_CHECK_TYPE($id, [typ=$id], [typ=int]) + AC_DEFINE_UNQUOTED(rb_$id, $typ) +done AC_CACHE_CHECK(for prototypes, rb_cv_have_prototypes, Index: ruby.h =================================================================== RCS file: /cvs/ruby/src/ruby/ruby.h,v retrieving revision 1.112 diff -U2 -p -r1.112 ruby.h --- ruby.h 14 May 2005 14:57:01 -0000 1.112 +++ ruby.h 15 May 2005 04:33:23 -0000 @@ -83,22 +83,4 @@ typedef unsigned long VALUE; typedef unsigned long ID; -#ifndef HAVE_PID_T - typedef int rb_pid_t; -#else - typedef pid_t rb_pid_t; -#endif - -#ifndef HAVE_GID_T - typedef int rb_gid_t; -#else - typedef gid_t rb_gid_t; -#endif - -#ifndef HAVE_UID_T - typedef int rb_uid_t; -#else - typedef uid_t rb_uid_t; -#endif - #ifdef __STDC__ # include -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦